即使對於 root 使用者,sshfs 權限也被拒絕
我使用sshfs將遠端文件夾從另一台伺服器掛載到本地伺服器。使用以下命令安裝遠端文件夾沒有問題:
sshfs -o allow_other someServerFromSSHConfig:/home/data/somefolder/ /some/local/folder
問題是我無法使用 chown 更改文件的所有者(無論 root 權限如何)我總是得到:
chown: changing ownership of ‘/somefolder/file.img’: Permission denied
訪問該文件夾的使用者是 fuse 組的成員。即使我在 sshfs 中添加額外的掛載選項來設置所有者,因為
userx:groupx
我無法使用userx
和使用更改權限chown -R userx:groupx [...]
我希望能夠為已安裝文件夾中的文件設置使用者權限,但事實並非如此。
正如您在評論中所說,您連接為 data@remote_server 這意味著您根本不能
chown
。sshfs 只是一個粗略的抽象,您只被允許執行您可以在其中執行的操作sftp data@remote_server
所有抽像都是洩漏的,這個也是。只有 root@remote_server 可以
chown
在 remote_server 上。您在 local_server 上是什麼使用者並不重要。請注意,
sftp root@remote_server
您通常需要PermitRoot yes
或PermitRoot without-password
在遠端的/etc/ssh/sshd_config
這是有風險的。PS。預設情況下,sshd 根本不允許 root 登錄,因為
PermitRoot no
選項。所以通常你不能 sshfs root@remote_host。如果您想通過 root 測試 chown 行為,我建議您設置PermitRoot without-password
. 這意味著當公鑰添加到/root/.ssh/authorized_keys
. 使用此設置,root 無法僅通過提供 root 密碼登錄,因此它有點安全。PS2。如果您需要更高的安全性,您可以為這個文件共享設置另一個 sshd 實例;with
ForceCommand internal-sftp
和 withchroot
它會大大提高根安全性,但它需要使用新的 TCP 埠和新的防火牆例外。