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 для запуска сеанса.
Если у кого-нибудь есть какие-либо объяснения или решения для этой ошибки, сообщите мне.