我们有一台 Ubuntu 10.04 服务器。我该如何设置它,以便通过 SFTP 或 SSH 创建(或复制)的新文件具有 g+rw 和 g+rwx 权限(在适当的情况下)?
我还使用 setgid (chmod g+s),以便他们继承适当的组所有者。
答案1
在 /etc/ssh/sshd_config 中,您可以像下面这样传递标志和值 (-u 0002) 来设置 umask 值:
Subsystem sftp /usr/lib/openssh/sftp-server -u 0002
将 -u 0002 附加到配置文件的现有子系统 sftp 行。
之后,您需要重新启动 ssh 以使更改生效:
service ssh restart
答案2
在 /etc/ssh/sshd_config 中,更改以下内容:
Subsystem sftp /usr/lib/openssh/sftp-server
到:
Subsystem sftp /bin/sh -c 'umask 0002; exec /usr/libexec/openssh/sftp-server'
来源:http://jeff.robbins.ws/articles/setting-the-umask-for-sftp-transactions