Используйте sudo в сочетании с libnss_switch

Я реализовал libnss_switch в точке входа в докер-контейнер, чтобы «создать» пользователя, переданного через docker run -u UID. Этот скрипт также создает файл /etc/sudoers.d/USER, чтобы разрешить доступ sudo.

Когда я пытаюсь запустить sudo, я получаю ошибку sudo: you do not exist in the passwd database.

Что я могу сделать, чтобы сказать sudo использовать $NSS_WRAPPER_PASSWD вместо /etc/passwd?

2
задан 24 August 2019 в 20:35

1 ответ

Поскольку nss_wrapper использует LD_PRELOAD, вы не можете использовать его с sudo. Динамический компоновщик игнорирует LD_PRELOAD для исполняемых файлов set-user-ID, таких как sudo (у вас будет такая же проблема с чем-то вроде su).

Дополнительную информацию см. в описании «Режим безопасного выполнения» в руководстве ld.so.

3
ответ дан 21 April 2020 в 20:14

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

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