一、用户与组的定义
windows里面的用户可以不依赖于组而单独存在,单独存在的用户权限非常低。每个用户组具有特殊权限。在Linux操作系统里,账号就是能够使用系统的人,而账号必须在某一个组里面。一旦创建出一个新的账号,也会创建出一个同名的组,不能够独立出来。
二、用户
2.1 添加用户useradd命令
格式:useradd [选项]... 用户名
常用命令选项:
-u:修改用户id,id是用来表示账户身份的,管理员的id是0号,一般是从1000往后排
useradd -u 1100 c //再往后创建的时候回沿用最大的id值
-d:改变家目录路径,不指定的话,就放在home目录下
useradd -d /opt/ e
-s:登录的shell,默认的解释器是/bin/bash文件,cat /etc/shells可以查看解释器,/sbin/nologin解释器只能远程登录不能够本地登录
useradd -s /sbin/nologin e
-g:基本组,创建出来的用户会加入到指定的组中
useradd -g a g //把g用户加入到a组里面
-G:附加组,一个用户可以存在于多个组,添加更多权限,重置附加组,不能同时添加多个附加组
useradd -G b h //把h用户附加到b组里,查询h用户情况如下
uid=1003(h) gid=1003(h) 组=1003(h),1001(b)
2.2 查询用户方法
cat /etc/passwd可以查看Linux所有用户
root:x:0:0:root:/root:/bin/bash //用户名:x:uid:gid:家目录:解释器地址
id 用户名 //可查看某个用户
uid=1001(b) gid=1001(b) 组=1001(b) //uid(账户名)、gid(组名)、附加组id(组名,一定包含基本组)
su - root 可以切换用户
2.3 设置用户密码
要登录某个用户,必须给用户设置密码。
①交互式设置密码方式
passwd 用户名 //管理员拥有最高权限,可设置任意用户的密码,而普通用户只能设置自己的密码,无权修改他人密码
②非交互式设置密码方式
首先echo是一个回声命令,输入什么系统就会返回什么
例:echo 123 //系统返回123
格式:echo '密码'|passwd --stdin 用户名 // |管道符将前面的输出结果交由后面处理,stbin表示以非交互式配置密码
2.4 编辑文本的小技巧
> 重定向:可以把某些文字写到某些文件中,抹掉原来的内容 //echo abc > /opt/abc
>> 追加重定向:把文字换行追加到文件中,不抹掉原来的内容
2.5 删除用户userdel
格式:userdel 用户名
选项:
-r:完全删除用户记录,即把用户在home目录下的文件全部删除
2.6 修改用户usermod
usermod [选项]... 用户名
选项和useradd用法一样
三、组
3.1 查看组
cat /etc/group 查看组
3.2 添加组groupadd
groupadd 组名
选项:
-g:修改组号 //groupadd -g 1888 group2
3.3 查看文档里面的某几行
head -数字(前几行) 路径下的文件
tail -数字(后几行) 路径下的文件
head -3 /etc/group | tail -1 //只看第三行利用管道符
3.4 管理附加组gpasswd
选项:
-a添加:gpasswd -a 用户名 组名
-d删除:gpasswd -d 用户名 组名
3.5 修改组groupmod
选项:
-g:改组id //groupmod -g 1888 abc
-n:改组名 //groupmod -n abcd abc
3.6 删除组groupdel
groupdel 组名