我知道有很多这方面的问题,但没有为我工作。 所以我有一个启用了sshd的Ubuntu 4.8上的ftp服务器。 我想拥有上传的每个文件的所有者的组的写权限。
现在文件夹的权限是: drwxrwxr-x上传的每个文件都有权限-rw-r--r--
我已经尝试过但没有任何改变(直接在Mac上使用FileZilla 3.21.0或sftpd命令):
/etc/vsftpd.conf设置/etc/vsftpd.conf local_mask=0002 /etc/ssh/sshd_config设置Subsystem sftp /usr/lib/openssh/sftp-server -u 002或Subsystem sftp /usr/lib/openssh/sftp-server -u 0002 我没有重新启动vsftpd和sshd ,但仍然只有组的读取权限。 这是什么原因?
SFTP协议包括客户端为服务器上的文件设置属性的操作。 这意味着SFTP客户端可以设置上传文件的权限,而不pipeumask。
我可以想出三种方法来实现你想要的:
如果可能,请远程用户将其客户端设置为禁用对上传文件的设置权限。 例如,您可以在此WinSCP对话框中看到该设置。
在服务器上设置一个自动化进程来扫描包含这些文件的目录,并调整任何新上传的文件的权限。
禁用SFTP服务器中的SSH_FXP_SETSTAT操作。 对于OpenSSH服务器 ,您必须更改sftp-server程序的源代码。 市场上有商用的SSH / SFTP解决scheme,其中一个可能会禁用此function。