Existe-t-il un moyen simple de restreindre un utilisateur SCP/SFTP à un répertoire ? Toutes les méthodes que j'ai rencontrées m'obligent à créer une prison chroot en copiant des binaires, mais je ne pense pas que cela soit nécessaire.
Réponse acceptée :
SSH Prend en charge le chrootage d'un utilisateur SFTP de manière native. Il vous suffit de fournir
ChrootDirectory
Dans votre fichier de configuration sshd, et redémarrez sshd.
Si vous ne faites que sftp, vous n'avez rien à faire de plus. Malheureusement, cela ne fonctionne pas pour scp. Pour le shell interactif, vous devrez copier les binaires et les nœuds /dev dans le chroot.
Un exemple de configuration, pour un seul utilisateur, testuser :
Match User testuser
ChrootDirectory /home/testuser
ForceCommand internal-sftp
Quelques éléments à prendre en compte dans la page de manuel de sshd_config :
All components of the pathname must be root-owned directories that are not writable by any other user or group. After the chroot, sshd(8) changes the working directory to the user's home directory.
Recherchez ChrootDirectory dans man sshd_config pour plus d'informations.