Por que o comando sudo não funciona em chroot?

4

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.

    
por katarina 10.04.2012 / 11:48

4 respostas

8

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.

    
por RobotHumans 10.04.2012 / 12:20
5

Você deve instalar o sudo no ambiente chroot'ed:

apt-get install sudo
    
por Penz 14.11.2012 / 21:44
2

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.

    
por enzotib 10.04.2012 / 12:04
1

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.

    
por TC1 10.04.2012 / 15:07

Tags