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

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

我像这样配置了 OpenSSH

Subsystem sftp internal-sftp

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

此配置有效,但存在一个问题:从本地驱动器复制到 sftp 的文件或文件夹保留其权限(通常755),并且其他人无权sftp-user访问它们。

其他人sftp-users只有在有人创建文件夹或文件或复制具有 775 权限的文件时才拥有完全权限。

有没有办法让所有文件都sftp-directory具有775权限?目前我正在chmod -R 775 /home/sftp/files/手动设置,但这不是我想要的解决方案...

谢谢

答案1

使用此设置是不可能的,因为umask如果原始权限较低,则没有足够强大的工具来强制权限。 有几种解决方案可以解决这个问题:

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

  • 另一个解决方案是-mswitch for sftp-server,它通过强制对新上传的文件使用精确的权限来解决此问题。但此功能不是上游的,但至少在 RHEL/Fedora 中是可用的,特别是针对这种用例。

相关内容