linux新手基础3-用户的管理

linux新手基础3——用户的管理

1.用户存在的意义

用户就是系统使用者的身份。
在系统中用户存储为若干串字符+若干个系统配置文件。

2.组存在的意义

1)
查看当前的用户
whoami ##查看当前的用户
在这里插入图片描述
2)
系统中用户的查看
id ##查看指定用户的id
-u ##查看用户的uid
-g ##查看用户的gid
-G ##查看用户的所有组的id
-n ##显示名字而不是数字
-nG ##查看用户的所有组的名字
在这里插入图片描述

3.用户的切换

su - 用户名称
su - 中“-”表示用户身份切换的同时切换当前用户的环境
su - 执行时高级用户切换到低级用户不需要输入密码,低级用户切换到高级用户需要输入密码。平等级别的用户切换也需要输入密码。
在这里插入图片描述
敲重点:
每次su切换到其他用户操作后必须退出,然后再次切换到其他用户。

  gnome-session-quit --force     ##注销当前用户,然后再登录其他用户
   
  exit             ##退出当前shell

4.用户在系统中的存储方式

/etc/passwd
用户信息文件
用户名称:密码:uid:gid:对用户的说明:家目录:默认shell
uid:大于1000 不超过60000
gid:大于1000 不超过60000

/etc/group
用户组信息文件
组的名字:组密码:组id:组成员
/etc/shadow
认证信息文件
/etc/skel/.*
默认开启shell的配置,用户的骨文件
watch -n 5 命令
监视一条命令以5秒执行一次
/home/username
用户的家目录
在这里插入图片描述

5.用户管理命令

1)用户的删除
userdel
userdel student ##删除用户但不删除用户的配置文件
userdel -r student ##删除用户并删除用户的配置文件
在这里插入图片描述
2)用户的建立
用用户监控命令可以清楚的看到效果

watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home'
命令 含义
useradd hahaha 建立用户时,读取/etc/login.defs文件内容确定规则
useradd -u 1234 hahaha 指定用户uid
useradd -g 20 hahaha 指定用户初始组id,“20”用户组必须存在
useradd -G 21 hahaha 指定用户的附加组,“20”用户组必须存在
useradd -c “shuaige” hahaha 指定用户的说明
useradd -d /home/ka hahaha 指定用户的家目录
useradd -s /bin/sh hahaha 指定用户的默认shell
groupadd hahaha1 建立用户组
groupadd -g 666 hahaha1 建立用户组并指定用户组的id
groupdel hahaha1 删除用户组

3)更改用户信息
为了更好的看到效果,我们对操作进行监控:

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

更改用户名称:

usermod  -l redhat  westeos

在这里插入图片描述
更改uid:

 usermod -u 1234  redhat

在这里插入图片描述
更改初始组g:

usermod -g 666 redhat

在这里插入图片描述
更改附加组G:
usermod -G 4444 redhat
在这里插入图片描述
更改附加组G为空:

usermod -G ‘’ redhat

在这里插入图片描述
在不变的情况下添加附加组:

usermod -aG 1001 redhat

在这里插入图片描述
更改说明文字:

usermod -c ‘hahaha’ redhat
在这里插入图片描述
更改用户所使用的shell:

usermod -s /bin/sh redhat

在这里插入图片描述
更改家目录指向,但实际指向还是原来的:
usermod -d /home/lee redhat
在这里插入图片描述
更改家目录指向和实际指向:

usermod -md /home/hahaha redhat

注意:-md顺序不能改变
在这里插入图片描述
设置用户密码:

  passwd nihao##设置两次,不回显

在这里插入图片描述
reboot重启虚拟机即可看见新用户:
在这里插入图片描述

锁定nihao用户:

usermod -L nihao

在这里插入图片描述
reboot后重新登陆发现nihao用户消失
在这里插入图片描述

解锁用户nihao的操作:

usermod -U nihao

在这里插入图片描述
再次reboot重启虚拟机就可重新看见nihao用户出现
在这里插入图片描述

6.用户认证信息

/etc/shadows #记录用户认证信息此文件一共有九列
在这里插入图片描述
例如:westos:!! : 17091 : 0 : 99999 : 7 : : :

【1】:【2】:【3】:【4】:【5】:【6】:【7】:【8】:【9】
项目 含义
【1】 用户名称
【2】 用户密码(用户加密字符串,默认为sha512对称加密,如果加密字符串前出现“!”,则表示用户被冻结,)
【3】 密码最后一次被更改的时间(此时间从1970年1月1开始计算累计)
【4】 密码最短有效期(如果此位有设定数字,那么在此数字范围天数不得修改密码)
【5】 :密码最长有效期(用户必须在此有效期内更新密码,若超时则被冻结):
【6】 密码警告期限(在过期前指定天数内发送信息给用户)
【7】 非活跃天数(宽限登陆期限,此为默认为空,若有数值则在用户密码最长有效期过后仍然可以使用的天数)
【8】 帐号到期日(不可刷新,直接冻结,为空则永远不会到期)
【9】 用户自定义,目前没有启用

认证信息都在/ect/login中

passwd -S redhat  # 查看redhat用户密码信息

在这里插入图片描述

passwd -d redhat  #删除密码

在这里插入图片描述

用户密码管理:
以用户redhat为例

命令 含义
passwd redhat 更改普通用户redhat密码
passwd -l redhat 在用户密码前加入“!!”,锁住帐号
passwd -u redhat 解锁“!!”
usermod -L redhat 在用户密码前加入“!”,锁住帐号
usermod -U redhat 解锁帐号“!”

更改普通用户密码:
在这里插入图片描述
在用户密码前加入“!!”,锁住帐号:
在这里插入图片描述
passwd -u westos #解锁“!!”:
在这里插入图片描述

在用户密码前加入“!”,锁住帐号:
在这里插入图片描述
解锁帐号“!”:
在这里插入图片描述

注意:
普通用户改密码时
1.必须知道当前用户原始密码
2.密码不能和帐号名称相似
3.密码不能是纯数字或纯字母
4.密码不能是有序的字母和数字的组合

用户密码最后一次被更改时间:
以nihao用户为例

命令 含义
passwd -e nihao 会改变用户最后一次,只能改为0,改后强制用户改密码
chage -d 0 nihao 两个功能相似

在这里插入图片描述
在这里插入图片描述
用户密码最长有效期:
以nihao用户为例

命令 含义
passwd -x 30 nihao 设定在30天内必须修改密码
chage -M 40 nihao 两个功能相似

在这里插入图片描述
用户密码最短有效期:
以nihao用户为例

命令 含义
passwd -n 2 nihao nihao用户在2天之内不能修改密码
chage -m 2 nihao 两个功能相似

在这里插入图片描述
密码警告期限:
以nihao用户为例

命令 含义
passwd -w 2 nihao 密码过期前两天有警告输出
chage -W 2 nihao 两个功能相似

用户非活跃天数:
以nihao用户为例

命令 含义
passwd -i 1 nihao 密码过期后任然可登陆的天数
chage -I 1 nihao 两个功能相似

在这里插入图片描述

用户到期日:
以nihao用户为例

命令 含义
chage -E 2019-01-05 nihao nihao用户在2019-01-05日被冻结

在这里插入图片描述
用户自定义列,目前没有启动

7.用户授权

在用户授权之前先要清楚自己的主机名:

hostname #查看自己主机名
权力下放文件 用法
/etc/sudoers 此文件可以用vim直接编辑,但是不提供语法检测。也可以使用visudo编辑此文件,visudo命令是提供语法检测的
权力下放方式 用法
visudo 用户 主机名称=(得到用户身份) 命令(代码写在100行左右,规范书写要写注释)

例如给nihao用户下方root的useradd权力

nihao   localhost=(root)   /usr/sbin/useradd   #nihao用户可以在localhost主机以root身份执行useradd命令

在这里插入图片描述
必须要切换到nihao用户并使用sudo useradd lalala否则将会不被允许
在这里插入图片描述
若是既不想输入密码又想添加用户则需要在sudo中添加以下代码

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

猜你喜欢

转载自blog.csdn.net/weixin_44321116/article/details/85344861