1 votes

Les utilisateurs FTP ne peuvent voir aucun fichier lorsqu'ils sont chrootés

Sur une Debian Wheezy 64bit, je crée un nouvel utilisateur pour un client afin de placer des fichiers dans un répertoire. Après la création de l'utilisateur, j'enlève son login interactif en remplaçant /bin/bash avec /bin/false in /etc/passwd . Ensuite, je l'ajoute à /etc/ftpchroot de sorte que sa session soit ancrée dans son répertoire personnel.

Cependant, dès que j'ajoute l'utilisateur à /etc/ftpchroot lorsque l'utilisateur se connecte, il ne peut voir aucun fichier. L'utilisateur est chrooté, il ne peut pas se déplacer vers le haut. Il peut télécharger des fichiers, qui sont stockés dans le bon répertoire, et avec les permissions 640 et la propriété de thatuser:thatusersgroup.

Mes pensées jusqu'à présent :

  • /etc/ftpchroot fait clairement quelque chose, et fait, ce qu'il devrait faire.
  • Tous les utilisateurs créés sur cette machine ont ce problème (j'ai essayé deux fois avec d'autres nouveaux utilisateurs).
  • Il ne dépend pas du répertoire. En modifiant son répertoire personnel et en y accédant par chrootage, le problème est le même.

C'est étrange pour moi car j'ai fait cela plusieurs fois auparavant, et je n'ai jamais rencontré ce problème. Malheureusement, il est difficile de trouver une réponse sur Google, car la description du problème est problématique.

Edit 1 : Quelque chose que je vois maintenant. En se connectant sous ftpchroot, aucun message n'est affiché lorsque la connexion est terminée avec succès. Cependant, en se connectant sans ftpchroot, /etc/motd s'affiche après avoir terminé l'authentification.

Edit 2 : J'ai en quelque sorte contourné le problème en installant inetutils-ftpd . Il a apporté l'authentification PAM, et après avoir configuré cela, il se connecte au même utilisateur sans le problème mentionné, et il peut télécharger et voir ses fichiers sans problème.

0 votes

Quel est le serveur FTP que vous utilisez ? Certains serveurs FTP peuvent être configurés pour fournir une autorisation en "écriture seule". Par exemple : serverfault.com/a/24375/15440

0 votes

J'utilise ftpd commencé par inetd superserveur comme in.ftpd . Cela semble similaire, mais comme mon problème est déclenché en ajoutant des utilisateurs à /etc/ftpchroot je doute que cela puisse être mon problème.

0 votes

Hmm... pouvez-vous poster le contenu (aseptisé) de votre ftpaccess fichier ?

1voto

Jenny D Points 26978

Lorsque vous utilisez un chroot, toutes les binaires que vous voulez utiliser dans le chroot doivent exister dans ce chroot. Dans le cas de ftpchroot, cela signifie généralement que le ftpd doit disposer de ls à l'intérieur de son propre binaire plutôt que de s'appuyer sur les capacités de l /bin/ls du système, sinon chaque utilisateur devrait avoir sa propre $HOME/bin/ls .

La solution est donc d'utiliser un démon ftp qui a ls intégré (ou pour le recompiler avec --ls-included, ou toute autre option appropriée pour ce démon ftp particulier).

0 votes

Si c'est le cas, le ftpd standard (du dépôt Debian) a été compilé avec le support de ls, car je suis sûr que cela a toujours fonctionné. Comment puis-je déterminer s'il a été compilé avec le support ls, alors que je n'ai que les binaires installés ?

0 votes

Je n'ai pas de système Debian à portée de main pour vérifier, mais je commencerais par voir si man ftpd donne des indications.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X