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/false
ne peuvent pas non plus se connecter par ftp.
Je ne comprends pas comment l'accès shell affecte le vsftpd
serveur? 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/nologin
dans Ubuntu) et qu'elle ne devrait pas affecter l'accès ftp mais cela ne fonctionne pas dans mon cas.
Réponses:
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
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.
la source
Set utilisateurs coque arrière à
/bin/false
(ou un autre shell non valide) , puis mis/bin/false
en/etc/shells
.Je vois un grand problème de sécurité avec la mise
/usr/sbin/nologin
en/etc/shells
. Vous donnez à FTP (et peut-être d'autres) un accès à tous les démons et connexions qui ont/usr/sbin/nologin
pour shell.la source
/etc/nologin.txt
afin que l'utilisateur ftp puisse savoir que c'est ftp uniquement ou certains autres.