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的作者)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


查找全部容器的日志文件 $ sudo find /var/lib/docker/containers -name *.log 查看日志位置 $ docker inspect --format='{{.LogPath}}' <container_name> 实时查询内容 $
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型
评估Linux系统性能的ttyload工具使用效果
分享在Linux系统中检测SSH版本的方法
介绍Linux平台上的数据加密工具EncryptPad
在Linux系统中,如何查看和诊断块设备信息?
在Linux环境下如何查看块设备信息?
探索Linux操作系统下的数据加密工具EncryptPad
学会在Linux系统中查看硬盘信息
分析SELinux:原理与实践
掌握SELinux策略类别
技巧:有效解读和管理Linux日志文件
查看Linux系统中的所有用户
了解Linux系统中各种不同类型的日志文件
深入理解Linux PS命令
方法:在Linux操作系统中查看用户