Я только что установил 32-битный chroot
для работы в моей 64-битной системе. В среде chroot
команда sudo
не работает, говорится
sudo: команда не найдена
blockquote>Также, когда я пытаюсь [ 115], мой пароль не работает (
su: authentication failure
). Какой пароль они хотят?Я довольно новичок в Ubuntu, так что на самом деле я действительно не знаю, что делаю. Я просто пытаюсь следовать инструкциям.
Я решил эту конкретную проблему, просто запустив
chroot
командой:katarina@ubuntu:~$ schroot -c oneiric_i386 -u root
вместо той, которую я использовал в первый раз:
katarina@ubuntu:~$ schroot -a
У меня все еще есть некоторые другие проблемы, но я думаю, что это не для этого вопроса.
Когда вы запускаете среду chroot, вы, как правило, уже являетесь пользователем root, поэтому вам не нужно использовать sudo
или su root
.
Если вам нужно использовать учетную запись пользователя без полномочий root, вам нужно сначала создать ее и войти в систему под этим пользователем (в chroot)
login myuser
или
su - myuser
[ 119] Далее, если вы хотите разрешить этому пользователю использовать sudo
, вам нужно добавить его в группу admin
в chroot.
Вы должны установить sudo в изолированной среде:
apt-get install sudo
Это нечто большее, чем вы думаете, чтобы получить рабочую тюрьму. В вашем примере это потому, что команда sudo
находится в /bin
и недоступна в вашем новом корне. Но простая установка базовых пакетов в новый корень не сработает, вам также нужно смонтировать / proc
, /sys
и /dev
для тюрьмы, возможно, создать пару символических узлов, определенно [ 115] и для большинства практических целей, вероятно, не будет работать и без random
. Вы делаете это с mknod
.
debootstrap
, для которого вы можете найти базовое практическое руководство на сайте помощи Ubuntu. По моему мнению, вопрос скорее в том, чтобы не понимать, что делает chroot.
Он перемещает / туда, куда вы говорите, так что больше нет / bin, / sbin или / usr.
Это означает, что у вас больше не будет sudo, поскольку он живет в одном из этих каталогов.