Linux基础篇之用户管理

1.用户及用户组存在的意义

1.用户是操作者在系统中的身份标识
2.组是逻辑概念,是用户的集合
3.用户的存在为了限制权限
4.组的存在为了归类用户便于管理权限

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

1.用户在系统中就是文件中的字符串
2.每个字符串映射了该用户所用到的系统资源

vim /etc/ passwd

在这里插入图片描述
可见用户都是以字符串的方式存在与系统当中。

3.深入分析用户涉及到的配置文件及内容

路径信息
/etc/passwd用户信息库
/etc/group组信息库
/home/用户同名目录默认用户家目录
/etc/skel/所有文件用户环境配置文件模板
/etc/shadow用户认证信息
/etc/gshadow组认证信息

用户信息库:/etc/passwd

在这里插入图片描述
用户的信息包括:用户的名字,用户的密码(x为密码,安全起见已转移到其他文文件。密码在/etc/shadow),用户的id(二进制的十六为来表示用户id 0~65534,超级用户id为0,rhel7中系统id为1~99,登陆用户为1000~65534),用户的初始族id(主组),用户的说明,用户的家目录,用户所使用的shall。

用户组信息库: /etc/group

在这里插入图片描述
用户组信息库包括:组名称,组的密码(被移植到/etc/gshadow),组的id,组的附加成员。

home/用户同名目录

在这里插入图片描述

/etc/skel/所有文件

在这里插入图片描述
新用户建立时,系统会把/etc/skel/所有文件全部复制到家目录里。

/etc/shadow 用户认证信息

在这里插入图片描述
用户认证信息包括:用户的名称,用户的密码,用户密码最后一次被修改时间(是从1970年1月1日开始算起),用户密码最短有效期(这个期间改不了密码),最长有效期(这段时间里必须要修改密码,否则密码会过期),警告期(还有几天密码过期的提示警告),密码的非活跃天数(最后冻结时间过后的缓冲时间),账号的到期日。

/etc/gshadow组认证信息

在这里插入图片描述
组认证信息包括:组的名称,组的密码,组的管理员,组成员。

当我们记不住这么多路信息时,可以使用man 5+(相对路径)名称 来查询:
在这里插入图片描述

4.用户信息的查看

在这里插入图片描述
先建立一个新用户,再用cat /etc/ passwd命令查看。
在这里插入图片描述
可以看到我们新建的xng用户信息
或者用getett查看用户信息。
在这里插入图片描述
或者用 whoimi查看当前用户
在这里插入图片描述
还有一个查看用户信息的命令: id

命令功能
id -u查看用户的uid
id -g查看用户的gid
id -G查看用户所在的所有组的id
id -n显示名字而不显示id

在这里插入图片描述

5.用户身份的切换方式及环境

图形中的注销命令:点击右上角,选择用户,选择log out。

在这里插入图片描述
选择log out,然后登陆其他用户。但这种当法效率比较低。
我们可以使用在shall中以命令的方式切换用户。

[root@workstation Desktop]# gnome-session-quit --force

在shall中也可以用su对用户进行切换。

su 和 su-

su只切换用户身份,不切换用户环境
su -切换用户身份及用户

在这里插入图片描述
注意
1.切换的用户必须为已经存在的用户。
2.不要在shall中频繁使用su -(每切换一次会产生一个bash,托慢系统运行速度,占用系统资源。用完及时退出exit)
3.超级用户切换到普通命令不需要密码,普通用户切换到别的用户需要输入密码。

6.用户及用户组的建立及删除

为了使实验现象明显,我们可以建立一个监控,来监控/etc/passwd 和 /etc/group的后5行。

watch -n 1 'tail -n 5 /etc/passwd /etc/group ; ls -l /group'

在这里插入图片描述

groupadd 和 groupdel

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

userdel和 useradd

在这里插入图片描述
在这里插入图片描述
在使用userdel删除用户信息时,我们看到:用户信息被删除,但是用户的配置文件没有被删除。于是当我们删除用户时要用 usedel -r 来删除。

useradd的常用参数

useradd功能
-u指定用户的 uid
-g指定用户的 gid
-G指定用户的附加组
-c指定用户的说明
-d指定用户的家目录 , 默认为 /home/username
-s指定用户的默认shell

7.用户及用户组的信息管理

在不删除用户的前提下修改用户及组的信息
groupmod -g 修改主组信息
在这里插入图片描述
usermod -l 修改用户名称
在这里插入图片描述
usermod -u 用户id的修改…usermod相关的命令还有很多:

usermod功能
-l修改用户名称
-u修改用户的 uid
-g修改用户的 gid
-aG指定用户的附加组
-c修改用户的说明
-md修改用户的家目录 , 默认为 /home/username
-s修改用户的 shell 类型

注意:usermod -G修改附加组信息时,会将原来组信息删掉。如果只是添加附加组信息而不更改原有组的信息就必须用 usermod -aG来添加。

8.用户认证文件的内容分析

/etc/shadow 用户认证信息文件
在这里插入图片描述
每行被划分为9列,前边已经说过含义。建立一个监控来监控这些信息:

watch -n 1 tail -n 1 /etc/shadow

在这里插入图片描述
我们可以直接用超级用户passwd来修改密码
在这里插入图片描述
1.用户名称2.用户密码3.密码已经使用时间4.密码最短有效期5.密码最长有效期6.密码到期前警告7.密码非活跃天数8.密码到期日。前文已经说过了。
注意:将最后一次密码被更改的天数改为0时,登陆时强制修改密码。

9.用户认证管理

passwd:可以管理用户的密码属性,但不是所有属性都能修改i。
chage:可以修改密码的所有属性,但是不能该密码。

passwd功能
-e最后一次被更改的时间
-n最短有效期
-x最长有效期
-w警告期
-i非活跃天数
-d删除密码
-l锁定账号
-u解锁账号
-S对密码进行查看
chage功能
-l查看密码信息
-d修改密码最后一次更改时间
-m修改密码的最短有效期
-M修改密码的最长有效期
-W修改密码的警告期
-I设定账号非活跃天数
-E设定账号的最后到期日

10.用户权力的下放

我们知道,只有超级用户可以新建用户。当我们以普通用户身份建立新用户时会出现什么情况呢?
在这里插入图片描述
我们可以看到是不行的,要想student用户也可以新建用户,可以将超级用户的权力下放给stutent用户。
sudo 能把某些超级权限针对性的下放 , 并且不需要普通用户知道 root 密码 , 所以 sudo 相
对于权限无限制性的 su 来说 , 还是比较安全的
sudo 能把某些超级权限针对性的下放 , 并且不需要普通用户知道 root 密码 , 所以 sudo 相
对于权限无限制性的 su 来说 , 还是比较安全的sudo 执行命令的流程是当前用户切换到 root,
然后以 root 身份执行命令 , 执行完成后 , 直接退回到当前用户 ; 而这些的前提是要通过
sudo 的配置文件 /etc/sudoers 来进行授权。
在这里插入图片描述
查看主机名和useradd的相对路径。

在shall注解输入visudo进入配置文件

在这里插入图片描述
在visudo配置文件101行处添加student用户的root权限的useradd权限的下放,保存退出。visudo会自动检测语法错误,若有语法错误,则会出现警告。
在这里插入图片描述
无报错后切换到student普通用户进行用户新建
在这里插入图片描述
依然不行。所以我们必须要用sudo去调用执行的命令才能读取到我们编写过的visudo文件,直接执行命令是不读取文件的。
在这里插入图片描述
下放成功!但是需要输入student密码,我们可以添加NOPASSWD来实现免密操作:
student workstation.lab.example.com=(root) NOPASSWD: /usr/sbin/useradd。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值