Na minha opinião, a questão é mais sobre não entender o que o chroot faz.
Ele move / para onde quer que você diga, então não há mais / bin, / sbin ou / usr.
Isso significa que você não terá mais o sudo, já que ele mora em um desses diretórios.
Acabei de instalar um chroot
de 32 bits para executar no meu sistema de 64 bits. No ambiente chroot
, o comando sudo
não funciona, diz
sudo: comando não encontrado
Além disso, quando tento o comando su root
, minha senha não funciona ( su: authentication failure
). Qual senha eles querem?
Sou bem novo no Ubuntu, então na verdade não sei o que estou fazendo. Estou apenas tentando seguir as instruções.
Eu resolvi esse problema específico simplesmente iniciando o chroot
pelo comando:
katarina@ubuntu:~$ schroot -c oneiric_i386 -u root
em vez daquele que usei pela primeira vez:
katarina@ubuntu:~$ schroot -a
Ainda tenho alguns outros problemas, mas acho que não é para essa pergunta.
Na minha opinião, a questão é mais sobre não entender o que o chroot faz.
Ele move / para onde quer que você diga, então não há mais / bin, / sbin ou / usr.
Isso significa que você não terá mais o sudo, já que ele mora em um desses diretórios.
Você deve instalar o sudo no ambiente chroot'ed:
apt-get install sudo
Quando você inicia um ambiente chroot, geralmente já é root, portanto, não é necessário usar sudo
ou su root
.
Se você precisa usar uma conta de usuário não-root, você precisa criá-lo primeiro e fazer login como aquele usuário com (no chroot)
login myuser
ou
su - myuser
Em seguida, se você quiser permitir que esse usuário use sudo
, será necessário adicioná-lo ao grupo admin
no chroot.
Há mais do que você pensa em conseguir uma prisão chroot em funcionamento. No seu exemplo, é porque o comando sudo
está em /bin
e não está disponível em sua nova raiz. Mas apenas instalar os pacotes base para a nova raiz não fará o truque, você também precisa montar um / proc
, /sys
e /dev
para a cadeia, provavelmente criar um par de nós simbólicos, definitivamente um tty
e para a maioria dos propósitos práticos, provavelmente não funcionará sem random
também. Você faz isso com mknod
.
Agora tudo isso parece complicado e, para ser honesto, é um pouco complicado. As distribuições baseadas no Debian têm uma maneira mais simples de lidar com isso, a saber, debootstrap
, para o qual você pode encontrar um tutorial de instruções no site de ajuda do Ubuntu.