web-dev-qa-db-fra.com

500 OOPS: vsftpd: refus de s'exécuter avec une racine en écriture dans chroot ()

Je suis pleinement conscient que cette question a été posée d'innombrables fois, mais aucune solution mentionnée auparavant n'a fonctionné pour mon cas.

Ma config:

$ 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

Vous voyez, je n'utilise aucun élément du répertoire personnel. Il y a ce répertoire que j'ai créé spécialement pour ce cas. J'ai aussi ajouté l'option allow_writeable_chroot et vsftpd la reconnaît, mais l'ignore.

répertoire cible:

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

Comment j'essaye de l'utiliser:

$ 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.

Rien dans vsftpd.log

1
David162795

Exécuter echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf && service vsftpd restart

2
Gilles

J'ai eu le même problème et rien n'a aidé. ne pas:

  1. allow_writeable_chroot = YES à vsftpd.conf
  2. chmod dans le répertoire racine ftp

    j'ai donc fait un strace au processus vsftpd et ai vu les lignes suivantes:

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

après avoir changé les permissions sur/usr/share/empty avec

 chmod 0644 /usr/share/empty

l'erreur était partie.

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

Exécutez la commande ci-dessus chaque fois que vous éditez conf.

0
sheikh wasim