Назад | Перейти на главную страницу

schroot работает только как root

Недавно я сменил свою ОС с openSUSE на CentOS. Частью этого перехода была миграция моих chroot jails и конфигурации schroot. Однако этот переход не выглядит «подключи и работай». Раньше я мог использовать schroot как мой пользователь «richard», но в CentOS только пользователь root может использовать schroot.

Это очень неудобно, поскольку операции, которые выполнялись быстро и легко, теперь требуют ввода пароля. Есть ли конфигурация, которую я могу изменить, чтобы позволить пользователю richard использовать schroot?

пример

$ schroot -c kanos date
E: kanos-247a7d6f-8a4e-4ac2-8d5a-99ce7d66b8a3: Failed to lock chroot:/var/lib/schroot/session/kanos-247a7d6f-8a4e-4ac2-8d5a-99ce7d66b8a3: Failed to write session file: Permission denied

$ sudo schroot -c kanos date
Fri Apr 10 11:43:53 GMT 2015

Примечание. Я попытался изменить разрешения на / var / lib / schroot / сеанс / и / var / lib / schroot / монтировать /, чтобы предоставить доступ более богатому пользователю. Шруту это не понравилось, и он пожаловался, что доступ должен иметь только root.

$ schroot -c kanos date
E: 10mount: mount: only root can use "--bind" option
E: 10mount: /etc/schroot/setup.d/10mount: line 52: /var/lock/schroot/umount: Permission denied
E: kanos-92acb0de-f663-4bd0-a6b6-9bbe9771b454: Chroot setup failed: stage=setup-start

Системная информация

CentOS Linux release 7.0.1406 (Core)
schroot-1.6.5-5.el7.x86_64

Конфигурация

[kanos]
description=kanos build server jail
type=directory
directory=/var/chroot/kanos
users=richard
groups=richard
root-users=root
root-groups=root
personality=linux32
preserve-environment=true

Я встретил ту же проблему и нашел решение. Вам необходимо установить корень setuid для исполняемого файла schroot. Шаг показан ниже.

  1. cd /usr/bin
  2. sudo chmod 4755 schroot
  3. наслаждайся этим.