Предпочитаемый способ создания chroot при chrooting подмножества пользователей при входе в систему с SSH?

544
Joni

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

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

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

2

1 ответ на вопрос

2
Gilles

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

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

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