注:

在 Oracle Linux 上创建用户和组

简介

以下教程分步介绍在 Oracle Linux 上执行用户和组管理的过程。您将创建用户和组、实施用户专用组并授予用户提升的权限。本教程针对 Oracle Linux 8 用户,但其他 Oracle Linux 发行版也提供了这些命令。

目标

在此实验室中,您将:

需要做哪些准备?

注意:使用免费实验室环境时,请参见 Oracle Linux Lab Basics 了解连接和其他使用情况说明。

管理用户帐户

在此部分中,您将使用命令行实用程序创建新用户帐户、查看添加新用户时更新的文件、修改用户帐户、为新用户设置密码以及以新用户身份登录。

  1. 打开终端并连接到 Oracle Linux 8 实例。

  2. 成为 root 用户。

    sudo su -
    
  3. root 用户身份添加一个名为 alice 的用户。

    useradd alice
    

    用户将添加到 /etc/passwd 文件中。

  4. 查看 /etc/passwd 文件中的 alice 项。

    grep alice /etc/passwd
    

    grep 输出

    输出显示如下:

    • 新用户的 UID 和 GID 相同 (1001)。
    • 已为新用户 (/home/alice) 创建起始目录。
    • 新用户的缺省 shell 为 /bin/bash
  5. 查看起始目录。

    ls -l /home
    

    ls 输出

    在此示例中,opc 用户已存在。
    因为 /etc/login.defs 中的 CREATE_HOME 参数设置为 yes,所以为新用户创建了起始目录。

  6. 查看 /etc/login.defs 文件中的 CREATE_HOME 参数。

    grep CREATE_HOME /etc/login.defs
    

    grep 输出

  7. 查看 /etc/default/useradd 中存储的新用户的默认设置。

    cat /etc/default/useradd
    

    默认设置

    SKEL 参数设置为 /etc/skel

  8. 查看 /etc/skel 目录的内容。

    ls -la /etc/skel
    

    滑雪文件

  9. 查看 alice 主目录的内容。

    ls -la /home/alice
    

    房屋目录

    SKEL (/etc/skel) 的内容将复制到新用户的起始目录中。

  10. /etc/group 文件中查看新的 alice 条目。

    grep alice /etc/group
    

    组文件

    由于 Oracle Linux 8 使用用户专用组 (user private group, UPG) 方案,因此在创建 alice 用户时会创建一个新的专用组 (aliceGID=1001)。

  11. 修改 alice 用户的 GECOS 信息。在修改 GECOS 信息之前和之后,查看 /etc/passwd 文件中的 alice 项。

    grep alice /etc/passwd
    usermod -c "Alice Smith" alice
    grep alice /etc/passwd
    

    用户模型

  12. alice 用户创建口令 AB*gh246。在为 alice 创建口令之前和之后,查看 /etc/shadow 文件中的 alice 项。

    grep alice /etc/shadow
    passwd alice
    grep alice /etc/shadow
    

    暗号

    alice!! 将替换为散列口令值。

  13. 退出 root 登录并以 alice 用户身份登录。在出现提示时提供 AB*gh246 的口令。

    exit
    su - alice
    

    登录

  14. 验证您是 alice 用户,并且您的当前目录是 alice 用户的起始目录。

    whoami
    pwd
    

    验证

  15. 退出 alice 用户的 shell 并成为 root 用户。

    exit
    sudo su -
    

    根

  16. root 用户身份添加一个名为 oracle 的用户,该用户将在本练习的后面使用。

    useradd oracle
    
  17. oracle 用户创建密码 XY*gh579

    passwd oracle
    

    oracle pwd

管理组帐户

在此部分中,您将创建新组帐户并将用户添加到此新组。

  1. root 用户身份添加名为 staff 的组。

    groupadd staff
    

    该组将添加到 /etc/group 文件中。

  2. 查看 /etc/group 文件中的最后 10 个条目。

    tail /etc/group
    

    尾巴输出

    新组的 GID (1003) 将增加 1。

  3. alice 用户添加到 staff 组。在 /etc/group 文件中查看 staff 组项。

    usermod -aG 1003 alice
    grep staff /etc/group
    

    添加用户

    alice 用户在 staff 组中具有辅助组成员资格。

  4. 查看 alice 的主组成员资格。

    grep alice /etc/passwd
    

    grep 输出

    alice 用户的主组仍为 1001

实施用户专用组

在本节中,您将使用 "User Private Groups"(用户专用组)方案向不同的用户授予对单个目录中文件的写入访问权限。

  1. root 用户身份创建 /staff 目录。

    mkdir /staff
    
  2. 查看 /staff 目录及其权限。

    ls -ld /staff
    

    ls 输出

  3. /staff 目录的组所有权更改为 staff 组。-R 选项(递归)为 /staff 中的文件和目录设置组。更改组所有权后,查看 /staff 目录及其权限。

    chgrp -R staff /staff
    ls -ld /staff
    

    经理

    /staff 目录的所有者仍为 root,但组现在为 staff

  4. /staff 目录上设置 setgid 位。然后查看 /staff 目录的权限。

    chmod -R 2775 /staff
    ls -ld /staff
    

    机组标识

    /staff 目录上的组权限已更改。

  5. oracle 用户添加到 staff 组。添加 oracle 用户后,查看 /etc/group 文件中的 staff 项。

    usermod -aG staff oracle
    grep staff /etc/group
    

    grep 输出

    aliceoracle 用户在 staff 组中都具有辅助组成员资格。

  6. 成为 oracle 用户。系统不会提示您输入 oracle 用户的密码,因为您当前是 root 用户。验证您是 oracle 用户,并且您的当前目录是 oracle 用户的起始目录。

    su - oracle
    whoami
    pwd
    

    oracle user, oracle 用户

  7. 显示 oracle 用户的组成员资格。

    groups
    

    组

    oracle 用户属于 oraclestaff 这两个组。

  8. 转至 /staff 目录。在 /staff 目录中创建一个名为 oracle_file 的新文件。显示新文件的权限和所有权。

    cd /staff
    touch oracle_file
    ls -l oracle_file
    

    oracle 文件

    staff 组的权限为读 / 写。

  9. 成为 alice 用户。在出现提示时提供 AB*gh246 的口令。确认您是 alice 用户。

    su - alice
    whoami
    

    寿司

  10. 显示 alice 用户的组成员资格。

    groups
    

    alice 组

    alice 用户属于两个组 -alicestaff

  11. 转至 /staff 目录。在 /staff 目录中创建一个名为 alice_file 的新文件。显示新文件的权限和所有权。

    cd /staff
    touch alice_file
    ls -l
    

    文件允许

    staff 组的两个文件具有读 / 写权限。

  12. 作为 alice 用户,使用 touch 命令更新 oracle_file 上的时间戳。查看文件以验证时间是否已更改。

    touch oracle_file
    ls -l
    

    动作感应器

    更新时间戳意味着对文件具有 alice 用户的写入权限,即使该文件由 oracle 用户创建也是如此。

  13. 退出 alice 用户的 shell 和 oracle 用户的 shell,以返回到 root 用户的 shell。确认您是 root 用户。

    exit
    exit
    whoami
    

    文件允许

选项 1:向用户授予提升的权限

在本节中,通过向 /etc/sudoers 文件添加条目向用户授予 sudo 权限。

  1. 成为 alice 用户。由于您当前是 root 用户,因此不会提示您输入 alice 密码。确认您是 alice 用户。

    su - alice
    whoami
    

    寿司

  2. 作为 alice 用户,尝试添加 newuser

    useradd newuser
    

    添加用户

    alice 用户没有添加 newuser 的权限。

  3. 在上一个 useradd 命令之前插入 sudo 命令以添加 newuser。在出现提示时提供 AB*gh246 的口令。

    sudo useradd newuser
    

    sudo 失败

    /var/log/secure 文件中会报告在未正确授权的情况下发出此管理员命令的尝试。

  4. 退出 alice 用户的 shell 以返回到 root 用户的 shell。查看 /var/log/secure 文件中的 sudoers 项。

    exit
    grep sudoers /var/log/secure
    

    grep sudoers

    尝试使用 /sbin/useradd 命令的 alice : user NOT in sudoers 条目位于 /var/log/secure 文件中。示例中显示了多个条目。您可能只有一个条目。

  5. root 用户身份,使用 visudo 命令编辑 /etc/sudoers 文件。

    visudo
    

    此命令使用 vim 编辑器打开 /etc/sudoers 文件。

  6. /etc/sudoers 文件中,添加以下行以授予 alice 用户运行 /sbin/useradd 命令的权限。

    alice   ALL=(ALL)       /sbin/useradd
    

    将突出显示新条目。保存更改并退出 visudo 命令。

    签证

  7. 成为 alice 用户。尝试在不使用 sudo 命令的情况下添加 newuser。插入 sudo 命令并再次尝试添加 newuser。在出现提示时提供 AB*gh246 的口令。

    su - alice
    useradd newuser
    sudo useradd newuser
    

    sudo 工作

  8. 验证是否已添加 newuser

    grep newuser /etc/passwd
    ls -l /home
    

    验证 sudo

    newuser 现在存在。使用 /etc/sudoers 文件中的 alice 项,alice 用户具有 sudo 特权来运行 /sbin/useradd 命令。

  9. 退出 alice shell 以返回到 root shell。使用 visudo 命令并从之前在此练习中添加的 /etc/sudoers 文件中删除 alice 条目。

    exit
    visudo
    

    突出显示要删除的条目。删除整个行,或者如本示例所示,插入 # 字符以注释掉该行。保存更改并退出 visudo 命令。

    删除条目

  10. 确认 alice 用户无法再添加新用户。成为 alice 用户。尝试使用 sudo 命令添加 anotheruser

    su - alice
    sudo useradd anotheruser
    

    其他故障

    /var/log/secure 文件中会报告在未正确授权的情况下发出此管理员命令的尝试。

  11. 退出 alice 用户的 shell 以返回到 root 用户的 shell。

    exit
    

选项 2:向用户授予提升的权限

在本节中,通过将用户添加到 wheel 组来授予 sudo 特权。

  1. root 用户身份查看 /etc/sudoers 文件中的 wheel 项。

    grep wheel /etc/sudoers
    

    轮子

    /etc/sudoers 文件中的 %wheel ALL=(ALL) ALL 项允许 wheel 组的任何成员执行任何命令(前面带有 sudo)。

  2. alice 用户添加到 wheel 组中。确认 alice 用户位于 wheel 组中。

    usermod -aG wheel alice
    grep wheel /etc/group
    

    增添轮

    用户 alicewheel 组中具有辅助组成员关系。

  3. 成为 alice 用户。由于您当前是 root 用户,因此不会提示您输入 alice 密码。确认您是 alice 用户。

    su - alice
    whoami
    

    寿司

  4. 作为 alice 用户,使用 sudo useradd 命令添加 lastuser。如果出现提示,请提供口令 AB*gh246

    sudo useradd thirduser
    

    加第三

  5. 验证是否已添加 lastuser。在插入 sudo 并提供 alice 密码之前,ls 命令将失败。这将确认 alice 用户具有 sudo 特权。

    grep thirduser /etc/passwd
    ls -la /home/thirduser
    sudo ls -la /home/thirduser
    

    确认第三个

更多学习资源

docs.oracle.com/learn 上浏览其他实验室,或者在 Oracle Learning YouTube 渠道上访问更多免费学习内容。此外,访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心