Linux 檔案權限機制是系統安全的基石。理解「使用者、群組、其他人」三層權限模型,搭配 ls -l 觀察屬性、chmod、chown、chgrp 修改權限與擁有者,是 Linux 管理者必修課。本文從生活化類比切入,詳細解析權限位元含義、目錄執行權限特性、數字與符號模式修改指令、檔案類型判別、FHS 目錄標準與磁碟分割規劃建議。
Linux 為多用戶系統,檔案擁有者 User (u)、所屬群組 Group (g)、其他人 Others (o) 分別擁有獨立的 讀 (r)、寫 (w)、執行 (x) 權限。
類比:一個家庭(群組)有三兄弟(使用者),各有私人房間(檔案),共用客廳(群組共享目錄)。root 為「萬能天神」,不受權限限制。
-rw-r--r-- 1 root root 1210 Feb 10 06:03 anaconda-ks.cfg
| 欄位 | 說明 |
|---|---|
| 1. 屬性 | 10 字元:第 1 字元為類型(-檔案、d目錄、l連結、b區塊裝置、c字元裝置),後 9 字元為 u/g/o 三組 rwx |
| 2. 連結數 | inode 連結計數,目錄包含子目錄數 |
| 3. 擁有者 | 帳號名稱 |
| 4. 群組 | 群組名稱 |
| 5. 大小 | Bytes |
| 6. 時間 | 最近修改時間(月 日 時:分) |
| 7. 檔名 | 以 . 開頭為隱藏檔 |
目錄需 x 權限才能 cd 進入、ls 列出內容。
例:drwxr--r-- 雖有 r,但無 x,其他人無法進入該目錄。
chgrp users tmp # 將 tmp 群組改為 users(須存在於 /etc/group)
chown test tmp # 擁有者改為 test
chown -R root:root tmp # 遞歸修改目錄下所有檔案擁有者與群組
數字對照:r=4, w=2, x=1,三組相加。
755 = rwxr-xr-x,740 = rwxr-----,644 = rw-r--r--
chmod 755 script.sh # 數字法
chmod u=rwx,g=rx,o=r file # 符號法:設定具體權限
chmod a+w file # 符號法:增加所有人寫入權限
chmod a-x file # 符號法:移除所有人執行權限
符號法運算子:= 設定、+ 增加、- 移除。未指定的權限位保持不變。
-):純文字 (ASCII)、二進位 (binary)d)l):類似捷徑,但修改連結檔即修改原檔b 區塊/硬碟、c 字元/鍵盤滑鼠),集中在 /devLinux 原生格式:ext2 → ext3 (Journaling) → ext4 / xfs / btrfs。
附檔名無法律效力,執行權限由屬性 x 決定。慣用副檔名:.sh 腳本、.tar.gz 壓縮、.html/.php 網頁、.pl Perl。
| 目錄 | 主要內容 |
|---|---|
| /bin, /sbin | 單用戶模式所需基本指令 (bin) 與系統管理指令 (sbin) |
| /boot | 核心映像 (vmlinuz)、initramfs、grub 開機載入程式 |
| /dev | 裝置檔 |
| /etc | 系統設定檔 (passwd, shadow, fstab, 網路設定等) |
| /home | 使用者家目錄 |
| /lib, /lib64 | 核心模組與基本程式庫 |
| /media, /mnt | 暫時掛載點 (USB、光碟、網路磁碟) |
| /opt | 第三方大型套件安裝目錄 |
| /proc, /sys | 虛擬檔案系統,反映核心與硬體狀態 |
| /root | root 家目錄 (權限 700) |
| /run | 開機以來的執行時資料 (PID、Socket 等) |
| /srv | 服務資料 (WWW、FTP 根目錄) |
| /tmp | 暫存檔 (權限 1777, sticky bit) |
| /usr | 非核心程式、套件、文件、原始碼 (/usr/bin, /usr/lib, /usr/local) |
| /var | 可變資料:日誌 (/var/log)、郵件、資料庫、快取、鎖定檔 |
將 /, /boot, /usr, /home, /var 獨立分割,兼顧安全性(損壞隔離)與便利性(升級保留 /home)。
典型分配:/ 256MB、/boot 50MB、/var 1GB+、/usr 與 /home 分占剩餘空間。
-rwxrwxrwx 代表?任何人可讀寫執行(含刪除)-rwxr-xr-- 指令?chmod 754 filename 或 chmod u=rwx,g=rx,o=r filenamechown, chgrpLinux 系統下視頻轉換工具 mencoder 與 ffmpeg 使用指南
Linux 刪除亂碼文件名文件:通過 inode 編號精準定位強制刪除
Linux Shell 文本處理利器 uniq 命令全解析:去重、計數、字段忽略與實戰案例
uClibc malloc 記憶體分配機制深度解析:堆管理與 FA 結構
Linux 系統時間與時區設定完整指南:date、hwclock、timedatectl
tcpdump 抓包實戰指南:過濾表達式、常用選項、輸出解讀與 Wireshark 配合分析
CentOS 編譯安裝 Apache HTTPD 2.4 完整教程:APR/APR-Util/PCRE 依賴鏈、configure 參數、目錄佈局