使用正确的权限将 ftp 用户连接到 ubuntu 上的 var/www

使用正确的权限将 ftp 用户连接到 ubuntu 上的 var/www

我的 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 用户上传的文件时不会收到禁止警告?

答案1

首先,我认为您应该chmod g+s在 /var/www 上执行此操作。这将确保在此目录中创建的文件从父目录继承组。

其次,文件模式似乎可以通过 vspftpd.conf 值来控制:

file_open_mode
 The permissions with which uploaded files are created. Umasks are applied on top of 
 this value. You may wish to change to 0777 if you want uploaded files to be executable.
 Default: 0666

如果仍然有问题,请查看umaskFTP 用户,这可能在用户的~/.bashrc

相关内容