Linux系统下的用户管理

1.为什么要对用户进行管理

因为linux系统是一个多用户多任务的操作系统,管理好用户才能保证系统有条不紊的工作

2.查看当前用户以及当前用户信息

(1)查看当前用户:whoami
Linux系统下的用户管理_第1张图片
(2)查看当前用户的系统信息
用户信息包含7列,分别是用户名,用户密码,用户uid,用户gid,用户说明,用户家目录,用户默认shell。

id-u 显示当前用户的uid
id-g 显示当前用户的gid
id-G 显示当前用户所在的所有组的id
id-n 显示名字不显示id

Linux系统下的用户管理_第2张图片

3.用户管理

(1)新建用户:useradd

useradd 新建一个用户
useradd -u 888 用户名 指定用户的uid为888,并新建用户
useradd -g 888 用户名 指定用户的初始组的id为888 ,该组必须存在
useradd -G 888 用户名 指定用户附加组的id为888,改组必须存在
useradd -c XXX 用户名 制定用户的用户名
useradd -d /home/westos 用户名 指定用名的家目录
useradd -s /bin/sh用户名 指定用户的默认shell

在指定过程中已经新建用户
首先使用监控命令来监控用户的建立过程:watch - n 时间间隔

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

Linux系统下的用户管理_第3张图片注:监控界面显示了用户的信息文件、组信息文件和家目录信息。

(1)新建用户:Linux系统下的用户管理_第4张图片
(2)删除用户:userdel

userdel 用户名 删除用户,但不删除用户的配置文件
userdel -r用户名 删除用户同时删除用户的配置文件

Linux系统下的用户管理_第5张图片
注:上图中,使用userdel wes 命令虽然删除用户wes ,但没有删除wes的配置文件
(3)指定用户的id (uid)与初始组的id(gid)

useradd -u 1003 westos
useradd -g 1004  westos1

Linux系统下的用户管理_第6张图片
(4)给用户增加一个附加组(附加组的id必须存在)
Linux系统下的用户管理_第7张图片
(5)指定用户的说明

useradd -c “hello westos” westos

Linux系统下的用户管理_第8张图片
(6)指定用户的家目录

useradd -d /home/westos westos

Linux系统下的用户管理_第9张图片
(7)指定用户的默认shell

useradd -s /bin/sh westos1

Linux系统下的用户管理_第10张图片

4.用户组的管理

(1)组的建立

groupadd 建立组
groupadd 组名 新建组
groupadd -g 666 组名 新建组并指定组的uid

Linux系统下的用户管理_第11张图片
Linux系统下的用户管理_第12张图片

注:当建立一个用户组的时候,若显示已经存在,则直接删除再建立(这就是为什么每次实验前需要清空实验环境);
在建立一个用户组的同时它的gid会被同时给定,具体的范围可以查看一个文件预先知道;
如果想要自己指定uid,则先删除刚才建立的用户组,在建立的同时指定uid ### groupadd -g uid 用户组名字;

(2)组的删除:groupdel

Linux系统下的用户管理_第13张图片

注:建立用户组的同时也会建立它的家目录,同样删除用户组的同时也会删除它的家目录(这一点与用户的管理不一样);
用 户组不能重复建立,一定要先删除才可以建立;

5.用户信息的修改(不需要删除在重建用户,直接在原有用户上进行修改)

usermod -l 新名称 用户名 更改用户的名称
usermod -u uid 用户名 更改用户uid
usermod -g gid 用户名 更改用户的初始组id
usermod -G gid 用户名(id号) 更改用户的附加组,可以接组名,也可以接id
usermod -c “XXX” 用户名 指定用户说明文字
usermod -d /home/lee 用户名 更改用户家目录的指向(真实目录未必存在
usermod -md /home/lee 用户名
usermod -s /bin/sh 用户名 更改用户的shell
usermod -aG id 用户名 添加用户的附加组
usermod -G “” 用户名 删除用户所有附加组的身份

(1)修改用户的用户名

usermod -l wes westos

Linux系统下的用户管理_第14张图片Linux系统下的用户管理_第15张图片(2)修改用户的uid

usermod -u 888 wes

Linux系统下的用户管理_第16张图片(3)修改用户初始组的id

usermod -g 1002 wes  ##该组一定要存在

Linux系统下的用户管理_第17张图片(4)更改附加组

usermod -G 组名(或id) 用户名

附加组的作用:加到一个组才有资格,有权利。加入附加组是为了共享权力 ,与初始组不一样附加组的作用:加到一个组才有资格,有权利。加入附加组是为了共享权力 ,与初始组不一样
Linux系统下的用户管理_第18张图片(5)增加附加组

usermod -aG 组名(id) 用户名

Linux系统下的用户管理_第19张图片(6)删除附加组

usermod -G “” wes

Linux系统下的用户管理_第20张图片(7)修改用户的说明

usermod -c “westos” wes

Linux系统下的用户管理_第21张图片(8)修改用户的家目录指向(真实目录未必存在)

usermod -d /home/hehe wes

Linux系统下的用户管理_第22张图片Linux系统下的用户管理_第23张图片(9)修改用户的家目录(真实目录必须存在)

usermod -md /home/lala wes

Linux系统下的用户管理_第24张图片Linux系统下的用户管理_第25张图片(10)修改用户的shell

usermod -s /bin/sh wes

Linux系统下的用户管理_第26张图片

6.用户的切换

su -student

Linux系统下的用户管理_第27张图片注:su student 也可以切换用户,但是这种方式不加载系统环境配置

7.用户的存储方式

(1)用户信息文件: /etc/passwd,信息文件里面存储了用户的一些基本信息
包括的内容:用户名称:用户密码:uid:gid:说明:家目录:默认shell
Linux系统下的用户管理_第28张图片

(2)用户组信息文件: /etc/group,信息文件里面存储了用户所属组(用户组)的一些基本信息
包括的内容:组的名字:组的密码:组的id:组的成员
Linux系统下的用户管理_第29张图片
(3)认证信息文件: /etc/shadows,文件里面包括了一些认证信息,比如每个用户登陆时的密码
包括的内容:用户名称:密码(sha512非对称加密)
Linux系统下的用户管理_第30张图片
(4)默认开启shell的配置,用户的骨文件:/etc/skel/.*,骨文件里面存储了默认用户和系统对话工具的相关信息
(5)用户的家目录: /home/username,家目录指的是该用户建立的所属目录

8.用户信息认证

监控 watch -n 1 tail -n 3 /etc/shadow
Linux系统下的用户管理_第31张图片

该用户信息包含9项,
第一列 用户名称
第二列 用户密码的加密字符串,默认用的加密方式为sha512对称加密,如果加密字符串前出现“!”,则该用户的帐号被冻结
第三列 用户密码最后一次被修改的时间,此时间的计算是从1970-1-1日起累计的总时间天数
第四列 用户密码最短有效期限(用户在这个数字天数之内不能修改密码)如果此位有设定数字,那么在此数字范围内的天数内是不能更改用户的密码的
第五列 用户密码最长有效期限,用户必须在此有效期内更新密码,如果超时会被冻结
第六列 密码警告期限,在过期前指定天数内会发送警告信息给用户
第七列 用户的非活跃天数(加的期限),此位默认为空,如果设定数值,那么在密码最长有效期过后仍然可以使用的天数
第八列 用户到期日,默认为空,表示帐号一定会被冻结的时间点,此时间计算是从1970-1-1开始计算的累计天数
第九列 用户自定义列,目前没有启用

用户密码的相关操作:

passwd 用户名 更改用户的密码
passwd -l 用户名 在用户密码前加入“!!”
passwd -u 用户名 解开已经上锁的用户
usermod -L 用户名 在用户密码前加入“!”
usermod -U 用户名 在密码不为空的时候使用
passwd -d 用户名 清空用户的密码
passwd -e 用户名(chage -d 0 用户名 ) ##两个命令功能类似 改变用户最后一次更改密码时间为0,用户在登陆时会被强制更改密码
passwd -n 1 用户名 (hage -m 1 用户名) ###两个命令的效果一样 用户在一天之内不能修改密码
passwd -x 30 用户名(chage -M 40 用户名 ) ###两个命令的效果一样 设定用户在30天之内必须修改密码
passwd -w 2 用户名 (chage -W 2 用户名) 密码过期前两天有警告输出
passwd -i 1 用户名 (chage -I 1 用户名) 密码过期后仍可登陆系统的天数
chage -E 2019-6-6 用户名 用户在这一天会被冻结 注意:此时间是从1970-1-1开始计算的累计天数

(1)更改用户密码

passwd wes

Linux系统下的用户管理_第32张图片
Linux系统下的用户管理_第33张图片
(2)用户加密

passwd -l wes

Linux系统下的用户管理_第34张图片

usermod -L wes

Linux系统下的用户管理_第35张图片
(3)用户解密

passwd -u wes

Linux系统下的用户管理_第36张图片

usermod -U wes

Linux系统下的用户管理_第37张图片
(4)清空用户密码

passwd -d wes

Linux系统下的用户管理_第38张图片
``(5)用户密码最后一次被更改的时间

passwd -e wes

Linux系统下的用户管理_第39张图片(6)用户密码最短有效期:

passwd -n 1 wes
chage -m 1 wes

Linux系统下的用户管理_第40张图片(7)用户密码最长有效期

passwd -x 30 wes
change -M 30 wes

Linux系统下的用户管理_第41张图片
(8)密码警告期限

passwd -w 2 wes
chage -W 2 wes

Linux系统下的用户管理_第42张图片
(9)用户非活跃天数

passwd -i 1 wes
chage -I 1 wes

Linux系统下的用户管理_第43张图片(10)(6)用户到期日:

chage  -E 2019-6-6 用户名

Linux系统下的用户管理_第44张图片

9.用户授权

为了使某些普通用户具有超级用户的权力,此时需要超级用户对普通用户进行授权。
(1)先验证普通用户是否能够新建用户。
步骤一:先建立一个普通用户 useradd 用户名
步骤二:切换到新用户 su - 用户名 (查看是否为普通用户),在普通用户下敬爱能力新用户
Linux系统下的用户管理_第45张图片
若需要在普通用户下可以建立新的用户,此时需要超级用户对普通用户进行授权。
步骤一:打开一个文件 visudo (/etc/sudoers)
Linux系统下的用户管理_第46张图片
步骤二:在改文件的任意一行可以写要操作的东西(一般为了规范 在100行作用写)
Linux系统下的用户管理_第47张图片
步骤三:建立普通用户,在普通用户下测试,一定要用sudo
Linux系统下的用户管理_第48张图片Linux系统下的用户管理_第49张图片

你可能感兴趣的:(Linux系统下的用户管理)