Devo effettuare il jailing (temporaneo) di un utente non privilegiato.
Ho provato qualcosa del tipo:
sudo chroot --userspec=mcon:users /wherever/chroottarget /bin/bash -i
Questo quasi funziona, ma non imposta ENV Vars (mentre "sudo" fa!), Quindi ottengo l'errore:
bash: /root/.bashrc: Permission denied
Come posso risolvere il problema? (NOTA: il comando sopra dovrebbe essere all'interno di uno script bash)
AGGIORNAMENTO : ho trovato un modo (piuttosto contorto) di fare ciò di cui ho bisogno:
sudo bash -c "HOME=<jailed home> chroot --userspec=<user>:<group> <chroottarget> /bin/bash -i"
Idealmente dovrei leggere HOME da jailed / etc / passwd, insieme a tutti gli altri ambienti (prenderli da jailed / etc / profile), questa "soluzione" manterrà intatte tutte le variabili nell'ambiente chiamante.
C'è un modo migliore?