Ограничение использования консолей
Модуль pam_access обеспечивает управление входом в систему. Этот модуль может использоваться для принятия решения о том, каким пользователям разрешен вход в систему. Так как PAM имеет средства аутентификации по сети, то контролируется не только кто может или не может зайти, но и откуда.
По умолчанию правила управления доступом берутся из файла конфигурации /etc/security/access.conf.
Чтобы ограничить консольный доступ для пользователей с помощью модуля pam_access.so необходимо внести изменения в файл /etc/security/access.conf.
permission:users:origins
- permission — знак «+» (плюс) — предоставление доступа, или знак «-» (минус) — отказ в доступе;
- users — список пользователей или групп пользователей или ключевое слово ALL;
- origins — список TTY (для локального доступа), имен хостов, доменных имен, IP-адресов, ключевое слово ALL или LOCAL.
Чтобы ограничить локальный доступ для всех пользователей, кроме пользователя root, следует внести следующие изменения:
# vim /etc/security/access.conf
-:ALL EXCEPT root: ALL localhost
Чтобы ограничить доступ для всех пользователей, кроме пользователя root, на всех текстовых консолях следует внести следующие изменения:
# vim /etc/security/access.conf
-:ALL EXCEPT root: tty2 tty3 tty4 tty5 tty6 localhost
Доступ может быть ограничен для конкретного пользователя:
# vim /etc/security/access.conf
-:user: tty2 tty3 tty4 tty5 tty6 localhost
Доступ может быть ограничен для группы, содержащей несколько пользователей:
# vim /etc/security/access.conf
-:group:tty1 tty2 tty3 tty4 tty5 tty6 LOCAL
Далее необходимо сконфигурировать стек PAM для использования модуля pam_access.so для ограничения доступа на основе ограничений, определенных в файле /etc/security/access.conf. Для этого дописать в файл /etc/pam.d/system-auth-local-only строку account required pam_access.so
после строки account required pam_tcb.so
:
auth required pam_tcb.so shadow fork nullok
account required pam_tcb.so shadow fork
account required pam_access.so
password required pam_passwdqc.so config=/etc/passwdqc.conf
password required pam_tcb.so use_authtok shadow fork nullok write_to=tcb
session required pam_tcb.so
Документация:
man access.conf