Ssh

debian internal-sftp -u 0002 umask 無法正常工作 - 缺少執行權限

  • July 13, 2017

我一直在這裡搜尋,但找不到類似的問題。

我已經設置SSHsftp伺服器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 中了。

引用自:https://serverfault.com/questions/861609