Sch root - 'libfake root .so' из LD_PRELOAD не может быть предварительно загружен - PullRequest
0 голосов
/ 05 апреля 2020

Я хочу, чтобы минимальная установка Ubuntu Xenial использовалась в качестве каталога ch root, который будет использоваться sch root, чтобы позволить пользователям ch root в изолированной среде. Поскольку тюрьмы ch root будут вложены в непривилегированный контейнер LX C, мне пришлось использовать fakech root с fake root, чтобы создать среду через de bootstrap.

fakechroot fakeroot debootstrap --variant=minbase --arch=amd64 xenial /var/chroot/system http://archive.ubuntu.com/ubuntu
* 1003. * Для тестирования среды я использовал fakech root с командой ch root как root и как непривилегированный пользователь. Это позволило мне успешно войти в каталог ch root как оба пользователя.
fakechroot chroot /var/chroot/system

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

fakechroot schroot -c System

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

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. Однако я не уверен, что sch root использует setuid, так как согласно документации sch root и root, и непривилегированные пользователи могут использовать команду sch root для запуска сеанса.

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

...