一.用户存在的意义
用户就是系统中使用者的身份,为了限制权限保护系统安全
二.组存在的一意义
组是为了共享一部分权力而设定的
三.用户的查看
1)
查看当前用户
whoami ##查看当前用户
2)
系统中用户的查看
id ##查看指定用户id信息
id
-u ##查看用户的uid
-g ##查看用户的gid
-G ##查看用户所在的所有组的id
-n ##显示名字而不显示id数字
示例:
[root@localhost Desktop]# id -u student
1000
[root@localhost Desktop]# id -g student
1000
[root@localhost Desktop]# id -G student
1000 10
[root@localhost Desktop]# id -un student
student
[root@localhost Desktop]# id student
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
四.用户切换
su - 用户名称
su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要
注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户
示例:
[root@localhost Desktop]# su - student ##不需要密码
Last login: Thu May 11 20:23:54 EDT 2017 on pts/0
[student@localhost ~]$ pwd ##环境的切换
/home/student
五.用户在系统中的存储方式
/etc/passwd
用户信息文件
用户名称:密码:uid:gid:说明:家目录:默认shell
/etc/group
用户组信息文件
组的名字:组密码:组id:组成员
/etc/shadow
认证信息文件
用户密码:
passwd student ###更改student密码
passwd -l student ###在用户密码前加入“!!”
passwd -u student -f ###去掉“!!”
usermod-L student ###密码前加一个“!”
usermod -U student
passwd -d student ###清空student密码
示例:
[root@localhost Desktop]# watch tail -n 2 /etc/shadow ##监控最后两行
[root@localhost Desktop]# passwd -l student ##加锁前面加两个!
Locking password for user student.
passwd: Success
[root@localhost Desktop]# passwd -u student ##解锁删除!!
Unlocking password for user student.
passwd: Success
[root@localhost Desktop]# passwd -d student ##删除密码
Removing password for user student.
passwd: Success
注意:
普通用户改密码:
1.必须知道当前用户原始密码
2.密码不能和帐号名称相似
3.密码不能是纯数字或纯字母
4.密码不能是有序的字母和数字的组合
用户密码最后一次被更改的时间:
passwd -e westos ##会改变用户密码最后一次更改密码时间为0
chage -d 0 westos##用户在登录时被强制更改用户两个命令功能类似
密码最短有效期:
passwd -n 1 westos ##必须过1天才能再次更改密码
chage -m 1 westos
密码最长有效期:
passwd -x 30 westos
chage -M 40 westos
密码警告期限:
passwd -w 2 westos ##密码过期前两天有提前警告
chage -W 2 westos
密码非活跃期限:密码30天过期之后,余留时间
passwd -i 1 westos ##密码过期仍可登录系统的天数
chage -I 1 westos
密码到期日:
chage -E 2018-11-11 ##westos在2018年11月11日被冻结
用户自定义位置,目前没有启动:
示例:
[root@localhost Desktop]# watch -n 1 'tail -n 3 /etc/shadow'
[root@localhost Desktop]# passwd -e westos ##会改变用户密码最后一次更改密码时间为0
Expiring password for user westos.
passwd: Success
[root@localhost Desktop]# su - westos ##进入westos
Last login: Sun Jul 15 10:07:40 EDT 2018 on pts/1
[westos@localhost ~]$ su - westos ##普通用户进入要改密码
Password:
You are required to change your password immediately (root enforced)
Changing password for westos.
(current) UNIX password: ##现在密码
New password: ##新密码
Retype new password:
Last login: Sun Jul 15 10:18:59 EDT 2018 on pts/1
Last failed login: Sun Jul 15 10:19:31 EDT 2018 on pts/1
There was 1 failed login attempt since the last successful login.
[root@localhost Desktop]# passwd -n 1 westos
Adjusting aging data for user westos.
passwd: Success
[root@localhost Desktop]# passwd -x 30 westos
Adjusting aging data for user westos.
passwd: Success
[root@localhost Desktop]# passwd -w 2 westos
Adjusting aging data for user westos.
passwd: Success
[root@localhost Desktop]# passwd -i 1 westos
Adjusting aging data for user westos.
passwd: Success
[root@localhost Desktop]# chage -d 0 westos
[root@localhost Desktop]# chage -m 2 westos
[root@localhost Desktop]# chage -W 2 westos
[root@localhost Desktop]# chage -I 1 westos
[root@localhost Desktop]# chage -E 2018-11-11 westos
/etc/skel/.*
默认开启shell的配置,用户的骨文件
用户名称:
/home/username
用户的家目录
6.用户的建立和用户信息管理
1)用户删除
userdel student ##删除用户但不删除用户配置信息
userdel -r student ##删除用户并删除用户配置信息
2)用户建立
用户信息监控命令
watch -n 1 'tail -n 3 /etc/passwd /etc/group; ls -l /home' ##每一秒输出一次三个文件的内容
useradd #建立用户时,读取/etc/login.defs
useradd -u 21 westos ###指定用户的uid
useradd -g 21 westos ###指定用户的初始组gid 用户组必须是存在的
useradd -G 21 westos ###指定用户的附加组
useradd -c “hello” ###指定用户的说明
useradd -d /home/lee westos ###指定用户的家目录
useradd -s /bin/sh/ westos ###指定用户的默认shell
示例:
[root@localhost Desktop]# useradd -u 21 westos
[root@localhost Desktop]# useradd -g 21 westos
[root@localhost Desktop]# useradd -d /home/lee westos
[root@localhost Desktop]# useradd -s /bin/sh/ westos
注意:每次执行完一次必须userdel -r westos才能继续下一个实验
3)用户组建立删除
groupadd ###建立用户组信息
groupadd hello ###建立用户组
groupadd -g 888 hello##建立用户组并指定用户组的id
groupdel hello ##删除用户
示例:
[root@localhost Desktop]# groupadd hello
[root@localhost Desktop]# groupadd -g 888 hello1
[root@localhost Desktop]# groupdel hello
[root@localhost Desktop]# groupdel hello1
4)更改用户信息
usermod -l 新名称 westos ###更改用户名称
usermod -u 6666 westos ###更改用户的uid
usermod -g 21 westos ###更改用户的初始组信息
usermod -G 21 westos ###更改用户附加组
usermod -aG 71 westos ###添加用户附加组信息
usermod -G “” westos ###删除用户所有添加族的
usermod -c “hello”westos ###指定用户说明
usermod -d /home/lee westos ###更改用户家目录路径
usermod -md /home/lee westos ###更改用户家目录指向位置
usermod -s “hello” westos ###添加说明信息
usermod -L ###冻结用户
usermod -U ###解封用户
示例:
[root@localhost Desktop]# groupadd -g 888 hello1
[root@localhost Desktop]# groupdel hello
[root@localhost Desktop]# groupdel hello1
[root@localhost Desktop]# usermod -l westos1 westos
[root@localhost Desktop]# usermod -l westos westos1
[root@localhost Desktop]# usermod -u 6666 westos
[root@localhost Desktop]# usermod -u 1001 westos
[root@localhost Desktop]# usermod -g 21 westos
[root@localhost Desktop]# usermod -g 1001 westos
[root@localhost Desktop]# usermod -G 1001 westos
[root@localhost Desktop]# usermod -G 21 westos
[root@localhost Desktop]# usermod -aG 21 westos
[root@localhost Desktop]# usermod -G "" westos
[root@localhost Desktop]# usermod -c "hello" westos
[root@localhost Desktop]# usermod -d /home/lee westos
[root@localhost Desktop]# usermod -d /home/westos westos
[root@localhost Desktop]# usermod -md /home/lee westos
[root@localhost Desktop]# usermod -L westos
[root@localhost Desktop]# usermod -U westos
7.用户授权
1)用户授权配置文件
/etc/sudoers
2)授权配置文件
visudo
3)规范操作
文件100行左右
hostname主机名称
普通用户 主机名称=(转换成的新用户身份) 命令1, 命令2 ...
普通用户 主机名称=(转换成的新用户身份)NOPASSWD:命令1, 命令2 ...
4)示例:
westos foundation194.ilt.example.com=(root) /usr/sbin/useradd ,/usr/sbin/userdel ##执行命令要密码
westos foundation194.ilt.example.com=(root) NOPASSWD:/usr/sbin/useradd ,/usr/sbin/userdel ##免密码执行
示例:
visudo100行添加
westos localhost=(root) /usr/sbin/useradd, /usr/sbin/userdel
[root@localhost Desktop]# su - westos ##切换westos用户
Last login: Sun Jul 15 10:06:33 EDT 2018 on pts/1
[westos@localhost ~]$ sudo useradd xue ##建立用户要输入输入密码
[sudo] password for westos:
[westos@localhost ~]$ id xue
uid=1004(xue) gid=1004(xue) groups=1004(xue)
注:(root) 之后加入NOPASSWD 则免密执行