这一节我们将学到用户的管理
想要学习用户的管理,首先要明白什么是用户。
用户就是系统使用者的身份
在系统中用户存储为若干串字符+若干个系统配置文件
1.涉及到用户信息的配置文件:
/etc/passwd ##用户信息
用户:密码:uid:gid:说明:家目录:用户使用的shell
/etc/shadow ##用户认证信息
用户:密码:最后一次密码修改时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
/etc/group ##组信息
组名称:组密码:组id:附加组成员
/etc/gshadow ##组认证信息
/home/username ##用户家目录
/etc/skel/.* ##用户骨架文件
2.用户管理
建立用户:
useradd 参数 用户名字
-u ##指定用户uid
-g ##指定用户初始组信息,这个组必须已经存在
-G ##指定附加组,这个组必须已经存在
-c ##用户说明
-d ##用户家目录
-s ##用户所使用的shell,/etc/shells记录了用户能使用的shell的名字
删除用户:
userdel -r 用户名称 -r表示删除用户信息及用户的系统配置
组的建立:
groupadd -g ##建立组
groupdel 组名字 ##删除组
做以上实验的监控命令:
watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ====;ls -l/mnt'
用户id信息查看:
id 参数 用户
-u ##用户uid
-g ##用户初始组id
-G ##用户所有所在组id
-n ##显示名称而不是id数字
-a ##显示所有信息
用户信息更改:
usermod 参数 用户
-l ##更改用户名称
-u ##更改uid
-g ##更改gid
-G ##更改附加组
-aG ##添加附加组
-c ##更改说明
-d ##更改家目录指定
-md ##更改家目录指定及家目录名称
-s ##更改shell
-L ##冻结账号
-U ##解冻账号
3.用户权利的下放
在系统中超级用户可以下放普通用户不能执行的操作给普通用户
下放权力配置文件:/etc/sudoers
方法:
超级用户执行visudo进入编辑/etc/sudoes模式
格式:
获得权限用户 主机名称=(获得到的用户身份) 命令
test desktop0.example.com=(root) /usr/sbin/useradd
test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd
获得了权限后就要执行刚刚获得的权限啦!这里的执行可不同于那些属于自己全县范围内的命令执行方法。我们需要
sudo 命令 ##如果第一次执行sudo需要输入当前用户的密码
想要不输入密码,可以在下放权限时这样操作:
test desktop0.example.com=(root) NOPASSWD: /usr/sbin/useradd
加上 NOPASSWD: 就可以不用输密码啦
4.用户信息的修改
chage 参数 用户
-d ##用户密码最后一次修改的时间,如果设为0,用户登录系统后 必须修改自己的密码
-m ##最短有效期
-M ##最长有效期
-W ##警告期
-I ##用户非活跃天数
-E ##账号到期日期格式 -E "YYYY-MM-DD"