加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 02:49:49 所属栏目:Linux 来源:网络整理
导读:我一直试图弄清楚文件权限有什么问题.当我使用FileZilla上传文件时,所有文件都获得权限-rw-r – r–.我希望他们有-rwxr-xr-x.我曾尝试使用umask来修复权限,但有些事情是错误的.我已经读过您可以使用umask更改权限,例如: 在/ etc / ssh / sshd_config中,更改
我一直试图弄清楚文件权限有什么问题.当我使用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的作者)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读