如何在 debian squeeze 中更改 ssh 和 sftp 的 umask。
I have changed the umask from 022 to 002 in
/etc/profile and
/etc/login.defs
and modified
Subsystem sftp /usr/lib/openssh/sftp-server to
Subsystem sftp /usr/lib/openssh/sftp-server -u 002
in /etc/ssh/sshd_config
当我通过 shell 连接时,一切似乎都正常,但当我通过 上传文件时,我仍然获得错误的权限。您知道如何解决该问题吗?
我通过以下方式解决了这个问题如何为所有类型的连接设置 ssh 的 umask
Added:
# Setting UMASK for all ssh based connections (ssh, sftp, scp)
session optional pam_umask.so umask=0027
in /etc/pam.d/sshd
and /etc/pam.d/login
I also reverted to
Subsystem sftp /usr/lib/openssh/sftp-server
in /etc/ssh/sshd_config
答案1
创建一个设置正确 umask 的包装脚本并以 sftp 为替代方式执行该脚本
#!/bin/bash
umask 002
exec /usr/lib64/misc/sftp-server
修改 sshd_config
Subsystem sftp /usr/local/sbin/sftp-server.sh
您的 sftp 服务器位置可能有所不同。