用户管理

用户与组存在的意义

通过建立用户和用户组,或者控制新建用户和用户组,可以控制用户访问系统的权限。

用户的查看

1.查看当前用户
whoami
用户管理

2.系统中用户的查看
id ##查看指定用户的id信息

id -u 用户名   ##查看该用户的uid,身份数字
id -g  用户名  ##查看该用户的gid,初始组信息
id -G 用户名   ##查看该用户所在的所有组(附加组)信息
id -n         ##显示名字而不显示数字,-Gn显示用户附加组名称但不显示对应 的身份数字(用数字记录用户身份)

用户管理

2**32=65534 0-65534 0是超级用户身份数字 1-999系统用户身份数字 1000-60000可以登陆系统的用户对应的身份数字

用户的切换

第一种方法:

gome-session-quit-force ##注销当前用户,在其他用户登录。

第二种方法:

su    -  用户名称

其中“-”表示在用户身份切换的同时,也切换用户的系统配置和当前用户环境。
su - 执行时,只有超级用户切换到低级用户不需要密码,其他都需要(低级到高级,平级之间)

用户管理

注意:每次su -切换到其他用户操作之后必须退出,然后再切换到其他用户,否则shell会发生错乱。

用户在系统中的存储方式

/etc/passwd 存储用户信息的文件
用户信息的组成:

用户名称:密码:uid:gid:说明:家目录;默认shell

查看系统文件/etc/shells,可以查看默认shell有哪些
/etc/group 存储用户组信息的文件
用户组信息的组成:

组的名字:组密码:组id:组成员

/etc/shadows 认证信息文件,存放用户信息

/etc/skel/.* 默认开启shell的配置,用户的骨文件

/home/username 用户的家目录

管理用户的命令

1.用户的添加
”监控用户信息变化的命令

watch -n 1 ' tail -n 3 /etc/paaswd  /etc/group ;ls -l  /home '

用户管理

useradd 用户名 ##建立该用户,在建立时会读取文件/etc/login.defs 的内容,确定规则。

useradd -u  8888 westos  ##建立名为westos的用户,并且指定它的uid 为 8888
useradd -g   21  westos  ##建立名为wetsos的用户,并且指定它的gid 为21(21用户组时必须存在的)
useradd -G   21  westos  ##建立名为wetsos的用户,并且指定它的附加组id 为21
useradd -c  "hahaha" westos ##建立名为wetsos的用户,并且指定它的说明为hahaha
useradd -s   /bin/sh westos ##建立名为wetsos的用户,并且指定它的默认shell 为/bin/sh
useradd -d   /home/lee westos ##建立名为wetsos的用户,并且指定它的家目录为 /home/lee

建立westos用户,可以发现用户与用户组最后一行信息变为westos信息
用户管理
在用户westos 存在时,再执行上述命令创建用户westos,系统会出现报错,因为westos用户已经存在,无法建立相同名字的用户。(解决方法:使用userdel删除该用户,再建立)
用户管理

2.用户的删除

userdel  用户名 ##删除用户,但不删除用户的配置问价
userdel  -r  用户名 ##删除用户的同时,也删除了用户的配置文件

3.用户组的添加
groupadd 用户组名称 ##建立该名称用户组
groupadd -g 888 westos ##建立一个名为wetsos的用户组,并指定它的用户组id 为888
当建立指定用户组为33的用户发生报错,因为改组不存在。解决方法:先建立用户组id为33的用户组,然后建立用户组id为33的用户。
用户管理

4.用户组的删除

groupdel  用户名称 ##删除该名称用户组

5.更改用户信息
uesrmod

usermod -l   新名称   westos ##更改westos为新名称
usermod -u    6666    westos ##更改用户westos 的uid为6666
usermod -g     21     westos ##更改用户westos 的初始组id为21
usermod -G    21      westos ##更改用户westos的附加组id为21
usermod -aG   72      westos ##t添加用户westos附加组,此附加组id 为72
usermod -G     ""     westos ##删除用户的所有附加组身份
usermod -c    "hello"  westos ##更改用户westos的说明为hello
usermod -d   /home/mnt  westos  ##更改用户westos的家目录(g指向)为/home/mnt
usermod -s   /bin/sh    westos ##更改用户westos 的shell(路径)为/bin/sh
usermod -L   westos    ##冻结用户wetsos
usermod -U  westos     ##解锁用户wesos

上述图片,执行上述命令可观察到
用户管理
usermod -G 1001 su更改此用户的附加组为1001,该命令会覆盖用户之前的附加组
用户管理
usermod -aG 72 su 更改su用户的附加组为72,该命令不会覆盖之前的附加组
用户管理
添加用户说明
用户管理

用户认证信息

监控用户信息的改变

watch -n 1 "tail -n3 /etc/passwd /etc/group ;ls -l "

用户管理
1./etc/shadow ###记录用户认证的信息

westos : !! :17895 : 0 :99999 : 7 : : :
westos 用户名称
!! 用户密码 (用户的加密字符串,默认用的加密方式为sha512对称加密,如果加密字符串前出现“!”,那么该用户被冻结)
17895 用户密码最后一次被修改的时间(在距今17895天时被修改)
0 用户密码的最短有效期 (如果此位置有设定数字,在此数字范围内的天数内是不能更改用户密码的)
99999 用户密码的最长有效期 (用户必须在此有效期内更改密码,如果超时此用户会被冻结
7 密码警告期限(在密码过期前的指定天数内会发送警告信息给用户)
用户的非活跃天数(此位默认为空,如果设定数值,那么在密码最长有效期过后仍然可以使用的天数)
用户的到期日(默认为空,表示账号一定会被冻结的时间点)
用户自定义列,目前尚未启用

2.用户密码设定
passwd westos ##更改westos用户密码
passwd -l westos ##在westos用户密码前加入“!!”表示账号被冻结
passwd -u westos ##可以在密码为空的时候使用,解锁两个“!!”
passwd -L westos ##在westos用户密码前加入“!”
passwd -U westos ##在密码不为空的时候使用,解锁一个“!”

passwd -l su 在用户密码前加!表示被冻结
用户管理
解除用户冻结

用户管理

修改用户密码(当设置的密码不满足要求系统会报错)
用户管理
注意:普通用户在修改密码时
1.必须知道当前用户的原始密码
2.密码不能与账号名称相似
3.密码不能是纯数字或纯字母,不能少于8位
4.密码不能是有序的字母和数字的组合

3.用户密码最后一次被修改的时间的设定

passwd  -e  westos  ##会改变用户最后一次修改密码的时间为0(用户在登录时会被强制更改密码)
chage  -d 0 westos ##两个命令功能类似

用户管理
4.用户密码最短有效期的设定

passwd  -n 1 westos ##westos用户在一天之内不能修改密码
chage  -m 1 westos 

用户管理
5.用户密码最长有效期的设定

passwd  -x  30  westos  ##设定westos用户在30天之内必须修改密码
chage  -M 30  westos

用户管理
6.用户密码警告期的设定

passwd  -w 2   westos ##密码在过期的前两天有警告输出
chage  -W 2 westos

用户管理
7.用户非活跃天数的设定

passwd  -i  1  westos   ##密码过期后可登陆系统一天
chage -I  1 westos

用户管理
8.用户到期日的设定

chage  -E  2018-11-11 westos ##westos用户会在2019-7-13日被冻结

用户管理
用户授权

1.用户权力下放文件为/etc/sudoers
此文件可以使用vim直接编辑,但是不提供语法检测
也以使用visodu编辑此文件,此命令提供语法检测

2,用户权利下放方式

visudo   ##进入文件/etc/sudoers,在100行左右进行授权

用户管理
用户 主机名称 =(得到的用户身份) 命令

tom       localhost=(root)          /usr/sbin/useradd ##tom用户在localhost主机上以root身份执行useradd命令
tom      localhost=(root)      NOPASSWD: /usr/sbin/useradd  ##免密执行

当给su普通用户授权时,具有建立用户功能

用户管理

上一篇:Linux系统中用户的管理


下一篇:一.Ansible的安装及部署