LinuxMastery
•
•
By asdlkfj
LinuxMastery 04: 權限的數學題 chmod 與 chown
守護系統安全的閘門
Linux 的權限設計非常嚴謹,每個檔案都有三個身份的權限設定:User (擁有者)、Group (群組)、Others (其他人)。每個身份又可以擁有 Read (r)、Write (w)、Execute (x) 三種權限。理解這些數字背後的意義,是你能夠正確部署服務且不造成資安漏洞的關鍵。
核心指令詳解
chmod (change mode)
- 用途:修改檔案權限。
- 數字表示法 (Octal):
r= 4w= 2x= 1- 例如:
rwx= 4+2+1 = 7;rw-= 4+2 = 6;r-x= 4+1 = 5。
- 常見組合:
777:所有人皆可讀寫執行 (極度危險,除非測試,否則少用)。755:擁有者全權,其他人可讀可執行 (常用於腳本或執行檔)。644:擁有者可讀寫,其他人唯讀 (常用於設定檔)。600:只有擁有者可讀寫 (常用於 SSH Key 或密碼檔)。
- 範例:
# 讓腳本變成可執行 chmod +x script.sh # 設定設定檔為唯讀保護 chmod 644 config.yaml
chown (change owner)
- 用途:修改檔案擁有者與群組。
- 語法:
chown user:group file - 範例:
注意# 將網頁目錄的擁有權交給 nginx 使用者 chown -R nginx:nginx /var/www/html-R代表遞迴,會連同子目錄下的所有檔案一起修改。
實戰心法
當你的 Web Server 出現 "403 Forbidden" 錯誤時,90% 的機率是權限問題。首先檢查目錄是否具有 x 權限 (目錄需要 x 才能進入),接著檢查檔案是否具有 r 權限。不要為了方便直接給 777,這會讓駭客有機可乘,能夠在你的伺服器上植入後門。