Ssh
debian internal-sftp -u 0002 umask 無法正常工作 - 缺少執行權限
我一直在這裡搜尋,但找不到類似的問題。
我已經設置
SSH
和sftp
伺服器debian 7
,問題是umask
應用沒有執行權限。即使我更改了不同的值,也永遠不會應用執行權限。這是我的配置:
Match Group sftp-users ChrootDirectory /sftp/%u AuthorizedKeysFile /sftp/%u/.ssh/authorized_keys X11Forwarding no AllowTcpForwarding no # AuthenticationMethods publickey ForceCommand internal-sftp -u 0002
例子:
-u 0002
上傳的 file.txt 應該獲得 775 權限,但獲得 664 權限-u 0222
上傳的 file.txt 應該得到 555 但得到 444-u 0666
上傳的 file.txt 應該得到 111 但得到 000您能否讓我知道應該檢查哪些文件或您需要查看哪些其他配置?謝謝!
首先,您應該了解什麼是
umask
(手冊頁解釋得很好)。這不是完全否定您將獲得的權限,而是應該從上傳文件的原始權限中剝離的權限遮罩。這意味著,您需要考慮您嘗試上傳的文件的原始權限,通常是0666
,除非它是執行檔(但您永遠不知道使用者將要上傳的文件具有哪些權限) .這就是為什麼上游 OpenSSH 中有一個錯誤來請求您描述的功能,但它肯定不再被呼叫
umask
。如果你想使用這個功能,它已經在 Fedora/RHEL 中了。