linux – SFTP服务器上传的文件具有错误的权限

前端之家收集整理的这篇文章主要介绍了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的作者)

猜你在找的Linux相关文章