![在本地网络之外上传时,vsftp 不尊重 chmod 设置](https://linux22.com/image/77817/%E5%9C%A8%E6%9C%AC%E5%9C%B0%E7%BD%91%E7%BB%9C%E4%B9%8B%E5%A4%96%E4%B8%8A%E4%BC%A0%E6%97%B6%EF%BC%8Cvsftp%20%E4%B8%8D%E5%B0%8A%E9%87%8D%20chmod%20%E8%AE%BE%E7%BD%AE.png)
哟!我的 linux 机器上有一个 ftp 服务器,并且设置了以下规则:我保留组和所有者并将其 chmod 为 775。当我在家使用它(192.168.xx)时,没问题,文件保留其组和用户所有者和 chmod@775,但是当我在外面使用它时(例如在工作中,我使用 filezilla 便携式客户端),ftp 连接(我在家使用)失败,我需要使用 sftp,并且上传的文件属于 good 组和所有者,但具有 755 权限(服务器配置为 chmod 文件为 775)...而且我无法创建目录(但当然它在家里工作,服务器配置为允许创建目录)。
vsftpd.conf:
listen=YES
connect_from_port_20=YES
use_localtime=YES
xferlog_enable=YES
dirmessage_enable=YES
ftpd_banner=myftp.
anonymous_enable=NO
local_enable=YES
write_enable=YES
nopriv_user=publichttp
secure_chroot_dir=/var/run/vsftpd/empty
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list #empty file
allow_writeable_chroot=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list
anon_upload_enable=YES
anon_mkdir_write_enable=YES
local_umask=002
file_open_mode=0777
感谢任何看过这个的人。
答案1
也许你忽略了这一点(来自vsftpd.conf(5)):
anon_umask
为匿名用户设置的文件创建 umask 的值。笔记!如果要指定八进制值,请记住“0”前缀,否则该值将被视为以 10 为基数的整数!
Default: 077