2

Используя libpam-chroot, можно очень легко изменять подмножество пользователей, основываясь на имени пользователя, когда пользователь входит в систему по SSH.

Какой хороший способ создать эту настройку chroot и libpam-chroot. Одна из моих целей заключается в том, чтобы пользователи chroot были известны только в среде chroot (пароли или что-то еще не сохранялось бы вне chroot). В моей предыдущей настройке мне нужно было вручную обновлять пароли пользователей между /etc/shadow и /var/my_chroot/etc/shadow . Это возможно?

Или существует совершенно другой способ создания подсистем такого типа без необходимости использования совершенно другого (виртуального) компьютера (у меня нет запасного оборудования, и у меня есть только 1 сетевой интерфейс)? Или виртуализация - это правильный ответ в конце концов?

1 ответ1

2

Убедитесь, что у вас есть UsePAM yes в /etc/ssh/sshd_config , и установите модуль PAM, который считывает пользовательскую базу данных из места внутри chroot. Нет простого способа заставить pam_unix читать разные passwd и shadow , но вы можете вместо этого использовать pam_ldap и запустить сервер LDAP внутри chroot (или, что еще лучше, вне chroot, храня свои данные где-то в /var).

Что касается того, использовать ли виртуализацию, это зависит от того, что вы ожидаете от chroot. Он не обеспечивает особой защиты от пользователя с доступом к оболочке. Например, локальная корневая дыра дает полный доступ ко всей машине; локальные пользователи могут немного подглядывать за пределами chroot, ткнув внутрь /proc ; сетевые порты, используемые внутри chroot, не доступны снаружи; ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .