Schroot - 'libfakeroot.so' из LD_PRELOAD не может быть предварительно загружен

Я хочу, чтобы минимальная установка Ubuntu Xenial использовалась в качестве каталога chroot, который будет использоваться schroot, чтобы позволить пользователям chroot в изолированной среде. Поскольку chroot-тюрьмы будут вложены в непривилегированный контейнер LXC, мне пришлось использовать fakechroot с fakeroot для создания среды с помощью debootstrap.

fakechrootfakeroot debootstrap --variant=minbase --arch=amd64 xenial /var/chroot/system http://archive.ubuntu.com/ubuntu

Чтобы протестировать среду, я использовал fakechroot с командой chroot и как root, и как непривилегированный пользователь. Это позволило мне успешно войти в каталог как оба пользователя.

fakechroot chroot /var/chroot/system

Как пользователь root, я также могу успешно запустить сеанс schroot и chroot в среду.

fakechroot schroot -c System

Однако при выполнении той же команды от имени непривилегированного пользователя выдается ошибка, и я не могу выполнить chroot в среде.

ERROR: ld.so: object 'libfakechroot.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
E: Failed to execute "/bin/bash": no such file or directory

Мой файл /etc/schroot/schroot.conf выглядит следующим образом:

[System]
description=system
type=directory
directory=/var/chroot/system
groups=root,testUser
root-groups=root,testUser
profile=default
personality=linux

Я считаю, что эта ошибка может быть результатом ограничения LD_PRELOAD использования вызовов setuid. Однако я не уверен, использует ли schroot setuid, поскольку, согласно документации schroot, как пользователи root, так и непривилегированные пользователи могут использовать команду schroot для запуска сеанса.

Если у кого-нибудь есть какие-либо объяснения или решения для этой ошибки, сообщите мне.

0 ответов

Другие вопросы по тегам