Iniciando um chroot e instalando-se na página inicial do usuário sem privilégios

1

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?

    
por ZioByte 24.02.2015 / 20:39

1 resposta

0

Você precisa alterar a variável de ambiente $ HOME para corresponder ao usuário.

export HOME=/home/user-name
    
por 02.01.2016 / 04:02