Você precisa alterar a variável de ambiente $ HOME para corresponder ao usuário.
export HOME=/home/user-name
Eu preciso (temporariamente) prender um usuário não privilegiado.
Eu tentei algo como:
sudo chroot --userspec=mcon:users /wherever/chroottarget /bin/bash -i
Isso quase funciona, mas não define env vars (enquanto "sudo" faz!), então eu recebo o erro:
bash: /root/.bashrc: Permission denied
Como posso resolver o problema? (NOTA: o comando acima deve estar dentro de um script bash)
UPDATE : encontrei uma maneira (bastante convoluta) de fazer o que preciso:
sudo bash -c "HOME=<jailed home> chroot --userspec=<user>:<group> <chroottarget> /bin/bash -i"
O ideal é que eu deveria ler o HOME de jailed / etc / passwd, junto com todos os outros ambientes (isto é, jailed / etc / profile), essa "solução" manter intactas todas as variáveis no ambiente do chamador.
Existe uma maneira melhor?
Você precisa alterar a variável de ambiente $ HOME para corresponder ao usuário.
export HOME=/home/user-name