9.3. 从命令行管理用户
您可以使用命令行界面(CLI)来管理用户和组。这可让您在 Red Hat Enterprise Linux 环境中添加、删除和修改用户和组。
9.3.1. 使用命令行添加新用户
您可以使用 useradd
工具添加新用户。
先决条件
-
根
访问权限
流程
要添加新用户,请使用:
# useradd options username
使用
useradd
命令的选项替换 options,并使用用户名称替换 username。例 9.1. 添加新用户
添加用户 ID 为
5000
的用户sarah
,使用:# useradd -u 5000 sarah
验证
要验证新用户是否已添加,使用
id
工具程序。# id sarah
输出返回:
uid=5000(sarah) gid=5000(sarah) groups=5000(sarah)
其他资源
-
useradd
手册页
9.3.2. 使用命令行添加新组
您可以使用 groupadd
工具添加新组。
先决条件
-
根
访问权限
流程
要添加新组,请使用:
# groupadd options group-name
使用
groupadd
命令的命令行选项替换 options,并使用 group-name 替换 group-name。例 9.2. 添加新组
要添加组 ID 为
5000
的组sysadmins
,请使用:# groupadd -g 5000 sysadmins
验证
要验证新组是否已添加,使用
tail
实用程序。# tail /etc/group
输出返回:
sysadmins:x:5000:
其他资源
-
groupadd
手册页
9.3.3. 从命令行将用户添加到补充组中
您可以将用户添加到补充组中,以管理权限或启用对特定文件或设备的访问权限。
先决条件
-
root
访问权限
流程
要在用户的附加组中添加一个组,请使用:
# usermod --append -G group-name username
使用组群名称替换 group- name,并将 group-name 替换为组的名称。
例 9.3. 将用户添加到补充组中
要将用户
sysadmin
添加到system-administrators
组中,请使用:# usermod --append -G system-administrators sysadmin
验证
要验证新的组被添加到用户
sysadmin
的附加组中,请使用:# groups sysadmin
输出显示:
sysadmin : sysadmin system-administrators
9.3.4. 创建组目录
在 UPG 系统配置下,您可以将 set-group 身份权限 (setgid 位)应用到目录。setgid
位使得管理共享目录的组项目变得更加简单。当您将 setgid
位应用到某个目录中时,在该目录中创建的文件会自动分配给拥有该目录的组群。在此组中具有写和执行权限的任何用户现在可以在目录中创建、修改和删除文件。
下面的部分论述了如何创建组目录。
先决条件
-
根
访问权限
流程
创建目录:
# mkdir directory-name
使用目录名替换 directory-name。
创建组:
# groupadd group-name
用组群的名称替换 group-name。
向组中添加用户:
# usermod --append -G group-name username
使用组群名称替换 group- name,并将 group-name 替换为组的名称。
将目录的用户和组群所有权与 group-name 组关联:
# chgrp group-name directory-name
用组群名称替换 group-name,并用 目录名替换 directory-name。
设置写入权限,允许用户创建和修改文件和目录,并设置
setgid
位使其在 directory-name 目录中应用这个权限:# chmod g+rwxs directory-name
使用目录名替换 directory-name。
现在,
group-name
组的所有成员都可以在directory-name
目录中创建并编辑文件。新创建的文件保留group-name
组的组群所有权。
验证
要验证设置权限的正确性,请使用:
# ls -ld directory-name
使用目录名替换 directory-name。
输出返回:
drwxrwsr-x. 2 root group-name 6 Nov 25 08:45 directory-name
9.3.5. 在命令行上删除用户
您可以使用命令行删除用户帐户。除了删除用户帐户外,您还可以选择删除用户数据和元数据,如其主目录和配置文件。
先决条件
-
您有
root
访问权限。 - 用户当前存在。
确保用户已退出登录:
# loginctl terminate-user user-name
流程
要仅删除用户帐户,而不删除用户数据:
# userdel user-name
要删除用户、数据和元数据:
删除用户、其主目录、其邮件假脱机及其 SELinux 用户映射:
# userdel --remove --selinux-user user-name
删除其他用户元数据:
# rm -rf /var/lib/AccountsService/users/user-name
此目录存储系统在主目录可用之前所需的有关用户的信息。根据系统配置,主目录可能无法使用,直到用户在登录屏幕进行身份验证。
重要如果您没有删除此目录,之后又的重新创建同一用户,重新创建的用户仍将使用从已删除用户继承来的某些设置。
其他资源
-
userdel(8)
手册页。