Avvio di un chroot e rilascio nella home page dell'utente non privilegiato


1

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?

Risposte:


0

È necessario modificare la variabile di ambiente $ HOME in modo che corrisponda a quella dell'utente.

export HOME=/home/user-name
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.