一.用户和用户组存在的意义
用户:限定权力
用户组:开放权力
二.用户的查看
1)查看当前用户
whoami ##查看当前用户
2)系统中用户的查看
id 唯一身份标示
id
-u ##查看用户的uid
-g ##查看用户的gid
-G ##查看用户所在的所有组的id
-un ##查看用户的显示名字而不显示id数字
三.用户切换
su-用户名称
su-中-表示在用户身份切换时同时切换当前用户的环境
su-执行时高级用户切换到低级用户不需要密码,低级用户切换到高级用户需要,平级也需要
注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户
从 root用户切换到student用户
从低级用户student切换到高级用户root需要密码
四.用户在系统中的存储方式
1)/etc/passwd 用户信息文件:
用户名称:密码:uid:gid:说明:家目录:默认shell
2)/etc/group 用户组信息文件:
组的名字:
组密码:组id;组成员:
3)/etc/shadows 用户的认证信息文件:
用户名称:
用户密码:
用户密码最后一次被更改的时间:
密码最短有效期:一定时间内不能更改密码:
密码最长有效期:时间长要更改:
密码警告期限;
密码非活跃期限:
密码到期日:
用户自定义位置,目前没有启用:
/etc/skel/.* 默认开启shell的配置,用户的骨文件
/home/username 用户的家目录
man 5 shadow 查看shadow的用户认证信息
五.用户的管理命令
1.用户的删除
userdel
userdel student 删除用户但不删除用户的配置文件
userdel -r student 删除用户并删除用户的配置文件
2)用户建立
用户信息监控命令 ##建立用户westos,删除westos,然后在使用每一条命令之前要删掉westos(userdel -r westos)
watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home'
useradd ###建立用户,建立用户时,读取vim /etc/login.defs 文件内容确定规则
useradd -u 8888 westos 指定用户uid
useradd -g 21 westos 指定用户初始组id,“21”用户组必须是存在的
useradd -G 21 westos 指定用户附加组id,“21”用户组必须是存在的 id westos 查看初始组和附加组
useradd -c “hello” westos #指定用户的说明
useradd -d /home/lee westos 指定用户家目录
useradd -s /bin/sh westos 指定用户的默认shell
依次是密码 uid gid
groupadd 建立用户组
groupadd -g 888 westos 建立用户组gid,并且##gid随便都可以
groupdel westos 删除westos这个组
3)更改用户信息
usermod
usermod -l 新名称 westos(旧名称) ##更改用户的名称
usermod -u 6666 westos 更改用户uid
usermod -g 21 westos 更改用户的初始组
usermod -G 21 westos 更改用户的附加组
usermod -aG westos 添加用户的附加组,不会去掉原始的附加组
usermod -G "" westos 删除用户所有附加组的身份
usermod -c "hello" westos 指定用户说明文字
usermod -d /home/lee westos 更改用户家目录的指向,上面变下面不变 要将家目录改回去才能执行下一条命令(md)
usermod -md /home/lee westos 更改用户家目录,上下都变
usermod -s /bin/sh westos 更改用户shell
usermod -L westos 冻结用户 passwd添加密码
usermod -U westos 解封用户
六.用户的认证信息管理
man 5 shadows #查看shadows的作用
/etc/shadows ###用户的认证信息文件:
此文件一共有九列:
用户名称:
watch -n 1 tail -n 1 /etc/shadow
用户密码:
passwd student 更改student 密码
passwd -l student ##在用户密码前加入‘!!’
passwd -u student unlock
usermod -L student ##在用户密码前加入’!‘
usermod -U student
passwd -d student 清空student密码
注意:
普通用户改密码时:
1.必须知道当前用户原始密码
2.密码不能和帐号名称相似
3.密码不能是纯数字或纯字母
4.密码不能是有序的字母和数字组合
5.用户密码最后一次被更改的时间:
passwd -e student ##会改变用户最后一次更改密码时间为0.
##用户在登陆时会更改密码
chage -d 0 student ##会改变用户最后一次更改密码时间为0.
##用户在登陆时会被强制更改密码
密码最短有效期:一定时间内不能更改密码;
passwd -n 1 student ##student用户在1天内不能修改密码
chage -m 1 student ##student用户在1天内不能修改密码
密码最长有效期:时间长要更改;
passwd -x 30 student ##student用户在30天内必须修改密码
chage -M 30 student ##student用户在30天内必须修改密码
密码警告期限:
passwd -w 12 student ##student用户在密码过期前两天有警告输出
chage -M 12 student ##student用户在密码过期前两天有警告输出
密码非活跃期限:
passwd -i 1 student ##student用户在密码过期后仍可以登录系统的天数
chage -I 1 student ##student用户在密码过期后仍可以登录系统的天数
用户到期日:
chage -E 2018-11-11 student ##student用户在2018-11-11会被冻结
用户自定义位置,目前没有启用:
passwd -S student ##查看student用户密码信息
kill -9 32 干掉32这个进程
passwd -l student ##在用户密码前加入‘!!’
passwd -d student 清空student密码
usermod -L student ##在用户密码前加入’!‘
passwd -e student
passwd -x 30 student ##student用户在30天内必须修改密码
passwd -w 12 student ##student用户在密码过期前两天有警告输出
七.用户授权
用户授权配置文件
/etc/sudoers
授权配置命令
visudo
规范操作:
文件100行左右 :100
普通用户 主机名称=(转换成新用户身份) 命令, 命令2, ....
普通用户 主机名称=(转换成新用户身份) NOPASSWD: 命令
示例:
westos desktop0.example.com=(root) /usr/sbin/userasdd ##执行命令要密码
westos desktop0.example.com=(root) NOPASSWD: /usr/sbin/userasdd ##免密执行命令
su - westos
sudo useradd hello