我的 Ubuntu 12 服务器上有以下配置:
1 -vsftpd
使用配置文件设置安装和配置:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
dir_message_enable=YES
use_locatime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
#chroot_list_enable=YES (commented out)
chroot_list_file=/etc/vsftpd.chroot_list
secure_choot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/ect/ssl/private/vsftpd.pem
user_config_dir=/etc/vsftpd/user_conf
2 - 我有一个 ftp 用户设置,其中他们的主目录是
/var/www
3 - 当我使用新的 ftp 用户名使用 filezilla 连接到服务器时,filezilla 会根据需要自动显示 webroot。
问题是文件的权限;ftpuser 上传到/var/www
目录的每个文件都已设置,因此文件的所有者和组都是 ftp 用户的。
权限也是
-rw-------
这当然意味着尝试通过标准浏览器访问的每个文件都会收到禁止警告。
'/var/www
所有者是'www-data',组是'webroot'。
webroot 是我单独创建的一个组,并添加了 ftp 用户和其他一些用户。
我怎样才能最好地纠正这个问题,以便标准浏览器在尝试查看 ftp 用户上传的文件时不会收到禁止警告?
首先,我相信你应该
chmod g+s
在 /var/www 上做一个。这将确保在此目录中创建的文件从父目录继承组。其次,文件模式似乎可以通过 vspftpd.conf 值来控制:
如果您仍然遇到问题,请查看
umask
FTP 用户的设置,这可能是在用户的~/.bashrc