RHCSA 考试 (EX200) 用户和组管理
介绍
在这篇文章中,我们将看到 Linux 用户和组管理,这适用于 RHEL 8 / 7 版本的 RHCSA 考试,我们将看到 Linux 用户和组的创建、修改、删除,可以通过命令或 GUI 工具来管理用户和组
对于 RHCSA 考试,我们有用户和组管理问题之一,通过创建具有不同场景的用户和组来练习,默认情况下创建的用户很少,每个用户都是为服务/应用程序使用而创建的。
必须注意的三个重要文件
- User /etc/passwd
- Group /etc/groups
- Shadow /etc/shadow
用户文件
/etc/passwd 文件包含用户名、密码、用户 ID、组 ID、组名、shell。
值用冒号(:)分隔,x 表示密码,存储在 /etc/shadow
文件中
[root@server1 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
- 1
- 2
- 3
- 4
- 5
组文件
/etc/group
包含在服务器中创建的组列表,用户与组映射
[root@server1 ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
- 1
- 2
- 3
- 4
- 5
shadow文件
/etc/shadow
文件由用户名、密码和密码到期组成
[root@server1 ~]# cat /etc/shadow
root:$6$mSW2hm02cqJh1wJh$NQVuSxJiaX4sY2MiMwQoXydkQ.49Tmp0RIVx6lQGrEk8E/jtdxeQPw8uc3YD9R3fTU8z9P8I1DUCofTobrm151::0:99999:7:::
bin::18358:0:99999:7::: daemon::18358:0:99999:7:::
daemon:*:18358:0:99999:7:::
- 1
- 2
- 3
- 4
根用户
root 用户或管理员用户将用户和组 id 设置为 0
[root@server1 ~]# id root
uid=0(root) gid=0(root) groups=0(root)
- 1
- 2
需要注意的几点
- 用户和组 ID 以 1000 开头,但是我们可以手动更改用户和组 ID
- 我们将创建组 web 和 db,并且用户到 web / db 组和一个用户有多个组
- 用户可以是单个组或多个组。root 用户始终可以覆盖用户/组权限。
用户管理
创建用户
使用不同的 UID 将用户创建为 user1 和 user2 和 user3
[root@server1 ~]# useradd user1
[root@server1 ~]# useradd user2
- 1
- 2
验证用户是否创建成功,现在可以看到 user1 和 user2 分别创建了用户/组 ID 1000,1001
[root@server1 ~]# id user1
uid=1000(user1) gid=1000(user1) 组=1000(user1)
[root@server1 ~]# id user2
uid=1001(user2) gid=1001(user2) 组=1001(user2)
- 1
- 2
- 3
- 4
设置密码
使用 passwd 命令设置密码,密码区分大小写,最少 8 个字符,使用 passwd 命令设置所有其他用户的密码。
[root@server1 ~]# passwd user2
Changing password for user user2.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@server1 ~]#
- 1
- 2
- 3
- 4
- 5
- 6
使用特定用户 ID 创建用户
在场景中,很少有应用程序需要特定的用户 ID 和组 ID
[root@server1 ~]# useradd -u 501 user6
[root@server1 ~]# id user6
uid=501(user6) gid=1004(user6) group=1004(user6)
- 1
- 2
- 3
组管理
创建组
我们将使用group命令创建两个组 web 和 db
[root@server1 ~]# groupadd web
[root@server1 ~]# groupadd db
- 1
- 2
验证是否已创建组
[root@server1 ~]# grep web /etc/group
web:x:1002:
[root@server1 ~]# grep db /etc/group
db:x:1003:user5
[root@server1 ~]# grep db /etc/group
- 1
- 2
- 3
- 4
- 5
具有特定组 ID 的组
在少数情况下,应用程序 /db 需要创建特定的组 ID,使用 groupadd / groupmod 命令中的 -g 选项,我们可以分配特定的组 ID
[root@server1 ~]# groupadd -g 555 testgroup
[root@server1 ~]# grep 555 /etc/group
testgroup:x:555:
- 1
- 2
- 3
- 4
创建新用户并使用特定组
我们将分配一个具有特定组的用户,而不是分配的默认组,我们将在组web中创建user3
[root@server1 ~]# useradd user3 -g web
- 1
创建 user4 并分配组db
[root@server1 ~]# useradd user4 -g db
- 1
创建user5,主组为web,辅助组为db
[root@server1 ~]# useradd user5 -g web -G db
- 1
验证创建的所有三个用户的用户和组 ID
[root@server1 ~]# id user3
uid=1002(user3) gid=1002(web) groups=1002(web)
[root@server1 ~]# id user4
uid=1003(user4) gid=1003(db) groups=1003(db)
[root@server1 ~]# id user5
uid=1004(user5) gid=1002(web) groups=1002(web),1003(db)
- 1
- 2
- 3
- 4
- 5
- 6
用户只能有一个主要组和多个次要组,主要组用-g表示,次要组用-G表示,多个次要组用-G group1, group2,…,groupX
用户/组修改
我们可以根据需要更改用户和组。假设我们要将用户更改为其他组或设置默认 shell 变量,我们可以使用以下方法
将辅助组添加到数据库,主组保持与 user2 相同
[root@server1 ~]# id user2
uid=1001(user2) gid=1001(user2) group=1001(user2)
- 1
- 2
我们要将 user2 辅助组更改为 db 并使用id命令验证它
[root@server1 ~]# usermod -G db user2
[root@server1 ~]# id user2
uid=1001(user2) gid=1001(user2) groups=1001(user2),1003(db)
- 1
- 2
- 3
在上面的例子中,我们可以看到 user2 的主要组是 user2,次要组是db
为用户添加多个组
添加一个或多个辅助组,现在 user2 将成为 user2 组的一部分,以及 web 和 db 作为辅助组
[root@server1 ~]# usermod -G db,web user2
[root@server1 ~]# id user2
uid=1001(user2) gid=1001(user2) groups=1001(user2),1002(web),1003(db)
- 1
- 2
- 3
在上面的示例中,我们可以看到 user2 的辅助组将是 web 和 db,我们还可以验证 /etc/group 中的更改也已更新
root@server1 ~]# grep user2 /etc/group
user2:x:1001:
web:x:1002:user2
db:x:1003:user5,user2
- 1
- 2
- 3
- 4
在上面的输出中,我们可以看到用户在 user2/web/db 组中
组修改
使用组修改命令,我们将测试组重命名为 devgroup
[root@server1 ~]# groupmod testgroup -n devgroup
[root@server1 ~]# grep 555 /etc/group
devgroup:x:555:
- 1
- 2
- 3
删除用户/组
我们要删除 user6 和组 devgroup,检查id命令输出,我们可以看到 user6 已经分配了组 devgroup
[root@server1 ~]# id user6
uid=501(user6) gid=555(devgroup) groups=555(devgroup)
[root@server1 ~]# userdel user6
[root@server1 ~]# groupdel devgroup
- 1
- 2
- 3
- 4
使用id命令验证命令
[root@server1 ~]# id user6
id: 'user6': no such user
[root@server1 ~]#
- 1
- 2
- 3
文章来源: blog.csdn.net,作者:wljslmz,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_43025343/article/details/124631986
- 点赞
- 收藏
- 关注作者
评论(0)