web-dev-qa-db-ja.com

vsftpdで匿名ユーザーとしてアップロードできません

Ubuntu 16.04LTSでvsftpdを実行しています。

インストール中に、ftpユーザーが/ srv/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
Archisman Dinda

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 = abdullahを変更する必要がありました。

次に、アクセス許可の問題が発生します。これは、ftpフォルダーの所有権を変更することで解決されます/ var/ftp/pubrootからftpに。次に、umaskオプションがあるため、ファイルをアップロードしてバインドすることはできましたが、変更することはできませんでした。

1
Abdullah