用户管理
1.用户和组的基本概念和作用
Users and groups:
·Every process (running program) on the system runs as a particular user.
·Every file is owned by a particular user.
·Access to files and directories are restricted by user.
·The user associated with a running process determines thee files and directories accessible to that process.
2.用户组信息存储的文件
(1)用户基本信息文件
/etc/passwd (冒号分割为7列字段)
root:x:0:0:root:/root:/bin/bash
用户名:x:uid:gid:描述:HOME:shell
root:用户名:登录系统的名字
X:密码占位符,具体内容不在这里
0:UID:用户的身份证号:
uid:0 特权用户
uid:1~499 系统用户
uid:1000+ 普通用户
0:GID:GROUP 组号
root:描述:比如经理manage
/root:家目录:登录系统时,所在目录
/bin/bash:登录shell:命令解释器
(2)用户密码信息文件
/etc/shadow (8列)
root:$6$19XvpYCU/pTSNi/Q$asfdRG0NF3ryELkvvkbXipB2OjsHts.o4bY9RRVnXzojMENpUopdJg.dvZdjMXj/9sdpZXm5/sgYxAlNZAHnU/::0:99999:7:::
“登录名”是与/etc/passwd文件中登录名相一致的用户账号
“口令”字段存放的是加密后的用户口令字,如果为空,则对应的用户没有口令,登录时不需要口令;星号代表账号被锁定;双叹号表示这个密码已经过期
$6$开头的,表明是用SHA-512加密的
$1$表明是用MD5加密的
$2$表明是Blowfish加密的
$5$是用SHA-256加密的
“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数,时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点时1970年1月1日。
“最小时间间隔”指的是两次修改口令之间所需的最小天数
“最大时间间隔”指的是口令保持有效的最大天数
“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数
“不活动时间”表示的是用户没有登陆活动但账号人能保持有效的最大天数(软限制。到期后多少天就不能用账号了)
“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相对账号的生存期,期满后,该账号就不再是一个合法的账号,也就不能再用来登陆了(硬限制)
“保留”
(3)组信息文件
/etc/group
root:x:0:
组名:组密码:组ID:组成员
3.用户/组管理
(1)用户
——创建用户 未指定选项
如果创建一个用户时,未指定任何选项,系统回创建一个和用户名相同的组作为用户的Primary Group
——创建用户 指定选项
useradd user01 -u 1101 //创建用户user01,指定uid
useradd user01 -d /aaa //创建用户user01,指定家目录
——删除用户
userdel -r user01
——用户密码
方法一:root修改其他用(alice)户密码 passwd alice
方法二:用户登录,自己修改密码 passwd
——组成员管理
——其它选项管理
usermod -s /sbin/nologin user01 //修改登录SHELL
(2)用户组
groupadd gr01 //添加组gr01
groupadd gr01 -g 2000 //添加组gr01,并指定gid为2000
grep 'gr01' /etc/group //查看/etc/group中组gr01信息
groupdel gr01 //删除组gr01
分类:
基本组:随用户创建,自动创建的同名组,显示在/etc/passwd
附加组:用户加入的其他组
基本组只有一个,附加组可以有多个
4.提权
永久提权Switching users with su
临时提权Running commands as root with sudo
以root身份授权普通用户:
vim /etc/sudoers
%wheel ALL=(ALL) ALL //允许wheel用户组中的用户在不输入该用户的密码的情况下使用所有命令
普通用户在使用命令时要使用sudo