我研究了好几天,但找不到解决方案。我有 2 个 ftp 用户。/etc/vsftpd.conf 中的设置:
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
该用户登录的shell是/bin/ftponly,代码为:
#!/bin/sh
echo "This account is limited to FTP access only."
#!/bin/sh
echo "This account is limited to FTP access only."
用户被限制使用 ftp shell 并且无法打开终端。
当用户(例如 deanhh)上传新文件时,权限为:
-rw------- 1 deanhh deanhh 118 Jan 3 19:48 testfile
这看起来像用户(deanhh)的 umask 是 0077正确的?
我找不到这个设置在哪里。我查看了:
/etc/vsftpd.conf
/etc/login.defs
/home/deanhh/.bashrc
/home/deanhh/.profile
这些文件均未设置该 umask。另外,deanhh 的“主”目录是 /var/www/deanhh.com,而不是 /home/deanhh(后者确实存在)。/var/www/deanhh.com 中没有文件或子文件夹来指示 umask 或任何用户设置。
我如何确定为 ftp 用户(即 deanhh)设置 umask 的位置?
答案1
您将其设置进去/etc/vsftpd.conf
。
如果你对当前的权限感到疑惑:local_umask
设置默认为077
,禁止群组和其他人以任何方式访问文件(正如你已经注意到的)。
您可以为用户身份验证提供多种选项:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=0002
anon_upload_enable=YES
anon_mkdir_write_enable=YES
file_open_mode=0777
file_open_mode
设置文件的默认设置。777
将其设置为任何人都可读、可写和可执行。local_umask
设置为002
,这将为您提供775
。