OpenSSH 5.3为SFTP chroot env设置UMASK,完全不工作

我尝试覆盖chrooted env中的SFTP连接上的umask设置。 我不能使用subsytem diffrente比internal-ftp。

在OpenSSH_5.3p1(Debian-3ubuntu4,OpenSSL 0.9.8k 2009年3月25日)中,直接从命令中设置了umask。

你怎么能够设置?

我的sshdconfiguration是:

Match User myuser ChrootDirectory /mnt/jail/myuser/ AllowTCPForwarding no X11Forwarding no #ForceCommand /usr/lib/openssh/sftp-server -l DEBUG3 #ForceCommand /bin/sh -c 'umask 002; /usr/lib/openssh/sftp-server' ForceCommand internal-sftp -u 002 

无论如何,它的剂量作品。

如果你不想要补丁解决scheme,这是另一个解决方法:

在sshd_config中:

 # Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp /usr/local/bin/sftpwrapper # And the Match Group, ChrootDirectory, etc... declarations 

并在/ usr / local / bin / sftpwrapper(chmod 755,chown root:root)

 #!/bin/bash -- umask 0002 exec /usr/lib/openssh/sftp-server 

chrooted组中的用户仍然可以使用/ bin / false作为shell。

有一个补丁可能需要查看,它为sshd_config添加了一个SftpUmask选项。

http://sftpfilecontrol.sourceforge.net/

你也可以使用这个线程的 pam_umask。 在/etc/pam.d/sshd

 session optional pam_umask.so umask=0002