34 votes

Un shell Linux pour limiter les utilisateurs de sftp à leurs répertoires personnels?

J'ai besoin de donner SFTP l'accès à un répertoire dans mon webroot sur mon serveur. J'ai mis en place ben_files en tant qu'utilisateur et que vous avez défini son répertoire d'accueil de

/var/www/vhosts/mondomaine.com/fichiers

C'est tout beau si il se connecte avec un bon vieux FTP - il limité aux seuls ce répertoire, mais pour l'activer, SFTP, j'ai dû lui ajouter à bin/bash shell, qui soudain s'ouvre de l'ensemble de mon serveur...

Est-il un moyen de lui donner accès SFTP mais sans ouverture de tous mes répertoires? J'aimerais vraiment lui limité à seulement sa maison ;)

Merci!

46voto

ephemient Points 87003

OpenSSH≥4.8 prend en charge un ChrootDirectory directive.

Ajouter à la /etc/sshd_config ou /etc/ssh/sshd_config ou quel que soit votre configuration globale sshd le fichier config est:

Match utilisateur ben_files
 # Les deux directives en vigueur ben_files pour devenir chrooté
 # et seulement sftp disponibles. Aucun autre chroot est la configuration requise.
 ChrootDirectory /var/www/vhosts/mondomaine.com/fichiers
 ForceCommand internal-sftp
 # Pour plus de la paranoïa, de rejeter tous les types de port expéditions.
 AllowTcpForwarding pas
 GatewayPorts pas
 X11Forwarding pas

3voto

Dennis Williamson Points 105818

Vous pouvez essayer le réglage de sa coquille pour /bin/rbash

SHELL RESTREINT Si bash est lancé avec le nom rbash, ou l'option-r fourni à l'invocation, la coquille 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 à un bash à l'exception de la suivante sont rejetée ou n'est effectué:

   ·      changing directories with cd

plus plus...

Assurez-vous de bien comprendre ce qui est permis et interdits avant d'utiliser ce.

3voto

Ned Deily Points 40248

Jetez un coup d'oeil à rssh . Il est peut-être déjà emballé pour votre distribution o / s.

0voto

rvs Points 340

Utilisez pam_chroot.

Voici un bon manuel: http://www.howtoforge.com/chroot%5Fssh%5Fsftp%5Fdebian%5Fetch

-2voto

DotrainExpress Points 3

Vous pouvez également définir le shell des utilisateurs sur / bin / false en utilisant:

usermod -s / bin / false nom d'utilisateur

Les empêche de ssh'ing et ne peut que sftp (ou ftp, s'il est configuré)

J'utilise cela pour sftp usres, avec la configuration chroot mentionnée (couverte par d'autres réponses).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X