web-dev-qa-db-fra.com

Pourquoi la commande Sudo ne fonctionne-t-elle pas dans chroot?

Je viens d'installer un chroot 32 bits à exécuter sur mon système 64 bits. Dans l'environnement chroot, la commande Sudo ne fonctionne pas, elle indique

Sudo: commande non trouvée

De plus, lorsque j'essaie la commande su root, mon mot de passe ne fonctionne pas (su: authentication failure). Quel mot de passe veulent-ils?

Ubuntu étant assez nouveau pour moi, je ne sais pas vraiment ce que je fais. J'essaie juste de suivre les instructions.


J'ai résolu ce problème particulier simplement en démarrant la chroot avec la commande:

katarina@ubuntu:~$ schroot -c oneiric_i386 -u root

au lieu de celui que j'ai utilisé la première fois:

katarina@ubuntu:~$ schroot -a

J'ai encore d'autres problèmes, mais je suppose que ce n'est pas pour cette question.

4
katarina

À mon avis, la question est plutôt de ne pas comprendre ce que fait chroot.

Il déplace le/où que vous le disiez, il n'y a donc plus/bin,/sbin ou/usr.

Cela signifie que vous n'allez plus avoir Sudo puisqu'il se trouve dans l'un de ces répertoires.

8
RobotHumans

Vous devez installer Sudo dans l'environnement chrooté:

apt-get install Sudo
5
Penz

Lorsque vous démarrez un environnement chroot, vous êtes généralement déjà root, vous n'avez donc pas besoin d'utiliser Sudo ou su root.

Si vous devez utiliser un compte d'utilisateur non root, vous devez d'abord le créer, puis vous connecter en tant qu'utilisateur avec (dans le chroot).

login myuser

ou

su - myuser

Ensuite, si vous souhaitez laisser cet utilisateur utiliser Sudo, vous devez l'ajouter au groupe admin du chroot.

2
enzotib

Il y a plus que ce que vous pensez à obtenir une prison de travail chroot. Dans votre exemple, c'est parce que la commande Sudo est dans /bin et n'est pas disponible dans votre nouvelle racine. Mais installer les paquets de base sur la nouvelle racine ne fera pas l'affaire, vous devez également monter un/proc, /sys et /dev pour la prison, probablement créer quelques nœuds symboliques, certainement un tty et pour des raisons pratiques, cela ne fonctionnera probablement pas sans un random aussi. Vous faites cela avec mknod.

Maintenant, tout cela semble compliqué, et pour être honnête, c'est un peu compliqué. Les distributions basées sur Debian ont un moyen plus simple d’y remédier, à savoir debootstrap, pour laquelle vous pouvez trouver un élément de base tutoriel dans le site d’aide Ubuntu.

1
TC1