web-dev-qa-db-ja.com

500 OOPS:vsftpd:chroot()内の書き込み可能なルートで実行することを拒否

私はこの質問が何度も尋ねられたことを完全に知っていますが、前述の解決策は私の場合にはうまくいきませんでした。

私の設定:

$ cat /etc/vsftpd-anon.conf 
listen=YES
local_enable=NO
anonymous_enable=YES
write_enable=YES
anon_root=/var/anonftp
xferlog_enable=YES
listen_address=10.0.0.2
listen_port=9988
allow_writeable_chroot=YES

ほら、私はホームディレクトリを使っていません。この場合に特に作成したディレクトリが1つあります。 allow_writeable_chrootオプションも追加し、vsftpdはそれを認識しますが、無視します。

ターゲットディレクトリ:

$ ls -l /var/ | grep anonftp
drwxrwxrwx  3 root root      4096 led 26 11:09 anonftp

使用方法:

$ Sudo killall vsftpd 
$ Sudo vsftpd /etc/vsftpd-anon.conf &
[1] 21064
$ ftp 10.0.0.2 9988
Connected to 10.0.0.2.
220 (vsFTPd 3.0.2)
Name (10.0.0.2:david): anonymous
331 Please specify the password.
Password:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed.

Vsftpd.logに何もない

1
David162795

echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf && service vsftpd restartを実行します

2
Gilles

私は同じ問題を抱えていましたが、何も助けませんでした。ではない:

  1. vsftpd.confでallow_writeable_chroot = YES
  2. ftpルートディレクトリへのchmod

    だから私はvsftpdプロセスを追跡し、次の行を見ました:

 ... 
 18825 chdir( "/ usr/share/empty")= 0 
 18825 chroot( "。")= 0 
 ... 

/ usr/share/emptyのパーミッションを次のように変更した後

 chmod 0644 /usr/share/empty

エラーはなくなりました。

1
0x0C4
echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf && service vsftpd restart

Confを編集するたびに上記のコマンドを実行します。

0
sheikh wasim