Je dois emprisonner (temporairement) un utilisateur non privilégié.
J'ai essayé quelque chose comme:
sudo chroot --userspec=mcon:users /wherever/chroottarget /bin/bash -i
Cela fonctionne presque , mais cela ne règle pas env vars (alors que "sudo" le fait!), Je reçois donc l'erreur:
bash: /root/.bashrc: Permission denied
Comment puis-je résoudre le problème? (NOTE: la commande ci-dessus devrait être à l'intérieur d'un script bash)
MISE À JOUR : J'ai trouvé un moyen (plutôt compliqué) de faire ce dont j'ai besoin:
sudo bash -c "HOME=<jailed home> chroot --userspec=<user>:<group> <chroottarget> /bin/bash -i"
Idéalement, je devrais lire HOME dans / etc / passwd emprisonné , ainsi que dans tout autre environnement (les extraire de / etc / profile emprisonné ), cette "solution" conservera toutes les variables de l'environnement de l'appelant.
Y a-t-il un meilleur moyen?