Comment puis-je créer des utilisateurs avec uniquement un accès ftp distant sur un serveur Linux?

11

J'utilise un serveur Ubuntu 10.04 LTS et je veux créer des utilisateurs qui ne peuvent accéder au serveur qu'à partir de FTP.

Ce que j'ai fait jusqu'à présent, c'est:

  • Installer vsftpd
  • Créer un nouvel utilisateur avec le shell de connexion par défaut défini sur /bin/false

Les utilisateurs normaux sur le serveur peuvent tous accéder à leur dossier de départ via ftp, mais les utilisateurs auxquels l'accès shell distant est supprimé en le définissant sur /bin/falsene peuvent pas non plus se connecter par ftp.

Je ne comprends pas comment l'accès shell affecte le vsftpdserveur? Comment pourrais-je activer l'accès ftp sans réactiver le shell?

Mise à jour:
J'ai trouvé cette référence qui indique que je devrais utiliser /sbin/nologin(semble être /usr/sbin/nologindans Ubuntu) et qu'elle ne devrait pas affecter l'accès ftp mais cela ne fonctionne pas dans mon cas.

jmbouffard
la source
Peut-être essayez de définir sur / bin / true
balki
Je n'ai jamais utilisé vsftpd mais j'ai trouvé une solution qui fait ce dont vous avez besoin. Je ne sais pas si c'est la meilleure solution (je pense que cela devrait fonctionner, mais il y a peut-être quelque chose de mieux).
pbm
Je viens d'essayer / bin / true et cela ne fonctionne pas.
jmbouffard
Merci @pbm mais ce n'est pas exactement ce que je recherche car je préfère utiliser de vrais utilisateurs.
jmbouffard

Réponses:

12

Je ne sais pas si c'est une bonne pratique de répondre à ma propre question mais j'ai trouvé une solution simple qui permet la connexion ftp.

J'avais besoin d'ajouter la ligne

/ usr / sbin / nologin

dans le fichier / etc / shells. Juste après cette modification, le serveur ftp a commencé à accepter la connexion des utilisateurs auxquels le shell est défini / usr / sbin / nologin. Ils ne peuvent donc pas se connecter via ssh mais cela fonctionne avec ftp exactement comme je le voulais.

Merci pour vos commentaires utiles.

jmbouffard
la source
Il y a quelques jours, j'ai lu que cela ouvrait une faille de sécurité. Tous les experts qui pourraient clarifier cela pour moi.
Navneil
0

Set utilisateurs coque arrière à /bin/false(ou un autre shell non valide) , puis mis /bin/falseen /etc/shells.

Je vois un grand problème de sécurité avec la mise /usr/sbin/nologinen /etc/shells. Vous donnez à FTP (et peut-être d'autres) un accès à tous les démons et connexions qui ont /usr/sbin/nologinpour shell.

Jerry Callahan
la source
1
De quelle façon précisément? nologin existe pour permettre, eh bien, nologin - avec un message personnalisé facultatif /etc/nologin.txtafin que l'utilisateur ftp puisse savoir que c'est ftp uniquement ou certains autres.
Dani_l
vsftpd est celui qui protège des accès non autorisés en ayant ses propres listes d'accès.
Dani_l