Linux - 管理服务器的用户和组
理解用户账户和组
1.Linux系统用户账户分两种:普通用户账户和超级用户账户(root)
为了方便管理员的管理和用户工作的方便,产生了组的概念。组是具有相同特性的用户的逻辑集合,在做资源授权时可以把权限赋予某个组,组中的成员即可自动获得这种权限。一个用户账户可以同时是多个组的成员,其中某个组是该用户的主组(私有组),其他组为该用户的附属组(标准组)
理解: 组是一个包括用户账户的集合,可以直接赋予一个组某些权限,其对因的用户也可以直接获得对应的权限,一个用户可以同时属于多个组,其中某个主是该用户的主组(私有组),其他组为该用户的附属组(标准组)
2.
任务3-2
任务3-3 维护用户账户
1.修改用户账户
usermod命令:修改用户的属性
格式:usermod [选项] 用户名
参数:
参数 | 作用 |
---|---|
-c | 填写用户账户的备注信息 |
-d -m | 参数-m与参数-d连用,可重新指定用户的家目录并自动把旧的数据转移过去 |
-e | 账户的到期时间,格式为YYYY-MM-DD |
-g | 变更所属用户组 |
-G | 变更扩展用户组 |
-L | 锁定用户禁止其登录系统 |
-U | 解锁用户,允许其登录系统 |
-s | 变更默认终端 |
-u | 修改用户的UID |
2.禁用和恢复用户账户
禁用用户账户可以用passwd或usermod命令实现,也可以直接修改/etc/passwd或/etc/shadow文件
3.删除用户账户
要删除一个账户,可以直接删除/etc/passwd和/etc/shadow文件中要删除的用户所对应的行,或者用userdel命令删除
userdel命令:
userdel [-r] 用户名
(加-r可以将用户目录和文件一起删除)
任务3-4 管理组
1.维护组账户
创建组和删除组的命令与创建、维护账户的命令相似。创建组可以使用命令groupadd或者addgroup
创建新组(groupadd):
[root@Server01 ~]# groupadd testgroup
删除组(groupdel):
[root@Server01 ~]# groupdel testgroup
修改组(groupmod):
[root@Server01 ~]# groupmod [选项] 组名
选项:
-g 修改GID值
-n 修改组名称
-p 修改密码
2.为组添加用户(gpasswd)
在Red Hat Linux中使用不带任何参数的useradd命令创建用户时,会同时创建一个和用户账户同名的组,称为主组。当一个组中必须包含多个用户时,则需要使用附属组。在附属组中增加、删除用户都用gpasswd命令。gpasswd命令的格式为
gpasswd [选项] [用户] [组]
例如要把user1用户加入testgroup组,并指派user1为管理员,可以执行下列命令:
[root@Server01 ~]# groupadd testgroup
[root@Server01 ~]# gpasswd -a user1 testgroup
[root@Server01 ~]# gpasswd -A user1 testgroup
查看:tail -4 /etc/gshadow
xxx:!::
任务3-5 使用su命令
su命令
su命令可以解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切换到其他用户,比如从root管理员切换至普通用户
如:
[root@Server01 ~]# su - test
[test@Server01 ~]$
退出:
[test@Server01 ~]$ exit
任务3-6 使用常用的账户管理命令
1.vipw命令
vipw命令在功能上等同于“vi /etc/passwd”命令,但是比直接使用vi命令更安全。该命令的语法为:
[root@Server01 ~]# vipw
2.vigr命令
vigr命令在功能上等同于“vi/etc/group”命令,但是比直接使用vi命令更安全。vigr命令的语法为:
[root@Server01 ~]# vigr
3.pwck命令
pwck命令用于验证用户账户文件认证信息的完整性。该命令检测/etc/passwd文件和/etc/shadow文件每行中字段的格式和值是否正确。pwck命令的语法为:
[root@Server01 ~]# pwck
4.grpck命令
grpck命令用于验证组文件认证信息的完整性。该命令还可检测/etc/group文件和/etc/gshadow文件每行中字段的格式和值是否正确。grpck命令的语法为:
[root@Server01 ~]# grpck
5.id命令
id命令用于显示一个用户的UID和GID以及用户所属的组列表。在命令行输入id直接回车将显示当前用户的ID信息。id命令的语法为:
id [选项] 用户名
例如,显示user1用户的UID、GID信息的实例如下所示:
[root@Server01 ~]# id user1
uid=8888(user1) gid=1002(user1) 组=1002(user1),1011(testgroup),0(root)
6.whoami命令(我是谁)
whoami命令用于显示当前用户的名称。whoami命令与id -un命令的作用相同。
[user1@Server01 ~]$ whoami
User1
7.newgrp命令
newgrp命令用于转换用户的当前组到指定的主组,对于没有设置组口令的组账户,只有组的成员才可以使用newgrp命令改变主组身份到该组。如果组设置了口令,其他组的用户只要拥有组口令也可以将主组身份改变到该组。
应用案例如下:
实战应用:
1.情景需求:
2.解决方案:
项目三结束 :@(抽烟)