Retourner aux forums || Retourner au forum Linux.debian
Linux.debian : chroot ssh et scp
Posté par Mathieu () le 24 mai 2008Je souhaite permettre à des utilisateurs de se connecter sur ma machine en ssh dans une cage (chroot).
J'ai créé un fichier : /bin/chrootshell
#!/bin/bash
sudo /usr/sbin/chroot /home/$USER /bin/bash
Et j'ai rajouter dans /etc/sudoers (ou baduser est le login d'un de mes utilisateur):
baduser ALL=NOPASSWD: /usr/sbin/chroot /home/baduser /bin/bash
J'ai recréé dans le home de mon utilisateur (sa racine chroot) l'arborescence suivante pour y intégrer bash et les autres commandes auxquelles il aura accès:
bin/
lib/
home/baduser
Lorsque que mon utilisateur se connecte, il arrive dans sa racine (/) qui correspond à /home/baduser dans la véritable arborescence. Est-il possible de le faire arriver directement dans /home/baduser/home/baduser lorsqu'il se connecte? ce qui correspond à "/home/baduser" quand il est chrooté.
Un autre petit détail me fait du tord, je souhaiterai que l'utilisateur puisse utiliser la commande scp pour pouvoir déposer des fichiers sur son compte. Malheureusement cela ne fonctionne pas... il est impossible d'envoyer des fichiers. Il me demande le mot de passe pour se connecter et ensuite plus rien. aucun message, le transfert n'a pas lieu.
Si une personne a réponse à mes questions, je lui en serai infiniment reconnaissant. Merci :-)
> Lire le message (5 commentaires, moyenne: 1).
Autres solutions ?
Bonjour,
La solution me semble un peu compliquée. Quelle distribution utilises-tu ? Pour Debian, je me souviens d'une méthode assez efficace utilisant libpam-chroot :
http://www.debian.org/doc/manuals/securing-debian-howto/ap-c(...)
Doit sans doute être applicable à d'autres distributions.
Une autre possibilité est de monter deux serveurs SSH, l'un qui écoute sur un port non standard (pour les admin) et qui tourne hors chroot, et un qui est chrooté, qui écoute sur le port 22 standard, et qui est fait spécialement pour tes utilisateurs.
Si j'ai un peu répondu à côté, en te proposant d'autres méthodes, j'en suis désolé ;-)
-
[^]Re: Autres solutions ?
Posté par NeoX () le 24/05/2008 à 09:28. (lien). Évalué à 1.dans la serie "autre" solution
si le chroot a seulement pour but de limiter l'utilisateur à son home,
il suffit d'utiliser une verison modifiée de ssh (de memoire il faut recompiler ssh avec l'option chroot) et de mettre /home/./user comme repertoire home pour le user
le . indiquant alors qu'il faut bloquer l'utilisateur dans son home.--
Apprendre par les autres, c'est bien.
Apprendre par soi-meme (RTFM, man, et notre ami google) c'est mieux
-
[^]Re: Autres solutions ?
Posté par Mathieu () le 24/05/2008 à 11:23. (lien). Évalué à 1.J'utilise Debian.
libpam-chroot ne serait pas plus utile pour debootstrap ?
Sinon je souhaite surtout pouvoir faire du sftp et utiliser scp sur le compte chrooté. Faut-il avoir importer des librairies particulières et/ou des binaires dans le répertoire de l'utilisateur?
-
[^]Re: Autres solutions ?
Posté par Guillaume Membré () le 24/05/2008 à 11:47. (lien). Évalué à 1.Perso j'utilise http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jai(...) et ca marche tres bien : tu lui donnes le user et... c tout, il s'occupe du reste :)
Pas besoin de patch ssh, il cree un bon vieux chroot.
Ensuite un petit : mount --bind /var/sftp/incoming /home/bob/incoming et voila, tu partages les dossiers que tu veux avec tes users. Ne pas oublier que les liens symboliques ne fonctionne que dans l'environnement chrooté et non vers l'exterieur.-
[^]Re: Autres solutions ?
-
Revenir en haut de page || Retourner aux forums || Retourner au forum Linux.debian



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.