chroot
l'utilisateur.
Mise à jour :
Le site Article de Vincent Danen dans TechRepublic dit :
Avec la sortie d'OpenSSH 4.9p1, vous n'avez plus besoin de recourir à des pirates tiers ou à des configurations chroot compliquées pour confiner les utilisateurs dans leurs répertoires personnels ou leur donner accès aux services SFTP.
éditer /etc/ssh/sshd_config (/etc/sshd_config sur certaines distributions) et définissez les options suivantes :
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
Assurez-vous que la directive "Match" se trouve à la fin du fichier. Ceci indique à OpenSSH que tous les utilisateurs du groupe sftp doivent être chrootés dans leur répertoire personnel (que %h représente dans la commande ChrootDirectory)
Pour tous les utilisateurs que vous souhaitez chrooter, ajoutez-les au groupe sftp en utilisant :
# usermod -G sftp joe
# usermod -s /bin/false joe
# chown root:root /home/joe
# chmod 0755 /home/joe
La commande usermod ci-dessus ajoutera l'utilisateur joe au groupe sftp et définira son Shell à /bin/false afin qu'il ne puisse absolument pas obtenir l'accès à Shell. Les commandes chown et chmod définiront les permissions requises pour le répertoire. Une fois ces autorisations définies, l'utilisateur sera autorisé à télécharger des fichiers, mais ne pourra pas créer de répertoires ou de fichiers dans le répertoire racine.
Le chrootage des comptes Shell est un peu plus compliqué car il nécessite que certains fichiers de périphériques et un Shell soient disponibles dans le répertoire personnel de l'utilisateur. Les commandes suivantes vont configurer un système chroot très basique sur Mandriva Linux :
# mkdir /chroot
# cd /chroot
# mkdir {bin,dev,lib}
# cp -p /bin/bash bin/
# cp -p /lib/{ld-linux.so.2,libc.so.6,libdl.so.2,libtermcap.so.2} lib/
# mknod dev/null c 1 3
# mknod dev/zero c 1 5
# chmod 0666 dev/{null,zero}
# mkdir -p /chroot/home/joe
Avec ce qui précède, l'utilisateur Joe peut se connecter et sera restreint au chroot. Malheureusement, cela ne fait pas grand-chose, mais cela vous donne une idée de la façon dont cela peut être configuré. En fonction de ce que vous voulez fournir, vous devrez installer des bibliothèques et des binaires supplémentaires.
Le site Site de la communauté Ubuntu dit
Création d'un chroot
-
Installez les paquets dchroot et debootstrap.
-
En tant qu'administrateur (c.-à-d. en utilisant sudo), créez un nouveau répertoire pour le répertoire chroot. Dans cette procédure, le répertoire /var/chroot
sera utilisé. Pour faire cela, tapez sudo mkdir /var/chroot
dans une ligne de commande.
-
En tant qu'administrateur administrateur, ouvrez /etc/schroot/schroot.conf
dans un texte dans un éditeur de texte. Tapez cd /etc/schroot
suivi par gksu gedit schroot.conf
. Cela vous permettra vous permettra de modifier le fichier.
-
Ajoutez le les lignes suivantes dans schroot.conf
et puis enregistrez et fermez le fichier. Remplacer _your_username
_ avec votre nom d'utilisateur.
[lucide] description=Ubuntu Lucid location=/var/chroot priorité=3 users=votre_nom_d'utilisateur groups=sbuild root-groups=root
Ouvrez un terminal et tapez :
sudo debootstrap --variant=buildd --arch i386 lucid /var/chroot/ \
http://mirror.url.com/ubuntu/
Cela créera une base de base d'Ubuntu 10.04 (Lucid Lynx) en Lynx) dans le chroot. Cela peut prendre un temps pour que les paquets soient téléchargés. Note : Vous pouvez remplacer lucid par la version Ubuntu de votre choix. choix. Note : Vous devez modifier le fichier ci-dessus mirror.url.com
avec l'URL d'un d'un miroir d'archives valide situé près de chez vous. A chroot de base devrait maintenant avoir été créé. Tapez sudo chroot /var/chroot
pour passer à une racine Shell à l'intérieur de la chroot.
Configuration du chroot
Il y a Il y a quelques étapes de base que vous pouvez suivre pour configurer le chroot, en fournissant des facilités telles que la résolution DNS et l'accès à /proc
.
Note : Tapez ces commandes dans un Shell qui est en dehors du chroot.
Tapez ce qui suit pour monter le /proc
dans le chroot (requis pour le système de fichiers gestion des processus) :
sudo mount -o bind /proc /var/chroot/proc
Tapez ce qui suit pour autoriser la résolution DNS à partir de à l'intérieur du chroot (nécessaire pour l'accès à Internet) :
sudo cp /etc/resolv.conf /var/chroot/etc/resolv.conf
Très peu sont installés par défaut dans un chroot (même sudo n'est pas installé). Utilisez apt-get install package_name
à installer des paquets.