Ubuntu 12.04およびVSFTPDを使用した新しいLAMPサーバーのセットアップ。
FTPユーザーで/var/www
フォルダー(Webルート)にアクセスしようとしています。
新しいユーザーftpuser
を作成し、Apacheによって自動的に作成されたwww-data
ユーザーグループに追加しました。
そのユーザーのホームディレクトリは/var/www
に設定されます。また、/var/www
の所有権をwww-data
グループに変更し、許可を02775
に変更しました。
ただし、ファイルをアップロードすることはできません。エラー:「553ファイルを作成できませんでした」。
ftpuser
のホームディレクトリを/var/www
に設定する必要がありますか?私はウェブ上で多くのトピックを見つけましたが、それらのどれも普遍的なソリューションを提供しません。
ありがとうございました!
更新:
ls -l
の/var/www
の出力は次のとおりです。
drwxr-sr-x 3 root ftpuser 4096
vsftpd.conf
ファイルの内容:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=ftpuser
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
問題は、フォルダーがroot
ではなくftpuser
によって所有されているためです。
修正するには次を実行:
Sudo chown -R ftpuser:nogroup /var/www/ftuuserfolder
正しい所有権を設定したが、正しい許可を設定していないことがわかりました。
たとえば、フォルダがユーザー「ftpuser」とグループ「www-data」によって所有されている場合、次のようになります...
drwxr-sr-x 3 ftpuser www-data 4096
その後、おそらく実行されていません...
Sudo chmod -R g+w /var/www/ftpuserfolder
これらは、それらのファイル/フォルダーを所有するグループに書き込み許可を与えます。