我一直在这里search,但我找不到类似的问题。
我在debian 7上设置了SSH和sftp服务器,问题是umask没有执行权限。 即使我改变了不同的值,执行权限也不会被应用。
这是我的configuration:
Match Group sftp-users ChrootDirectory /sftp/%u AuthorizedKeysFile /sftp/%u/.ssh/authorized_keys X11Forwarding no AllowTcpForwarding no # AuthenticationMethods publickey ForceCommand internal-sftp -u 0002
例:
-u 0002上传的file.txt应该获得775个权限,但获得664 -u 0222上传的file.txt应该得到555,但得到了444 -u 0666上传的file.txt应该得到111但是得到了000 你可以让我知道哪些文件应该检查或什么其他configuration你需要看到? 谢谢!
首先你应该明白什么是umask (手册页相当好的解释)。 这不是完全否定您将获得的权限,而是应该从上传文件的原始权限中剥离的权限掩码。 这意味着,除非是可执行文件,否则您需要将该文件的初始权限logging到您要上传的文件的原始权限中(通常为0666 (但您永远不知道用户将要上传的文件的权限)。
这就是为什么在上游的OpenSSH中有一个错误来请求你所描述的function,但是它肯定不会被称为umask了。 如果你想使用这个function,它已经在Fedora / RHEL中。