
Linux-红帽认证 RHCSA-04-创建、管理和删除本地用戶和组
一、用户和组
1、USER用户
用户账户为不同人员和运行的程序之间提供安全边界
用户使用用户名进行标识,操作系统为其分配唯一标识号(UID),通常使用用户账户需要密码
系统中的每个程序都以一个特定用戶运行,每个文件都有一个特定用户作为所有者
用戶帐戶有三种主要类型:超级用戶、系统用戶和普通用戶(superuser, system users, and regular users)
superuser
:root 用户,UID=0,具有系统的最高权限system user
:用于系统管理,例如运行服务,不需要用于系统登录regular user
:供用户进行日常系统管理,通常具有权限限制
id [Ezekielx]
:查看当前用户或指定用户信息
ls -l
:命令查看文件或目录的所属用户
cat /etc/passwd
:系统使用 /etc/passwd 文件存储有关本地用户的信息。/etc/passwd 文件的每一行都包含了有关某个用户的信息
root
:用户名x
:用户的加密密码历来储存在这里,现在是一个占位符0
:用户的UID编号0
:用户的主要组的GID编号root
:用户的简短注释/root
用户的主目录,以及登陆shell启动时的初始工作目录/bin/bash
:用户的默认shell程序,在登录时运行。一些账户使用 /sbin/nologin shell来禁止该账户进行交互式登录
2、GROUP组
组是需要共享文件和其他系统资源访问权限的用户的集合。组可以向一组用户授予文件访问权限
操作系统通过分配唯一标识号(GID)来区分不同的组
cat /etc/group
:系统使用 /etc/group 文件存储有关本地组的信息。
root
:组名称x
:以前的密码字段,现在是一个占位符0
:组的GID编号
3、主要组和补充组
每个用户有且仅有一个主要组。对于本地用户而言,这个组按照GID列在 /etc/passwd 文件中。主要组拥有用户创建的文件。
在创建普通用户时,会创建一个与用户同名的组,作为该用户的主要组。该用户是这个用户私有组的唯一成员。这种组成员资格设计简化了文件权限的管理,默认为区隔不同的用户组。
用户还可以有补充组。补充组中的成员资格存储在 /etc/group 文件中。根据所在的组是否具有访问权限,将授予用户对文件的访问权限,不论这些组是主要组还是补充组。例如,如果 user 用户有一个主要组 user 以及两个补充组 wheel 和 webadmin,那么该用户就可以读取这三个组中
任何一个组有权读取的文件。(相当于给 user 用户补充了组 wheel 和 webadmin 的权限)
二、管理本地用户账户
1、UID范围
红帽企业 Linux 使用特定的 UID 编号和编号范围来满足特殊用途
UID 0
:超级用户(root)账户 UIDUID 1-200
:静态分配给系统进程的系统账户 UIDUID 201-999
:供文件系统中没有自己的文件的系统进程使用。通常在安装需要它们的软件时,从可用池中动态分配它们。程序以这些“无特权”系统用戶身份运行,它们仅访问运行所需的资源UID 1000+
:分配给普通非特权用戶
2、用户的增删改查
useradd [kielx_1]
:添加一个名为 [kielx_1] 的用户
useradd -u [25565] [kielx_2]
:新增名为 [kielx_2] 的新用户,指定 UID 为 [25565]
useradd -d [/opt/kielx_3/] [kielx_3]
:新增名为 [kielx_3] 的新用户,指定家目录为 [/opt/kielx_3/]
useradd -s [/sbin/nologin] [kielx_4]
:新增名为 [kielx_4] 的新用户,指定登录 shell 为 [/sbin/nologin] 使其无法登录
useradd -g [kielx-5] [kielx_5]
:新增名为 [kielx_5] 的新用户,指定主要组(必须是已经存在的组)为 [kielx-5]
useradd -G [kielx-5] [kielx_6]
:新增名为 [kielx_6] 的新用户,指定补充组(必须是已经存在的组)为 [kielx-5]
userdel [kielx_6]
:删除用户,不删除用户的家目录
userdel -r [kielx_5]
:删除用户,以及用户的家目录
usermod -u [25564] [kielx_1]
:将用户 [kielx_1] 的 UID 改为 [25564]
usermod -d [/home/kielx_3/] [kielx_3]
:将用户 [kielx_3] 的家目录改为 [/home/kielx_3/]
usermod -s [/sbin/nologin] [kielx_4]
:将用户 [kielx_4] 的登录 shell 改为 [/bin/bash]
passwd [kielx_1]
:更改用户 [kielx_1] 的密码
3、组的增删改查
groupadd [Kielx_1]
:添加一个名为 [Kielx_1] 的组
groupadd -g [2803] [Kielx_2]
:添加一个名为 [Kielx_1] 的组,指定 GID 为 [2803]
groupdel [Kielx_2]
:删除组(如果组是现有用户的主要组,则无法删除。如果一定要删除主要组,需要更改主要组)
groupmod -g [2803] [Kielx_1]
:将组 [Kielx_1] 的 GID 改为 [2803]
groupmod -n [Kielx] [Kielx_1]
:将组 [Kielx_1] 的 名称 改为 [Kielx]
gpasswd -a [kielx_1] [Kielx]
:将用户 [kielx_1] 添加到组 [Kielx]
gpasswd -d [kielx_1] [Kielx]
:将用户 [kielx_1] 从组 [Kielx] 中删除
usermod -G [kielx_2],[kielx_3],[kielx_4]/[kielx-5] [kielx]
:将用户 [kielx_1] 的附加组设置为(覆盖)[kielx_2],[kielx_3],[kielx_4]/[kielx-5]
usermod -aG [kielx_2],[kielx_3],[kielx_4] [kielx]
:将组 [kielx_2],[kielx_3],[kielx_4] 添加到用户 [kielx_1] 的附加组中