執行 chmod +x 的要求是什麼?‘rw’ 是不夠的!
請看我下面的截圖。
使用者 chj 執行
chmod +x ichsize.out
,但因Operation not allowed 而失敗。ichszie.out 啟用了 world-rw 權限,但看起來還不夠。
-rw-rw-rw- 1 nobody nogroup 27272 May 26 18:51 ichsize.out
ichsize.out 的所有者是
nobody
,因為該文件是由 Samba 伺服器創建的,提供[projects]
如下目錄位置:[projects] comment = VS2019 Linux-dev project output path = /home/chj2/projects browseable = yes read only = no guest ok = yes create mask = 0666 #(everybody: read+write) directory mask = 0777 #(everybody: list+modify+traverse) hide dot files = no
Samba 客戶端以訪客身份訪問此共享,並請求創建 ichsize.out 文件。
該系統是基於 Debian 版本的 Raspberry Pi:11(bullseye)。Ubuntu 20.04 也有同樣的表現。
所以我想知道,如何編寫我的 smb.conf 以便 RasPi 上的任何使用者都可以
chmod +x
對該文件執行操作。
如果您不需要擔心擁有此共享中文件的使用者,您可以使用
force user
配置設置來允許 Samba 使用者執行諸如chmod
. 這將意味著所有文件似乎都由連接到共享的帳戶擁有(即,如果 Alice 和 Bob 都連接到共享,Alice 將看到她擁有所有文件,Bob 也會看到他擁有所有文件),但因此任何人都可以執行chmod
.例如,假設它
shareuser
是您的 Samba 伺服器上的一個有效使用者帳戶,它sharegroup
包含允許訪問此共享的一組使用者,並且/home/_share
存在並且由shareuser
至少具有以下權限的使用者擁有0700
:[Share] comment = Everyone owns these files path = /home/_share browseable = yes read only = no guest ok = no force user = shareuser valid users = "@sharegroup" ; vfs objects = acl_xattr recycle catia
或者我沒有測試過的,它允許來賓使用者:
[Share] comment = Everyone owns these files path = /home/_share browseable = yes read only = no guest ok = yes force user = shareuser
在加入域的上下文中,甚至可以讓 Samba 對具有真正 Windows ACL 和所有權的文件進行操作。例如,在 Windows 世界中,一個組可能擁有文件並有權更改訪問權限等。
guest ok = yes
在您的上下文中看到您的情況,我懷疑這不相關,但我為潛在的未來讀者提及它.另一方面,如果你真的是說,“我怎麼能寫我的
smb.conf
,以便RasPi 上的任何使用者都可以chmod +x
在那個文件上做”$$ my italics for emphasis $$那麼您應該知道
smb.conf
配置文件與 Pi 本身的使用者無關。本地 UNIX/Linux 控制項適用於 Pi 上的使用者,因此您無法chmod
在不屬於您的文件上執行。