Ajouter un utilisateur avec accès uniquement en FTPAttention, tous les utilisateurs se connectant sur le serveur proftpd doivent exister réellement sur le système (avec un uid).
2 solutions :
- créer les utilisateurs avec un "faux shell" (/bin/false ou /bin/MySecureShell)
- faire un alias d'un utilisateur n'existant pas vers un utilisateur existant (UserAlias)
Note : /bin/false est déjà installé sur tous les linux. MySecureShell nécessite une installation spécifique, voir tuto dédié pour l'installation :
http://iperf.fr/index.php/topic,3963.0.htmlImportant :Cas spécifique pour
/bin/false (pour
/bin/MySecureShell c'est déjà rajouté lors de l'installation de MySecureShell) : Pour que ce shell soit "valide", il faut indiquer dans le fichier
/etc/shells la ligne
/bin/false si cela n'a pas déjà été fait. Car proftpd par défaut n'accepte pas la connexion si le shell de l'utilisateur n'est pas "valide" donc indiqué dans
/etc/shells (pour modifier ce fonctionnement, il faut utiliser la directive : RequireValidShell off)
Exemple de fichier /etc/shells :
/etc/shells: valid login shells
/bin/csh
/bin/sh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/bin/dash
/usr/bin/screen
/bin/bash
/bin/rbash
/bin/MySecureShell
sudo nano -w /etc/shellsrajouter
/bin/false a la fin de la liste
Création d'un utilisateur :Créer l'utilisateur toto, le groupe toto et le dossier /home/toto :
$ sudo adduser --home /home/toto --shell /bin/false toto
$ sudo adduser --home /home/toto --shell /bin/MySecureShell toto
Concernant la création des utilisateurs, il n'est pas utile de créer un groupe pour chaque nouvel utilisateur, il est conseillé de créer un groupe unique qui servira à placer tous les utilisateurs avec le shell /bin/false
Lister les utilisateurs d'un système :$ cat /etc/passwd | grep /bin/false