創建用戶和群組、設定訪問權限、進程管理
1. 目標設定
好啦,我們即將進行一場密集的實作練習,你可以應用之前課程中學到的所有知識。我們會創建用戶,將他們組織到群組中,分配獨特的存取權限,以及管理系統中的進程。如果你在想:「這些是幹嘛用的啊?」,假設你是位系統管理員或者DevOps工程師,你需要配置伺服器以便團隊協作。或者,單純拯救自己的電腦避免一片混亂!現實生活中這類情況其實蠻常見的。
你的目標是為以下用戶和進程配置系統:
- 創建兩個用戶:
user1
和user2
。他們將在群組developers
中一起工作。 - 配置一個文件(例如
project.txt
),確保只有群組developers
的成員可以編輯它。 - 創建幾個進程(例如,使用命令
sleep
),並學習在必要時終止它們。 - 查看活動進程,確定哪些進程消耗最多的資源。
聽起來像個計劃吧?讓我們一步一步來實現它。
2. 第一步:創建用戶
1. 創建用戶
準備開始,我們來創建兩個用戶:
sudo adduser user1
sudo adduser user2
執行這些命令時,系統會要求你設置密碼並輸入每個用戶的描述。這裡我們不需要填寫多餘的數據,只需要按 Enter 就行了。
每個用戶會自動創建一個主目錄,路徑位於 /home
。你可以用以下命令檢查:
ls /home
如果你是在本地操作,別忘了用 sudo
來獲取管理員權限。如果你是在WSL環境中,要注意可能存有用戶相關的差異。例如,WSL中的默認用戶通常已經是系統管理員。
3. 步驟 2:創建群組並添加使用者
1. 創建群組
為了讓使用者可以共同合作專案,我們需要將他們加入到一個群組。首先,我們來創建一個名為 developers
的群組:
sudo groupadd developers
2. 添加使用者到群組
現在將使用者 user1
和 user2
添加到群組 developers
中。我們可以使用 usermod
指令來完成這個任務:
sudo usermod -aG developers user1
sudo usermod -aG developers user2
3. 確認群組成員資格
為了確認使用者成功添加到群組,請執行以下命令:
groups user1
groups user2
您應該會看到 user1
和 user2
是 developers
群組的成員。
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:進程監控
要追蹤系統負載,使用:
top
— 實時運行:top
在這裡你可以看到處理器負載、內存和活躍進程。使用快捷鍵
k
,可以直接在介面中終止進程。htop
— 更方便的介面(如果你已安裝):
退出請按htop
F10
。
8. 清單
完成所有步驟後,你需要確認:
- 已創建兩個用戶
user1
和user2
。 - 已創建並設置群組
developers
,把兩個用戶都加入了該群組。 - 已創建檔案
project.txt
,該檔案僅對developers
群組開放訪問。 - 已通過命令
kill
、killall
和pkill
創建並結束了幾個進程。 - 你已成功通過
ps
、top
或htop
查看進程列表。
如果一切都完成了——恭喜你!你已經掌握了 Linux 系統中用戶、群組、訪問權限和進程管理的基本技能。願終端的強大力量與你同在!
GO TO FULL VERSION