Je dois donner à SFTP l’accès à un répertoire situé dans la racine Web de mon serveur. J'ai configuré ben_files en tant qu'utilisateur et défini son répertoire personnel sur
/var/www/vhosts/mydomain.com/files
Tout va bien s'il se connecte avec un vieux FTP ordinaire - il est limité à ce répertoire, mais pour activer SFTP, je devais l'ajouter à bin/bash Shell, ce qui ouvre soudainement tout mon serveur ...
Est-il possible de lui donner un accès SFTP sans ouvrir tous mes répertoires? J'aimerais vraiment qu'il soit limité à sa maison;)
Merci!
OpenSSH≥4.8 prend en charge une directive ChrootDirectory
.
Ajoutez à /etc/sshd_config
ou /etc/ssh/sshd_config
ou quelque soit le fichier de configuration global sshd
de votre configuration:
Faites correspondre l'utilisateur ben_files # Les deux directives suivantes forcent ben_files à être chrooté # et seulement sftp disponible. Aucune autre configuration de chroot n'est requise . ChrootDirectory /var/www/vhosts/mydomain.com/files ForceCommand internal-sftp # Pour plus de paranoïa, interdisez tous les types de redirection de ports . AllowTcpForwarding no GatewayPorts no X11No de renvoi__.
Vous pouvez essayer de définir son shell sur /bin/rbash
Shell restreint Si bash est démarré avec le nom rbash, ou l’option -r est fourni à invocation, le shell devient restreint. Un shell restreint est utilisé pour mettre en place un environnement plus contrôlé que le shell standard. Il se comporte de manière identique à bash à l'exception de ce qui suit sont non autorisé ou non exécuté:
· changing directories with cd
et plus encore ...
Assurez-vous de bien comprendre ce qui est permis et interdit avant de l'utiliser.
Jetez un oeil à rssh . Il est peut-être déjà emballé pour votre distribution o/s.
Utilisez pam_chroot.
Voici un bon manuel: http://www.howtoforge.com/chroot_ssh_sftp_debian_etch