Bon, j'ai trouvé une bonne solution pour mon FTP. Je poste à nouveau pour dire
un peu comment j'ai fait.
J'ai pris les sources de pure-ftpd sur leur site. Sous Slackware 10.1, aucun souci !
Attention de bien avoir gcc et make ... au minimum ...
Code :
- tar -xvzf pure-ftpd-1.0.20.tar.gz
- cd pure-ftpd-1.0.20
- ./configure --with-ftpwho --with-puredb --with-language=french --with-privsep --with-cookie
- make
- make install
|
En suivant le tuto de Lea sur pure-ftpd, j'ai crée un groupe dédié au ftp
Ensuite, j'ai crée trois utilisateurs (en créant un répertoire /home/ftp) :
Code :
- useradd -g ftpgroup -d /dev/null -s /bin/false ftp
- useradd -g ftpgroup -d /dev/null -s /bin/false adminftp
- useradd -g ftpgroup -d /dev/null -s /bin/false adminweb
|
Je lance mon serveur FTP via la commande pure-ftpd avec les paramètre suivants :
Code :
- /usr/local/sbin/pure-ftpd -A -b -B -c 25 -C 3 -d -I 120 -j -l puredb:/etc/pureftpd.pdb -M -R -u 1 -x -X &
- -A (chroote les utilisateurs pour qu'ils ne remontent pas dans l'arborescence au dessus de leur répertoire)
- -b (petite option visiblement pour que pure-ftpd s'adapte aux clients ftp qui ne respectent pas les normes ...)
- -B (pour que le serveur ftp se lance en démon)
- -c 25 (nombre maximum de client qui peuvent se connecter au ftp)
- -C 3 (nombre maximum de client par IP)
- -d (mode verbose pour debugger ...)
- -I 120 (temps d'inactivité pour la déconnexion automatique ... en s ?)
- -j (créer le répertoire personnel d'un utilisateur si le répertoire donné n'existe pas)
- -l puredb:/etc/pureftpd.pdb (lien vers le fichier qui contient la BD des utilisateurs virtuels)
- -M (anonymous ne peut pas créer de répertoire)
- -R (interdiction de modifier les droits des fichiers chmod)
- -u 1 (interdire la connexion des utilisateurs UID inférieur à 1 root notamment)
- -x (interdiction de modifier les fichiers cachés)
- -X (interdiction de voir les fichiers cachés)
|
Ensuite, j'ai crée les utilisateurs virtuels dans pure-ftpd avec les commandes suivantes :
Code :
- pure-pw useradd adminweb -u adminweb -d /www/htdocs
- pure-pw useradd adminftp -u adminftp -d /home/ftp
- pure-pw mkdb (pour mettre à jour la base de données d'utilisateurs de pure-ftpd)
|
Comme le dit le tutorial de Léa-Linux, nul besoin de relancer le serveur pour que les nouveaux
utilisateurs soit pris en compte.
Enfin, j'ai pris soin de vérifier les droits sur les répertoires pour que l'adminftp et l'adminweb
puissent faire leur boulot ^_^
Code :
- chown -R adminftp /home/ftp
- chgrp -R ftpgroup /home/ftp
- chmod -R 755 /home/ftp
- chown -R adminweb /www/htdocs
- chgrp -R ftpgroup /www/htdocs
- chmod -R 755 /www/htdocs
|
Voilà quelques éléments de réponse, il ne manque plus qu'à faire un répertoire /home/ftp/upload avec les droits qui vont bien
uniquement sur ce répertoire et pas sur la totalité du contenu de /home/ftp