/ debian

Installer un serveur FTP pour plusieurs utilisateurs avec proftpd

Si vous utilisez comme moi EasyEngine sur votre serveur, vous souhaitez peut-être proposer un accès via ftp, tout en limitant l’accès aux fichiers d’un site web pour chaque utilisateur.

Pour cela, nous allons installer et configurer proftpd, pour limiter l’accès de chaque utilisateur à son dossier, et pour ne pas avoir de soucis au niveau des permissions.

Installation de profpd

On commence par installer proftpd :

apt-get update && apt-get install proftpd

Puis on modifie la configuration de proftpd :

nano /etc/proftpd/proftpd.conf

Il faut simplement supprimer le # devant les lignes

DefaultRoot                     ~
RequireValidShell               off

On redémarre ensuite proftpd pour appliquer les modifications :

service proftpd restart

Ajouter un utilisateur

Pour ajouter un utilisateur, il faut définir son dossier home qui correspond au dossier du site web concerné, et l’ajouter au groupe www-data pour qu’il n’y ai pas de problème au niveau des permissions. Remplacez dans la commande suivante le dossier utilisé après --home et le nom de l'utilisateur :

adduser --home /var/www/votredomaine.tld/ --shell /bin/false --ingroup www-data votre-utilisateur

La commande précédente inclut la directive --shell /bin/false, interdisant ainsi l'accès au shell pour le nouvel utilisateur puisque nous avons précédemment définit que l'utilisation du serveur FTP ne nécessitait pas un accès valide au shell.

Enfin pour ajouter les permissions au groupe sur un dossier on utilise :

chmod -R g+rw /var/www/domainname

Votre utilisateur pourra ainsi ajouter ou supprimer des fichiers en se connectant via un client ftp, mais il ne pourra pas accéder à d'autres fichiers que ceux présents dans sont dossier --home et il n'aura pas accès au serveur via ssh.