1. 簡介
Linux 是一個多使用者系統,允許多個使用者同時存取並使用系統資源。為了確保安全性,Linux 提供了一套強大的使用者與權限管理機制。
本章節將介紹 Linux 使用者管理、群組管理、權限設定,以及 sudo 權限的使用。
2. 使用者管理
2.1 新增使用者
在 Linux 中,可以使用 useradd 或 adduser 指令來建立新使用者。
sudo useradd -m -s /bin/bash newuser # 建立新使用者並建立家目錄
sudo passwd newuser # 設定新使用者密碼
選項解釋:
-m:建立使用者的家目錄/home/newuser-s /bin/bash:設定使用者的預設 shell
2.2 刪除使用者
若要刪除使用者,可使用 userdel 指令。
sudo userdel newuser # 刪除使用者,但保留家目錄
sudo userdel -r newuser # 刪除使用者並移除家目錄
2.3 查詢使用者資訊
id username # 顯示使用者 ID (UID) 和群組 ID (GID)
whoami # 顯示目前登入的使用者
cat /etc/passwd # 顯示所有使用者資訊
3. 群組管理
Linux 使用群組來管理使用者的存取權限,允許同一群組內的使用者共享資源。
3.1 建立與刪除群組
sudo groupadd mygroup # 建立新群組
sudo groupdel mygroup # 刪除群組
3.2 新增使用者到群組
sudo usermod -aG mygroup newuser # 將 newuser 加入 mygroup 群組
3.3 查詢使用者的群組
groups username # 顯示使用者所屬的群組
id username # 顯示 UID、GID 及群組資訊
4. 權限管理
在 Linux 中,每個檔案或目錄都有與之相關的 擁有者 和 權限,可使用 ls -l 來查看權限資訊。
ls -l filename
範例輸出:
-rw-r--r-- 1 user group 1234 Jan 1 12:00 file.txt
權限分為三部分:
- 擁有者權限(user,
u) - 群組權限(group,
g) - 其他人權限(other,
o)
權限表示:
r(讀取)w(寫入)x(執行)
4.1 修改檔案權限 (chmod)
使用 chmod 指令修改檔案權限。
使用數字模式 (chmod XXX filename)
chmod 755 script.sh # 設定擁有者可讀寫執行,其他人只能讀取與執行
chmod 644 file.txt # 設定擁有者可讀寫,其他人只能讀取
權限數字對應表:
4= 讀取 (r)2= 寫入 (w)1= 執行 (x)
使用符號模式 (chmod u/g/o +/-rwx filename)
chmod u+x script.sh # 給擁有者增加執行權限
chmod g-w file.txt # 移除群組的寫入權限
4.2 修改擁有者 (chown)
使用 chown 指令更改檔案擁有者或群組。
sudo chown newuser file.txt # 修改檔案擁有者
sudo chown newuser:mygroup file.txt # 修改擁有者與群組
5. sudo 權限管理
5.1 設定 sudo
Linux 允許特定使用者執行管理員權限的指令,需將使用者加入 sudo 群組。
sudo usermod -aG sudo username # 給予 sudo 權限
5.2 使用 sudo
sudo command # 以管理員身份執行指令
sudo -i # 進入 root 模式
6. ACL(進階存取控制)
除了 chmod 和 chown,Linux 也支援 ACL(Access Control List),允許更細粒度的權限控制。
6.1 設定 ACL 權限
sudo setfacl -m u:newuser:rwx file.txt # 給 newuser 設定讀寫執行權限
6.2 檢視 ACL 權限
getfacl file.txt
7. 結論
Linux 提供了強大的使用者與權限管理機制,透過 chmod、chown、sudo 和 ACL,使用者可以有效地管理系統權限,確保資源的安全與適當存取。