Permissions
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 使用者以及其他一些使用者添加到其中。
我怎樣才能最好地糾正這個問題,以便 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
如果您仍然有問題,請查看
umask
FTP 使用者,這可能是在使用者的~/.bashrc