基于Linux的用户管理

在进行用户管理之前,我们要先明确什么是用户以及用户的存在形式。
1)用户是操作者在系统中的身份,有了这个身份,系统才能识别我们是谁,才能给予我应有的权限。
2)用户是系统最底层的安全机制的一部分。
3)用户在系统中以字符和文件的形式存在

一、用户的查看

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

二、用户的切换

su - +用户名称
在这里插入图片描述
su - 中“-”标示在用户身份切换时,同时切换当前用户的环境
su - 执行时高级用户切换到低级用户不需要密码,低级切换至高级或平级时需要密码。
在这里插入图片描述
在这里插入图片描述
注意:每次su切换到其他用户操作后必须退出,然后再切换。否则会开启多个bash进程,导致身份错乱
在这里插入图片描述
在这里插入图片描述
在root超级用户也,打不开gedit。可以发现,用户之间发生错乱。
su 与 su -的区别:su -切换用户身份同时加载系统环境变量,su只切换用户身份

三、用户在系统中的存储方式

首先,我们输入vim /etc/passwd 查询用户信息文件。
在这里插入图片描述
获取用户信息。
在这里插入图片描述
以root:X:0:0:root:/root:/bin/bash为例
root(第一个)–用户名称
x---------------------密码(未显示)
0(第一个)------uid
0(第二个)------gid
root(第二个)–说明
root(第三个)–家目录
/bin/bash----------默认shell
“说明:默认shell的指定有哪些可以查看系统中/etc/shell文件“
/etc/group---------用户组信息的文件
在这里插入图片描述
以mail:x:12:postfix
mail--------组的名字:
x------------组密码:
12----------组id:
postfix-----组成员
/etc/shadows ##认证信息文件
在这里插入图片描述
/etc/skel/.* 默认开启shell的配置,用户的骨文件
/home/username 用户的家目录

四、用户管理命令

1)用户的删除 userdel
userdel +用户名 ##删除用户但不删除用户的配置文件
在这里插入图片描述
userdel -r +用户名 ##删除用户并删除用户的配置文件
在这里插入图片描述
2)用户的建立 useradd
用户信息监控命令
watch -n +数字(每几秒更新一次)“tail -n 3/etc/passwd /etc/group;ls -l /home”
在这里插入图片描述
可以看见右上角的监控时间,并定义为每秒更新一次
useradd -u +数字 +用户名 指定用户uid
在这里插入图片描述
useradd -g +数字 +用户名 指定用户初始id,且该id必须存在
在这里插入图片描述
最初不存在888的gid,因此先建立888的gid,再修改。
useradd -G +数字 +用户名 指定用户附加组id,且该id必须存在
在这里插入图片描述
useradd -c +文件名 +用户名 指定用户的说明
在这里插入图片描述
useradd -d +目录 +用户名 指定用户的家目录
在这里插入图片描述
useradd -s +目录 +用户名 指定用户的shell
在这里插入图片描述
groupadd ##建立用户组
groupadd -g +数字 +用户名 ##建立用户,并指定用户组id
groupdel ##删除用户组
在这里插入图片描述
该图片中定义了uid,gid以及system id 的范围
3)更改用户信息 usermod
usermod -l +新名称 +用户名 ##更改用户名词
在这里插入图片描述
usermod -u +数字 +用户名 ##更改用uid
在这里插入图片描述
usermod -g 数字 +用户名 ##更改用户初始组(必须存在)
在这里插入图片描述
usermod -G 数字/用户 +用户名 ##更改用户附加组(必须存在)
在这里插入图片描述
usermod -aG 数字/用户名 +用户名 ##添加用户附加组(必须存在)
在这里插入图片描述
usermod -G “” +用户名 ##删除用户所有附加组身份
在这里插入图片描述
usermod -c “abc” +用户名 ##指定用户说明文字(引号内不加说明则为清空)
在这里插入图片描述
usermod -d /home/cq +用户名 ##更改用户家目录的指向(该指向不一定存在)
在这里插入图片描述
usermod -md /home/cq +用户名 ##更改用户家目录(同时更改目录名称)
在这里插入图片描述
usermod -s /bin/sh +用户名 ##更改用户的shell
在这里插入图片描述
usermod -L/U +用户名 ##冻结/解锁用户

五、用户认证信息

/etc/shadow ##记录用户认证信息(man 5 shadow查询)
在这里插入图片描述
westos:!!:18170:0:99999:7:::
在这里插入图片描述
信息共9列
[1]westos:用户名称
[2]!!:用户密码,!!代表用户被冻结
[2]18170:用户密码最后一次被修改的时间
[4]0:用户密码对短有效期
[5]99999:用户密码最长有效期
[6]7:密码警告期限
[7]:用户非活跃天数,默认为空。若设定值,在密码最长有效期过后可以使用天数
[8] :用户到期日,默认为空,表示账号一定会被冻结的时间点
[9]:未启用

六、用户认证信息管理

passwd -S +用户名 ##查看用户密码
在这里插入图片描述
passwd -e +用户名 ##使用户密码到期
在这里插入图片描述
passwd -l +用户名 ##锁定用户密码
在这里插入图片描述
passwd -u +用户名 ##解锁用户密码
passwd -d +用户名 ##清空用户密码
在这里插入图片描述
注意:普通用户更改密码是:必须知道原始密码,密码不能与账号相似,密码不能是有序数字或纯字母,密码如果是纯数字或字母要>8,超级用户可以修改任意用户的密码且不需要知道原秘密(修改的密码必须是大于6个字符且是数字和字母的无序组合)
普通用户只能修改自身的密码

七、用户认证信息修改

在修改认证信息中,passwd指令与chage指令用法相同,但在参数上有一些差异
1、密码最后一个被更改时间
passwd -e +用户名 ##改变用户最后一次更改密码时间为0
##用户登陆时会被强制改密码
在这里插入图片描述
chage -d 0 +用户名
在这里插入图片描述
2、密码最短有效期
passwd -n 0 +用户名 ##用户在1天内不能修改密码
chage -m 0 +用户名
在这里插入图片描述
3、密码最长有效期
passwd -x 30 +用户名 ##用户必须在30天内修改密码
chage -M 30 +用户名
在这里插入图片描述
4、密码警告期限
passwd -w 1 +用户名 ##密码过期前一天有警告
chage -W 1 +用户名
在这里插入图片描述
5、用户非活跃天数
passwd -i 1 +用户名 ##密码过期后仍可登陆天数为1天
chage -I 1 +用户名
在这里插入图片描述
6、用户到期日
chage -E 2019-11-11 +用户名 ##用户在2019-11-11会被锁定
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值