ProFTPd et les utilisateurs virtuels
Par NiKo le lundi 12 septembre 2005, 19:50 - Ubuntu
- Lien permanent -
17 commentaires -
Tags :
Lorsque vous avez beaucoup d'intervenants devant fournir des données [1] sur une machine via FTP, il peut-être contraignant de créer autant d'utilisateurs locaux que de comptes FTP nécessaires ; il est alors interessant d'utiliser les utilisateurs virtuels - ici grâce à ProFTPd.
D'abord, il vous faut bien evidemment disposer de proftpd :
$ sudo -s Password: # apt-get install proftpd proftpd-common
Nous allons créer les utilisateurs virtuels du serveur FTP via la commande ftpasswd, dans le fichier /etc/fptd.passwd, dont la syntaxe est proche de celle du fichier /etc/passwd :
# ftpasswd --passwd --name=<login> --uid=<user_id> --gid=<group_id> --home=<ftp_root_path> --shell=/bin/false
Ce qui nous donne par exemple pour l'utilisateur redacteur du site monsite, déposant des fichiers accessibles en écriture par le serveur web (apache, par exemple) :
# cd /etc # ftpasswd --passwd --name=redacteur --uid=80 --gid=80 --home=/home/sites/monsite --shell=/bin/false
Vous noterez que l'utilisateur se voit interdire l'utilisation du shell ; il nous faut donc éditer notre fichier /etc/shells :
# vi /etc/shells
... et y ajouter l'entrée suivante - si elle n'est pas déjà présente - à la fin du fichier:
/bin/false
Il nous faut maintenant spécifier au démon proftpd que l'on désire utiliser les utilisateurs virtuels précedemment définis ; pour cela, il nous faut éditer le fichier /ect/proftpd.conf :
# vi /etc/proftpd.conf
... et y ajouter la directive suivante:
AuthUserFile /etc/ftpd.passwd [2]
On redemarre le service pour prendre en compte les changements :
# /etc/init.d/proftpd restart
Pour aller plus loin
On peut également gérer le même type d'accès pour les groupes d'utilisateurs, au moyen de la directive AuthGroupFile de ProFTPd. On peut de même passer par MySQL pour stocker en base les accès et les administrer encore plus simplement via phpMyAdmin par exemple, ou mieux, MyFTP Admin (tutoriel ici).
17 commentaires (Ajouter un commentaire)
Je suis sur un projet d'installer le serveur Proftpd .. installation se passe très bien ..sans souci.. la configuration aussi.
Mon souci est suivant:
J'ai plusieurs clients ont des répertoires différents + droits différents.. Comment pourrais je définir chaque client a des droits # .. Merci de me donner le tuyau..
Bonjour, merci pour ce tutorial qui m'a beaucoup aidé. J'ai juste une question, comment limiter les accés au utilisateurs, je m'explique, comment bloquer un utilisateur pour qu'il ne puisse pas remonter dans les répertoires, il n'y a que le chroot ? Merci de vos réponses.
Merci, je viens de m'apercevoir du lien pointant vers mon tutoriel avec ProFtpd. Thx
Espérant vous être utile...bonne lecture.
Baud
Je confirme, pureFTPd propose la même chose, beacoup plus simplement. Il est léger est performant, comparé à la lourdeur de proFTPd, sans parler de la configuration ...
En plus, sous Debian, le système de conf est une pure (le jeu de mot ...) merveille.
Tu sais que je commence à t'aimer toi!!

Je me suis fais chier hier, mais après le taf, j'ai préféré abandonner. Donc là meme pas le temps de me remettre les mains dans le cambouis ce soir, t'as déjà répondu au problème!!!!
Gracias.
J'ai rien compris mais c'est pas grave, l'important c'est que tu écrives, je commençais à me poser des questions (l'état plus que chancelant de la blogosphère en ce moment me rend un chouilla parano)
Intéressant tout ça
Ca fait plaisir de te relire
Ju. > Oops
Corrigé.
Hello !
Cool, je saivais pas que proftpd permettait de faire des comptes virtuels si facilement...
Juste , pourquoi ne pas mettre sudo en prefixe aux commandes qui en ont besoin plutot que de passer par sudo -s ?
A la maniere de ta premiere ligne sudo apt-get install proftpd proftpd-common mais bon avec un sudo -s juste avant...
Super sympa justement je cherchais à faire ça pour mon serveur perso ! Car pareil c'est lourd de créer des utilisateurs locaux pour chaques personnes
Super merci
bran ! Ton post arrive une semaine trop tard, $CHEF m'avait posé une colle à ce sujet jeudi dernier, et j'avais tant bien que mal trouvé une réponse (à peu près) correcte. C'eût été plus propre comme ça. Bon, tant pis. Ca marche, le client est content, donc....
ah ben ça c'est une bonne idée, si j'arrive à coupler ça avec ma gestion de users par site (cf article sur mon blog), ça peut m'ouvrir des portes pour coupler un ftp genre "pour les potes" afin de partager des fichiers trankilou sans me prendre la tête à créer un compte système à chaque fois ...
merci pour ce petit tuto sympatique
Je vais jeter avec intérêt un coup d'oeil à cette technique. Jusqu'à présent voici la méthode que j'utilisais assez barbare pour fournir un compte FTP pour mes sites hébergés:
Comptes ProFTPD et sites webs
Maxx Fly > Exact.
Pierre > Yes. Le camboui, je suis en train de me noyer dedans, mais tout va bien
He's not dead!
Merci beaucoup NiKo pour ce tutoriel fort intéressant ! Les mains dans le camboui, ça ne fait jamais de mal... ça me rappelle mes TP de Linux d'il y a deux ans !
y'a pureftpd qui propore le meme style de fonctions...