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 位应用到某个目录中时,在该目录中创建的文件会自动分配给拥有该目录的组群。在此组中具有写和执行权限的任何用户现在可以在目录中创建、修改和删除文件。

下面的部分论述了如何创建组目录。

先决条件

  • 访问权限

流程

  1. 创建目录:

    # mkdir directory-name

    使用目录名替换 directory-name

  2. 创建组:

    # groupadd group-name

    用组群的名称替换 group-name

  3. 向组中添加用户:

    # usermod --append -G group-name username

    使用组群名称替换 group- name,并将 group-name 替换为组的名称。

  4. 将目录的用户和组群所有权与 group-name 组关联:

    # chgrp group-name directory-name

    用组群名称替换 group-name,并用 目录名替换 directory-name

  5. 设置写入权限,允许用户创建和修改文件和目录,并设置 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
  • 要删除用户、数据和元数据:

    1. 删除用户、其主目录、其邮件假脱机及其 SELinux 用户映射:

      # userdel --remove --selinux-user user-name
    2. 删除其他用户元数据:

      # rm -rf /var/lib/AccountsService/users/user-name

      此目录存储系统在主目录可用之前所需的有关用户的信息。根据系统配置,主目录可能无法使用,直到用户在登录屏幕进行身份验证。

      重要

      如果您没有删除此目录,之后又的重新创建同一用户,重新创建的用户仍将使用从已删除用户继承来的某些设置。

其他资源

  • userdel(8) 手册页。