Interessant tout ça :cheer:
Je suis aussi interessé mais pour un dossier autre que home (pour eviter le probleme cité par nicobulle.
J'ai trouvé ça :
On va créer un groupe des utilisateurs SFTP seulement, nommé « sftpusers ».
Je crée un utilisateur pour mon client, nommé user1, en changeant son home :
user1:x:1011:1012:Transfert client1,,,:/transferts_partenaires/user1/:bin/bash
Notez que le groupe 1012 est le groupe « sftpusers » :
$ id xfer1
uid=1011(xfer1) gid=1012(sftpusers) groupes=1012(sftpusers)
On crée l’arborescence qui va servir de home bidon à tout ces utilisateurs :
$ mkdir --parents /transferts_partenaires/user1/
$ chown -R root:sftpusers /transferts_partenaires/
$ chmod -R 750 /transferts_partenaires/
Les permissions ci-dessus sont hyper importantes. Le serveur SFTP refusera la connexion si le home de ces utilisateurs n’est pas en écriture uniquement pour le root ! Donc oui, en l’état, notre utilisateur user1:sftpusers ne peut pas écrire dans son home. Il pourra lire, ce qui peut être suffisant si vous lui mettez simplement des fichiers à disposition. Mais pour écrire, il faudra créer un sous-répertoire, genre « upload ».
mkdir /transferts_partenaires/user1/upload/
chown user1:sftpusers /transferts_partenaires/user1/upload/
chmod 700 /transferts_partenaires/xfer1/upload/
Déclaration du compte en SFTP uniquement
Enfin, on paramètre le serveur SSH comme suit. Modifiez votre fichier /etc/ssh/sshd_config :
# param par défaut, on change : Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp -f AUTH -l VERBOSE
# plus loin...
Match Group sftpusers
ChrootDirectory /transferts_partenaires/%u
ForceCommand internal-sftp
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
voiliiiii