Ubuntu 16.04 LTSでvsftpdを実行しています。
インストール中にホームディレクトリ/ srv / ftpを使用してftpユーザーが作成されるため、これはデフォルトのFTPディレクトリです。
私が設定したvsftpd.confファイル権限。
listen_ipv6=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_umask=011
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
allow_writeable_chroot=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
私がやりたいことは、匿名ユーザーとしてFTPサーバーにファイルをアップロードすることです。匿名ユーザーとしてログインできますが、アップロードしようとすると、次のメッセージが表示されます。
200 PORT command successful. Consider using PASV.
553 Could not create file.
現在、インターネットには同じエラーが発生するソースがたくさんありますが、私のエラーを解決するソリューションはありません。一部の権限がありません。
/srv/ftp 権限は 755 に設定されます。
ベストアンサー1
vsftpd、filezillaをインストールし、.confを見つけてそれに応じてオプションを追加しました。
$ sudo cat /etc/vsftpd/vsftpd.conf | grep -v "#"
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=abdullah
xferlog_std_format=YES
chroot_local_user=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
filezillaがフィードバックを与え、オプションを変更する必要がありました。chown_username=アブドゥラ私の既存のユーザー名を使用します。
その後、権限の問題が発生し、ftpフォルダの所有権を変更して解決しました。/var/ftp/pub~から根到着ファイル転送プロトコル。その後、ファイルをアップロードしてバインドできますが、umaskオプションがあるため変更できません。