一.用户的存在意义及方式
1、用户的存在意义
用户是操作者再系统中的身份,是系统最底层的安全机制的一部分,用户的存在可以使得系统的资源得到合理的分配。
2、用户的存在方式
用户在系统中以字符和文件的形式存在。
二.用户系统文件
用户在系统中的存储方式
文件 |
意义 |
/etc/passwd |
用户信息文件,用户名称:密码:uid:gid:说明:家目录:默认的shell。注:说明是指默认shell的指定有哪些可以查看系统中/etc/shells文件 |
/etc/group |
用户组信息文件,组名称:组密码:组id:组成员 |
/etc/shadows |
认证信息文件 |
/etc/skel/.* |
默认开启shell的配置,用户的骨文件 |
三.用户信息查看
1、查看当前用户信息的方式
2、系统中的用户查看的方式
命令 |
功能 |
id username |
查看指定用户的id信息 |
id -u username |
查看指定用户的uid |
id -g username |
查看指定用户的gid |
id -G username |
查看指定用户所在的所有组的id |
id -n username |
查看指定用户的名字而不显示id数字 |

四.监控用户的建立过程
使用watch指令实时监控,使用tail、head、管道符等截出所需的行数
watch 指令:
命令 |
功能 |
watch -n 1 date |
1是执行频率,指每秒查看一次 |
watch -n 1 “多条命令” |
|
watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;ls -l /home’ |
监控用户的信息 |

五.用户的建立和删除
1、用户的建立
命令 |
功能 |
useradd username |
建立名为username的用户,建立用户时,读取/etc/login.defs文件内容确定建立规则,此时用户信息不指定 |
2、用户的删除
命令 |
功能 |
userdel username |
删除用户,但不删除用户的配置文件 |
userdel -r username |
删除用户,并且删除用户的配置文件 |
3、建立用户时指定用户信息
命令 |
功能 |
useradd -u uid username |
指定用户的uid |
useradd -g 初始组id username |
指定用户的初始组id,该id必须是存在的 |
useradd -G 附加组id username |
指定用户的附加组id,该id必须是存在的 |
useradd -c “说明” username |
指定用户的说明 |
useradd -d /home/xxx username |
指定用户的家目录 |
useradd -s /bin/sh username |
指定用户的默认shell是什么 |

4、建立用户组
命令 |
功能 |
groupadd groupname |
建立名为groupname的用户组 |
groupadd -g 组id groupname |
建立以“组id”为id 的用户组 |
groupdel groupname |
删除名为groupname的用户组 |
注:指定之外的信息均是默认建立信息

五.如何更改用户信息
命令 |
功能 |
usermod -l newname username |
更改用户的名称 |
usermod -u uid username |
更改用户的uid |
usermod -g 组id username |
更改用户的初始组 |
usermod -G 组id username |
更改用户的附加组 |
usermod -aG 组id username |
添加用户的附加组 |
usermod -G “” username |
删除用户所有的附加组 |
usermod -c “说明” username |
指定用户的说明 |
usermod -d /home/xxx username |
更改用户的家目录的指向 |
usermod -md /home/xxx username |
更改用户的家目录 |
usermod -s /bin/sh username |
更改用户的默认shell |
usermod -L username |
将用户冻结 |
usermod -U username |
将冻结用户解锁 |



六.用户的切换
1、注销当前用户
命令 |
功能 |
gnome-session-quid --force |
注销当前用户,再用其他用户登录 |
2、用户切换
命令 |
功能 |
su - username |
切换至username用户 |
su - 中,“-”表示在用户身份切换时同时切换当前用户的环境,进入username用户后,默认在该用户的家目录;
该命令执行时,由高级用户切换到低级用户不需要输入密码,低级用户切换到高级用户、同等级用户之间的切换需要密码
注:每次使用命令切换到其他用户进行操作之后必须退出,然后再切换到另一用户

七.用户认证信息
1、用户认证信息都有什么
命令 |
功能 |
chage -d 或 passwd -e |
密码最后一次被更改的时间date of last password age |
chage -m或passwd -n |
最短密码改变时间minimum password age |
chage -M或passwd -x |
最长密码改变时间maximum password age |
chage -W或passwd -w |
密码过期前警报password warning period |
chage -I或passwd -i |
密码非活跃天数password inactivity period |
chage -E |
用户到期日account |

2、用户认证信息的管理
命令 |
功能 |
passwd -S username |
查看该用户的密码信息 |
passwd username |
更改该用户的密码 |
passwd -l username |
在该用户密码前加入“!!”(冻结) |
usermod -L username |
在该用户密码前加入“!”(冻结) |
passwd -u username |
解锁已被冻结的用户 |
usermod -U username |
解锁已被冻结的用户(在密码不为空时使用) |
passwd -d username |
清空该用户密码 |
注:
普通用户改密码时:
必须知道当前用户原始密码,密码不能和帐号名称相似,密码不能是纯数字或纯字母,若是,则长度要大于8,密码不能是有序的字母和数字的组合。
超级用户改密码时:
若密码不安全会警告,但无论什么安全强度的密码都可以被修改成功。
八.用户的授权
1、权力下放文件
/etc/sudoers
此文件可以用vim直接编译,但vim不提供语法检测(若语法错误,不提示)
也可以使用visudo编辑此文件,visudo命令提供语法检测。(若语法错误,则提示,输入e进入编辑修改错误,再保存,直至没有语法错误提示为止)

注:
命令 |
功能 |
hostname |
查看主机名 |
which useradd |
查看命令useradd所在的文件 |
NOPASSWD:/usr/sbin/useradd |
免密执行命令(第一次执行时需输入密码的情况) |

2、下放方式
visudo
100行左右(输入:100查找100行所在位置)
用户 主机名称=(得到的用户身份) 授权的命令
命令 |
功能 |
tom localhost=(root) /usr/sbin/useradd |
tom用户可以在localhost主机以root用户身份执行useradd命令 |
tom localhost=(root) NOPASSWD:/usr/sbin/useradd, /usr/sbin/userdel |
tom用户可以在localhost主机以root用户身份执行useradd命令和userdel命令,且不用输入密码验证身份 |

3、测试
su - tom
sudo useradd 123 |建立一个名为123的用户
sudo userdel -r 123 |删除一个名为123的用户
