Могу ли я использовать podman без root с пространствами имен обычного пользователя -(, созданными вне podman )?

Ваш файл exportsвыглядит ненормально для NFS 4:

/ *(rw,subtree_check,no_root_squash,nohide,crossmnt,fsid=0,sync)

Вместо этого, я думаю, вам нужно следовать инструкции Arch Linux для этой строки fsid=0. Он объявляет специальный экспорт, «так называемый -корень NFS».

Затем объявите свой собственный экспорт в последующих строках, как показано в инструкциях. Вы можете экспортировать корневую файловую систему сервера — не путать с корневой файловой системой NFS — как показано в этом старом посте Gentoo .

0
23.12.2020, 09:15
1 ответ

Я не знаком с podman, но если кому-то нужно войти в другое пространство имен, используя /proc/31882/ns/uts, он должен использовать системный вызов setns.

In order to reassociate itself with a new network, IPC, time, or UTS namespace, the caller must have the CAP_SYS_ADMIN capability both in its own user namespace and in the user namespace that owns the target namespace. refer: https://man7.org/linux/man-pages/man2/setns.2.html

Таким образом, без возможностейCAP_SYS_ADMIN(sudo )вызывающий объект не может войти в другое пространство имен. Если это возможно, то это проблема безопасности.

Дополнительное -примечание :установка бита suid в двоичный файл podmanпозволит запускать podmanс возможностями CAP_SYS_ADMINбез упоминания sudo, но я надеюсь, что вы не ожидаете этого ответа.

1
18.03.2021, 22:41

Теги

Похожие вопросы