В нашей компании есть центральная конфигурация NIS, которую мы используем для доступа к серверам наших команд (Redhat) ...
Текущая конфигурация позволяет всем допустимым пользователям, прошедшим аутентификацию NIS, подключаться к нашим серверам. Мы не можем обновить или изменить что-то на главном сервере NIS ... так что ...
Есть ли способ использовать сетевые группы или какую-либо другую конфигурацию, чтобы позволить членам нашей команды проходить аутентификацию с помощью сервера NIS, но при этом ограничивать доступ для всех других пользователей?
Спасибо!
Есть ли способ использовать сетевые группы или какую-либо другую конфигурацию, чтобы позволить членам нашей команды проходить аутентификацию с помощью сервера NIS, но при этом ограничивать доступ для всех других пользователей?
Вот почему существуют сетевые группы.
Самое простое решение сделать то, что вы хотите, - использовать compat
функциональность nsswitch.conf
. Это задокументировано - кратко и плохо - в nsswitch.conf(5)
:
Взаимодействие с синтаксисом +/- (режим совместимости)
... В / etc / passwd у вас могут быть записи в форме + пользователь или + @ netgroup (включить указанного пользователя из карты NIS passwd), -user или - @ netgroup (исключить указанного пользователя) и + (включить всех пользователей, кроме исключенных, из карты NIS passwd).
На практике это означает, что если ваш nsswitch.conf
выглядит так:
passwd: compat
И ваш /etc/passwd
заканчивается такой строкой:
+@myusers
Тогда только члены myusers
netgroup сможет пройти аутентификацию в системе.
Вы можете сделать нечто подобное, используя pam_listfile
модуль в вашей конфигурации PAM и создание ограничений на основе группы (а не сетевая группа) членство. Это хорошо, если у вас есть группы и сетевые группы, которые вы пытаетесь синхронизировать (потому что теперь вы можете просто использовать стандартные группы Unix). Этот документ есть пример ограничения входа в систему для определенных групп с помощью pam_listfile
.