x (執行/進入) 權限:缺少任一層 x 即無法遍歷路徑。w (寫入) 權限:上層目錄 w 權限不影響建立操作。此模式下客戶端不提供用戶名,Samba 使用 nobody 帳號存取。需確保 nobody 對共享目錄樹具備上述權限。
配置範例:
[home]
comment = Home Directories
path = /home
browseable = yes
writable = yes
[root]
comment = Root Directory
path = /
browseable = yes
writable = no
現象:即使 /home 目錄權限為 777,若客戶端連線到 [root] 共享 (路徑同為 /home 下的子目錄),Samba 的 writable = no 會直接拒絕寫入操作,檔案系統權限根本不會被檢查。
//server/home 而非 //server/root)[root] 共享的 writable = yes (但需評估安全風險)| 層級 | 檢查項目 | 指令 |
|---|---|---|
| 檔案系統 | 目錄 x 權限完整性 | namei -l /path/to/share |
| 檔案系統 | 目錄 w 權限 (建立檔案) | ls -ld /path/to/share |
| Samba 設定 | writable / read only | testparm -s | grep -A5 'share name' |
| Samba 設定 | force user / force group | 檢查是否強制切換身份 |
| SELinux/AppArmor | 安全模組阻擋 | ausearch -m avc -ts recent |
若使用 security = user (預設),客戶端需提供帳號密碼,Samba 會對應系統用戶,權限判斷基於該系統用戶身份,而非 nobody。