- Faça o
chroot
, conforme descrito na pergunta, e entãosu - fred
(ou qualquer que seja seu nome) ouexec su - fred
. - Do
chroot /mnt /bin/su - fred
, para que osu
seja a primeira coisa que é executada no ambiente chroot.
Observe que os dois acima assumem
que o seu usuário fred
está definido em /mnt/etc/passwd
.
OU
-
Do
chroot --userspec=fred:bedrock --groups=group1,group2 /mnt /bin/bash
, para definir sua identidade de usuário desde o início do chroot. O manual de invocaçãochroot
diz,The user and group name look-up performed by the
--userspec
and--groups
options, is done both outside and inside the chroot, with successful look-ups inside the chroot taking precedence.Considere adicionar
-l
(ou--login
) para informarbash
para agir como se tivesse sido invocado como uma shell de login; ou seja, para dizer-lhe para ler/etc/profile
e~/.bash_profile
, etc. -
A pergunta pergunta: "Como faço para entrar na minha sessão de usuário, uma vez que estou chrooted?" Muito possivelmente a resposta literal,
chroot /mnt /bin/login
, funcionaria. Se isso funcionar, seria mais como um login comum, em que pediria um nome de usuário e uma senha. É (provavelmente) a única resposta (desses quatro, pelo menos) isso causaria o comandowho
no ambiente chroot para relatar seu nome de usuário (e horário de login, etc.) e pode ser a melhor aposta para usar alguns dos recursos mais esotéricos do ambiente. (Estou pensando em [especular] sobrecron
/crontab
/at
, o comandopasswd
, as cotas do sistema de arquivos, o sistema de contabilidade etc. Não sei se ou por que esses ou qualquer outro software pode não ficar satisfeito apenas olhando para o seu UID real.) Claro que isso, como as duas primeiras respostas, operaria em usuários e senhas definidos no ambientechroot
ed.Isso pode não funcionar. Eu vagamente pareço lembrar algo sobre algumas versões do
login
detectando que está sendo executado de maneira não padronizada (assim) e recusando-se a brincar. Mas não consigo me lembrar de detalhes e não consigo encontrar nada em dois minutos de pesquisa.