J'ai résolu mon problème de cette façon :
Créer un nouveau groupe
$ sudo addgroup exchangefiles
Créer le répertoire chroot
$ sudo mkdir /var/www/GroupFolder/
$ sudo chmod g+rx /var/www/GroupFolder/
Créer le répertoire accessible en écriture de groupe
$ sudo mkdir -p /var/www/GroupFolder/files/
$ sudo chmod g+rwx /var/www/GroupFolder/files/
Donnez-les tous les deux au nouveau groupe
$ sudo chgrp -R exchangefiles /var/www/GroupFolder/
après je suis allé à /etc/ssh/sshd_config
et ajouté à la fin du fichier :
Match Group exchangefiles
# Force the connection to use SFTP and chroot to the required directory.
ForceCommand internal-sftp
ChrootDirectory /var/www/GroupFolder/
# Disable tunneling, authentication agent, TCP and X11 forwarding.
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
Maintenant, je vais ajouter un nouvel utilisateur avec le nom d'Obama à mon groupe :
$ sudo adduser --ingroup exchangefiles obama
Maintenant que tout est fait, nous devons donc redémarrer le service ssh :
$ sudo service ssh restart
remarque :l'utilisateur ne peut plus rien faire file
répertoire Je veux dire que tout son fichier doit être dans le dossier de fichiers.
Les restrictions sont une question sensible et doivent être définies de manière cohérente. Ce que vous pouvez faire est de définir un shell restreint pour l'utilisateur comme son shell par défaut .
Par exemple, définir /bin/rksh
(un kornshell restreint) au lieu du shell prédéfini de l'utilisateur comme shell par défaut pour cet utilisateur dans /etc/profile
.
REMARQUE : si l'exécutable portant ce nom n'existe pas sur votre système, créez un lien physique ln /bin/ksh /bin/rksh
et ksh
déterminera par son nom s'il est restreint ou non.
Le shell restreint empêchera (par exemple) de faire un cd
commande, ou en spécifiant une commande avec un /
(un chemin explicite) dans l'invocation, et il interdit de changer le PATH
, SHELL
, ou ENV
variable et les redirections de sortie sont également interdites.
Vous pouvez fournir toujours prédéfini des scripts shell à l'utilisateur qui (sous le contrôle des implémenteurs de script !) permettront à l'utilisateur d'exécuter ce ou ces scripts spécifiques dans un environnement sans restriction.
La commande chroot
permet de créer une racine restreinte pour un utilisateur, cette question explique le concept de chroot
et comment l'utiliser.
Mise à jour :Recherche de prison chroot configurée sur l'océan numérique , affiche une documentation supplémentaire spécifique à leur environnement. En voici quelques-unes qui, je pense, sont liées à ce dont vous pourriez avoir besoin.
Comment configurer les environnements chroot pour les tests sur un VPS Ubuntu 12.04
Comment autoriser l'accès SSH restreint à l'utilisateur chroot emprisonné
En voici un qui concerne le jailkit, suggéré par FloHimself.