linux – SFTP服务器上传的文件具有错误的权限
我一直试图弄清楚文件权限有什么问题.当我使用FileZilla上传文件时,所有文件都获得权限-rw-r – r–.我希望他们有-rwxr-xr-x.我曾尝试使用umask来修复权限,但有些事情是错误的.我已经读过您可以使用umask更改权限,例如:
在/ etc / ssh / sshd_config中,更改以下内容: Subsystem sftp /usr/lib/openssh/sftp-server -u 002 有了这个改变,我得到的文件是-rw-rw-r–.据我所知0应该给予所有权利?但我只是得到了rw. 怎么了?我正在使用Debian. 解决方法
如果SFTP客户端未指定上载文件的权限,则OpenSSH SFTP服务器会为新创建的文件分配0666权限(减去umask 0002使0664成为可能).
这是硬编码的,你不能改变它.请参阅OpenSSH的sftp-server.c中的process_open()函数.甚至,如果没有明确指定,0666仍然是文件的* nix默认值,你不能只用umask更改它(一般来说这是真的,而不仅仅是OpenSSH). 另见Does OpenSSH SFTP server use umask or preserve client side permissions after put command (chrooted environment)? 请注意,您的umask实际上是错误的.如果你想要0644,请使用umask 0022,而不是0002. FileZilla从不指定上载文件的权限.导致您遇到的行为的原因是什么. 要获得所需的权限: >使用FileZilla,您可以在上载后使用远程文件上下文菜单中的“文件权限”命令手动更改文件权限. >使用允许指定上载文件权限的SFTP客户端. 例如,WinSCP允许这样做. 见https://winscp.net/eng/docs/ui_transfer_custom (我是WinSCP的作者) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |