对于复制的文件,internal-sftp -u 002将被忽略

我像这样configuration了OpenSSH

Subsystem sftp internal-sftp Match Group sftp ForceCommand internal-sftp -u 002 AuthorizedKeysFile /home/sftp/ssh/%u ChrootDirectory %h X11Forwarding no AllowTcpForwarding no 

此configuration正在工作,但有一个问题:从本地驱动器复制到sftp的文件或文件夹保留其权限(通常为755 ),没有其他sftp-user可以访问它们。

其他sftp-users只有拥有完全的权限,如果有人创build一个文件夹或文件或复制775权限的文件。

有没有办法让sftp-directory中的所有文件都有775权限? 目前我正在使用chmod -R 775 /home/sftp/files/来手动设置它,但这不是我想要的解决scheme…

谢谢

有了这个设置,这是不可能的,因为如果原始权限较低, umask是不够强的工具来强制权限。 有几个解决scheme如何继续这个:

  • 首先是您提到的chmod ,您需要定期运行以使所有用户都可以访问所有文件。

  • 另一种解决scheme是-m切换sftp-server ,通过强制新上传文件的确切权限解决此问题。 但是这个特性并不在上游,但是至less在RHEL / Fedora中可用,特别是在这个用例中。