CodeGym /Adesua ahorow /Docker SELF /創建用戶和群組、設定訪問權限、進程管理

創建用戶和群組、設定訪問權限、進程管理

Docker SELF
等級 2 , 課堂 6
開放

創建用戶和群組、設定訪問權限、進程管理

1. 目標設定

好啦,我們即將進行一場密集的實作練習,你可以應用之前課程中學到的所有知識。我們會創建用戶,將他們組織到群組中,分配獨特的存取權限,以及管理系統中的進程。如果你在想:「這些是幹嘛用的啊?」,假設你是位系統管理員或者DevOps工程師,你需要配置伺服器以便團隊協作。或者,單純拯救自己的電腦避免一片混亂!現實生活中這類情況其實蠻常見的。

你的目標是為以下用戶和進程配置系統:

  1. 創建兩個用戶:user1user2。他們將在群組developers中一起工作。
  2. 配置一個文件(例如project.txt),確保只有群組developers的成員可以編輯它。
  3. 創建幾個進程(例如,使用命令sleep),並學習在必要時終止它們。
  4. 查看活動進程,確定哪些進程消耗最多的資源。

聽起來像個計劃吧?讓我們一步一步來實現它。


2. 第一步:創建用戶

1. 創建用戶

準備開始,我們來創建兩個用戶:

sudo adduser user1
sudo adduser user2

執行這些命令時,系統會要求你設置密碼並輸入每個用戶的描述。這裡我們不需要填寫多餘的數據,只需要按 Enter 就行了。

每個用戶會自動創建一個主目錄,路徑位於 /home。你可以用以下命令檢查:

ls /home
提示:

如果你是在本地操作,別忘了用 sudo 來獲取管理員權限。如果你是在WSL環境中,要注意可能存有用戶相關的差異。例如,WSL中的默認用戶通常已經是系統管理員。


3. 步驟 2:創建群組並添加使用者

1. 創建群組

為了讓使用者可以共同合作專案,我們需要將他們加入到一個群組。首先,我們來創建一個名為 developers 的群組:

sudo groupadd developers

2. 添加使用者到群組

現在將使用者 user1user2 添加到群組 developers 中。我們可以使用 usermod 指令來完成這個任務:

sudo usermod -aG developers user1
sudo usermod -aG developers user2

3. 確認群組成員資格

為了確認使用者成功添加到群組,請執行以下命令:

groups user1
groups user2

您應該會看到 user1user2developers 群組的成員。


4. 步驟 3: 處理檔案和存取權限

1. 建立專案檔案

讓我們在其中一個用戶(例如 user1)的主目錄中建立檔案 project.txt

sudo -u user1 touch /home/user1/project.txt

指令 sudo -u 允許我們以另一個用戶的身份執行動作。

2. 更改檔案的擁有者和群組

將擁有者指定為 user1,群組為 developers,以便兩者擁有相同的存取權限:

sudo chown user1:developers /home/user1/project.txt

3. 設定存取權限

現在更改檔案的存取權限。使用 chmod 指令:

sudo chmod 660 /home/user1/project.txt

我們做了什麼?我們賦予了擁有者 user1 和群組 developers 讀寫權限 rw-,而其他人沒有任何權限。

您可以使用指令 ls 檢查存取權限:

ls -l /home/user1/project.txt

預期結果:

-rw-rw---- 1 user1 developers 0 日期 時間 /home/user1/project.txt

5. 步驟 4:啟動進程

1. 啟動進程

為了實驗,我們用 sleep 命令創建幾個 "長生命周期" 的進程:

sleep 300 &
sleep 400 &
sleep 500 &

每個 sleep 命令都因為 & 符號而在後台啟動。

要檢查進程列表,可以使用 ps 命令:

ps

ps aux 可以看到更多的信息:

ps aux | grep sleep

6. 步驟 5:結束進程

1. 透過 PID 結束進程

先找到某個進程的 PID(例如 sleep),然後結束該進程:

kill PID

這裡的 PID 是進程的識別碼,可以使用 ps 找到。

2. 透過名稱結束進程

如果你想結束所有 sleep 進程,可以用 killall 指令:

killall sleep

3. 使用 pkill

如果你記不住進程的完整名稱,pkill 可以幫助根據部分名稱結束進程:

pkill slee

7. 步驟6:進程監控

要追蹤系統負載,使用:

  1. top — 實時運行:

       top
    

    在這裡你可以看到處理器負載、內存和活躍進程。使用快捷鍵 k,可以直接在介面中終止進程。

  2. htop — 更方便的介面(如果你已安裝):

    htop
    
    退出請按 F10

8. 清單

完成所有步驟後,你需要確認:

  1. 已創建兩個用戶 user1user2
  2. 已創建並設置群組 developers,把兩個用戶都加入了該群組。
  3. 已創建檔案 project.txt,該檔案僅對 developers 群組開放訪問。
  4. 已通過命令 killkillallpkill 創建並結束了幾個進程。
  5. 你已成功通過 pstophtop 查看進程列表。

如果一切都完成了——恭喜你!你已經掌握了 Linux 系統中用戶、群組、訪問權限和進程管理的基本技能。願終端的強大力量與你同在!

1
Опрос
Linux 的第一批指令,  2 уровень,  6 лекция
недоступен
Linux 的第一批指令
Linux 的第一批指令
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION