Permissions

ftp 使用者在 ubuntu 上以正確的權限訪問 var/www

  • March 13, 2016

我的 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 使用者以及其他一些使用者添加到其中。

我怎樣才能最好地糾正這個問題,以便 std 瀏覽器在嘗試查看 ftp 使用者上傳的文件時不會收到禁止警告?

首先,我相信你應該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

引用自:https://serverfault.com/questions/477195