好烦小窝

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.解决方案:


项目三结束 :@(抽烟)

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »