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,使用者可以有效地管理系統權限,確保資源的安全與適當存取。