vsFTPd a cessé de fonctionner après la mise à jour

17

Je viens de mettre à jour Ubuntu 12.04 LTS (Precise Pangolin) depuis Ubuntu Server 11.10 (Oneiric Ocelot).

Il a mis à jour mon installation vsFTPd, et il semble que quelque chose ait changé: / J'utilise l'authentification PAM. Qu'est-ce qui aurait pu changer pour provoquer cela?

Lorsque j'essaie de me connecter au serveur FTP, j'obtiens cette erreur:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

J'ai essayé de le googler, et il a dit d'ajouter allow_writable_root=YESau fichier de configuration - cependant quand j'essaye ceci et essaye de redémarrer vsftpd il ne peut pas redémarrer. Pourquoi?

Voici comment je l'ai corrigé:

wget http://http.us.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.2-3_amd64.deb -O vsftpd.deb
dpkg -i vsftpd.deb
echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf
service vsftpd reload

Et le tour est joué :)

M. King
la source
Le lien, que vous avez fourni pour le wgetparamètre, est mort. Probablement, car la version 3.0.2-3est maintenant sortie. Toute personne confrontée à ce problème doit visiter ce site pour obtenir le lien correct. Le lien mentionné ci-dessus concerne une plate-forme 64 bits. Pour trouver des liens pour ce package pour d'autres plates-formes, comme par exemple 32 bits, suivez cette page et faites défiler jusqu'à la Download vsftpdsection.
trejder

Réponses:

11

J'ai également ce problème et je pense que c'est à cause de la nouvelle mise à jour vsFTPd pour améliorer la sécurité, alors en attendant, j'utilise cette solution.

  1. Je modifie le dossier dans lequel mon utilisateur FTP entre lors de sa première connexion (dossier racine) en utilisant ceci dans le terminal: sudo chmod a-w /home/user

    Vous pouvez modifier /home/userle dossier racine de votre utilisateur FTP.

  2. Créez un sous-dossier dans le dossier, soit à l'aide de l'interface graphique, soit si vous n'avez qu'un terminal, c'est: sudo mkdir /home/user/newfolder

Vous devriez maintenant pouvoir vous connecter et lire en écriture dans le "nouveau dossier". Vous ne pourrez PAS écrire dans le dossier racine lui-même à partir du client FTP avec le chmod aw, c'est donc la raison du sous-dossier, et là vous pouvez.

Je suppose qu'il y aura un correctif dans un temps pas si long, mais en attendant j'espère que cela vous aidera.

kristian
la source
Le seul correctif que je peux trouver est d'installer vsftpd-ext et de remplacer vsftpd qui permet l'utilisation de allow_writable_root, mais il ne vient que sous la forme d'un fichier .tar.gz, et je suis très nouveau sur linux et je n'arrive pas à le faire build: / à la fin, je viens de forcer une rétrogradation vers l'ancienne version de vsftpd que j'avais l'habitude d'exécuter
M. King
A travaillé pour moi. Le propriétaire du homedir doit créer le dossier, pas la racine.
OrangeTux
N'est-ce pas faire un chmod aw "interdit" par les maîtres du jedi linux? depuis que vous accorderiez l'autorisation 666?
9

Quelqu'un a rétroporté la fonctionnalité à ajouter allow_writeable_chroot=YESde la version 3.0.0 à 2.3.5 (voir cette entrée de blog ).

Pour installer sur Ubuntu 12.04 (Precise Pangolin), exécutez les commandes suivantes en tant que root:

add-apt-repository ppa:thefrontiergroup/vsftpd
apt-get update
apt-get install vsftpd
echo allow_writeable_chroot=YES >> /etc/vsftpd.conf

Notez qu'il semble y avoir une option allow_writable_chroot=YES dans vsftpd-ext - notez le mssing e ! (ou s'agit-il d'une faute de frappe dans le billet de blog?)

lumbric
la source
1
+1 - cela semble certainement être la meilleure option, et merci à The Frontier Group d'avoir fourni ce PPA. Mais les utilisateurs doivent noter que cela vous emmène "hors-piste". En raison de la nature de ce qu'il fait, vsftpd est un peu exposé en termes de sécurité, et si une vulnérabilité devait être trouvée dans vsftpd à l'avenir, les utilisateurs dépendent du propriétaire du PPA pour la mettre à jour, ou les utilisateurs devront trouver une autre solution à ce moment-là. Il serait sage de vous abonner à la liste de diffusion ubuntu-security-announce et de surveiller les annonces de sécurité vsftpd si vous suivez cette voie.
Robie Basak
Notre équipe DEVOPS a créé ce package - laissez un commentaire sur l'article de blog si vous avez des problèmes individuels que vous avez besoin d'aide pour résoudre et ils vous aideront.
mlambie
6

vsFTPd 3.0.0 ajoute une option de configuration,

allow_writeable_chroot=YES

pour réactiver le comportement précédent (source: Fixing 500 OOPS: vsFTPd: refus de s'exécuter avec une racine accessible en écriture dans chroot () , commentaire de Brian K. White).

Malheureusement, 3.0.0 n'est pas encore empaqueté par Ubuntu. En attendant, rétrogradez vers une version plus ancienne. Par exemple, j'utilise celui-ci sur Ubuntu 12.04 (Precise Pangolin): http://packages.ubuntu.com/oneiric-updates/vsftpd

Jakob
la source
Pourriez-vous ajouter des instructions sur l'installation du package Oneiric que vous avez lié? Dois-je télécharger manuellement le package? Je suppose que l'ajout de mises à jour oneiric à mes référentiels gâchera beaucoup les choses.
lumbric
0

Une autre façon de faire en tant qu'utilisateur Kristian: cela a fonctionné pour moi. Le nom d'utilisateur que j'utilise est «john». Remplacez-le par le nom d'utilisateur que vous souhaitez.

sudo chmod a-w /home/john - Supprime l'autorisation pour tous les utilisateurs de supprimer ou de modifier un fichier.

sudo mkdir /home/john/ftp - Crée un dossier nommé 'ftp' dans le répertoire personnel de l'utilisateur 'john'

sudo chown -Rv john.john /home/john/ftp - Change la propriété du répertoire en groupe 'john' et utilisateur 'john'.

OrangeTux
la source
0

Pourquoi?

Extrait et adapté de ma propre réponse dans le bug 1065714 .

Afin de maintenir la stabilité des versions stables, les mises à jour après la publication ne sont prises en compte que dans des circonstances spécifiques. Les détails du processus et des critères requis sont répertoriés ici: https://wiki.ubuntu.com/StableReleaseUpdates#When

Cela rend difficile pour les utilisateurs de la version LTS d'avoir des chroots inscriptibles, car le projet vsftpd en amont a décidé de sortir sans cette fonctionnalité au moment de la sortie de la version 12.04. Maintenant que 12.04 est sorti et que le correctif ne répond pas aux critères ci-dessus, je ne pense pas que cela changera pour 12.04. Mais notez que l' équipe des mises à jour des versions stables prend la décision finale à ce sujet, et aucune mise à jour ne leur a été proposée.

Si vous souhaitez qu'une version plus récente de vsftpd soit mise à la disposition des utilisateurs qui souhaitent utiliser l'option "allow_writeable_chroot", le référentiel de rétroportage est un endroit approprié pour cela. Avec un backport, les utilisateurs qui souhaitent la fonctionnalité pourraient simplement ajouter le référentiel de backports et installer vsftpd à partir de là. Vous pouvez en savoir plus sur les backports et comment en demander un ici: https://wiki.ubuntu.com/UbuntuBackports

Dans l'intervalle, The Frontier Group a aimablement fourni un AAE, comme décrit dans la réponse de Lumbric. Ou vous pouvez utiliser ici une des autres réponses qui vous convient.

Robie Basak
la source