備註:

在 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 使用使用者專用群組 (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 -
    

    root

  16. root 使用者身分新增在本實驗室中稍後使用的使用者 oracle

    useradd oracle
    
  17. oracle 使用者建立 XY*gh579 密碼。

    passwd oracle
    

    oracle 密碼

管理群組科目

在這個區段中,您可以建立新的群組帳戶,並新增使用者至此新群組。

  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

實行使用者專用群組

在這個區段中,您可以使用「使用者專用群組」配置,為不同的使用者提供單一目錄中檔案的寫入存取權。

  1. root 使用者身分建立 /staff 目錄。

    mkdir /staff
    
  2. 檢視 /staff 目錄及其權限。

    ls -ld /staff
    

    ls 輸出

  3. /staff 目錄的群組擁有權變更為 staff 群組。-R 選項 (遞迴) 會設定 /staff 內檔案和目錄的群組。在變更群組擁有權之後檢視 /staff 目錄及其權限。

    chgrp -R staff /staff
    ls -ld /staff
    

    chgrp

    /staff 目錄的所有者仍然是 root,但群組現在是 staff

  4. /staff 目錄上設定 setgid 位元。然後檢視 /staff 目錄的權限。

    chmod -R 2775 /staff
    ls -ld /staff
    

    集合 ID

    /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 使用者

  7. 顯示 oracle 使用者的群組成員。

    groups
    

    群組

    oracle 使用者屬於兩個群組 - oraclestaff

  8. 變更至 /staff 目錄。在名為 oracle_file/staff 目錄中建立新檔案。顯示新檔案的權限與所有權。

    cd /staff
    touch oracle_file
    ls -l oracle_file
    

    oracle 檔案

    staff 群組的權限都是讀取 / 寫入。

  9. 成為 alice 使用者。請在提示時提供 AB*gh246 的密碼。確認您是 alice 使用者。

    su - alice
    whoami
    

    su alice

  10. 顯示 alice 使用者的群組成員身分。

    groups
    

    副群組

    alice 使用者屬於兩個群組 - alicestaff

  11. 變更至 /staff 目錄。在名為 alice_file/staff 目錄中建立新檔案。顯示新檔案的權限與所有權。

    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 使用者。系統不會提示您輸入 alice 密碼,因為您目前是 root 使用者。確認您是 alice 使用者。

    su - alice
    whoami
    

    su alice

  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 使用者擁有執行 /sbin/useradd 指令的 sudo 權限。

  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:將提升的權限授予使用者

在這個區段中,您可以將使用者新增至群組以授予 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 使用者。系統不會提示您輸入 alice 密碼,因為您目前是 root 使用者。確認您是 alice 使用者。

    su - alice
    whoami
    

    su alice

  4. alice 使用者身分使用 sudo useradd 指令新增 thirduser。若出現提示,請提供 AB*gh246 的密碼。

    sudo useradd thirduser
    

    加入第三

  5. 確認已新增該 thirduserls 指令會一直失敗,直到您插入 sudo 並提供 alice 密碼。這確認 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 Help Center