Локально запретить вход для пользователей, прошедших проверку подлинности через LDAP

У меня есть сервер RedHat Linux, который используется для более чем 1000 пользователей

Имена пользователей поступают на сервер по протоколу LDAP, поэтому аутентификация входа происходит из LDAP

Мой вопрос: возможно ли заблокировать вход пользователя на локальный компьютер, а имена пользователей – из LDAP?

One Solution collect form web for “Локально запретить вход для пользователей, прошедших проверку подлинности через LDAP”

Логика аутентификации обычно обрабатывается PAM в настоящее время. Я предполагаю, что вы должны установить это в конфигурационных файлах PAM (в моем случае, в /etc/pam.d ).

Общая логика аутентификации хранится в common-auth . В вашем случае, я предполагаю, что у вас должно быть что-то вроде этого:

 auth [success=2 default=ignore] pam_unix.so nullok_secure auth [success=1 default=ignore] pam_ldap.so use_first_pass auth requisite pam_deny.so auth required pam_permit.so 

… или, может быть, немного проще, например:

 auth sufficient pam_unix.so nullok_secure auth sufficient pam_ldap.so use_first_pass 

… в зависимости от того, является ли LDAP первым или вторым источником по сравнению со стандартной аутентификацией UNIX (учитывая, что он также задействован).

Теперь, если вы хотите отключить аутентификацию LDAP на компьютере или запретить доступ к пользователям, прошедшим проверку подлинности LDAP, все, что вам нужно сделать, это удалить этот источник из конфигурации PAM и использовать его только для проверки подлинности UNIX:

 auth [success=1 default=ignore] pam_unix.so nullok_secure auth requisite pam_deny.so auth required pam_permit.so 
  • Когда pam_unix.so удастся, пропустите 1 элемент из остальной части цепочки ( pam_deny.so ) и оцените следующий ( pam_permit.so ). Это означает, что при неудачной аутентификации UNIX пользователь получает pam_deny.so в pam_deny.so , что приводит к сбою аутентификации. Когда он преуспеет, он получает pam_permit.so и получает доступ к системе.
  • LDAP здесь не задействован, что означает, что любой пользователь, который не хранится в /etc/passwd не может получить доступ к системе.

Теперь, если вы хотите специально заблокировать пользователей LDAP …

 auth [success=die] pam_ldap.so auth sufficient pam_unix.so 
  • Когда pam_ldap.so удастся, верните код сбоя и завершите цепочку. Если это не удается, pam_unix.so достаточно для доступа к системе.
  • Это приведет к прерыванию всех аутентификаций PAM при совпадении учетных данных LDAP. Пользователи UNIX могут получить доступ к системе.

Конечно, есть много других способов настройки PAM, и некоторые из них, вероятно, лучше / эффективнее, чем те, которые я только что дал. Для получения дополнительной информации об этом просмотрите эту страницу . Однако обратите внимание на то, что: прежде чем вы начнете играть с настройкой PAM, убедитесь, что у вас есть root терминал, безопасно работающий где-то. Если вы испортите логику аутентификации, вы будете более чем счастливы снова обратиться к /etc/pam.d и вернуть свои изменения 🙂

Другая сторона примечания: в то время как PAM обрабатывает аутентификацию (и некоторые другие вещи), разрешение имен обрабатывается NSS ( Service Service Name ), конфигурация которого может быть найдена в /etc/nsswitch.conf . Если вы оставите LDAP в этом файле, система все равно будет знать об этих LDAP-пользователях, но не позволит им входить. В принципе, это позволяет системе сопоставлять UID с именами, например, когда вы указываете содержимое ( ls -l ) и получить владельцев файлов.

Вы также можете удалить этот источник имени LDAP, отредактировав конфигурацию NSS, но я бы не рекомендовал его, если ваши пользователи фактически владеют файлами, доступными на машине.

  • Как настроить централизованные домашние каталоги и аутентификацию пользователей с помощью LDAP и NFS?
  • Ресурс, необходимый для управления файлами cert.db7 для AIX
  • Открытый LDAP предназначен для работы с командой passwd для Linux?
  • getent shadow показывает хэши паролей для некоторых пользователей
  • Аутентификация Linux LDAP Protocol AD (активный каталог): не удается войти с паролем
  • Добавление пользователя LDAP в локальную группу
  • Перенос LDAP с одной машины на другую
  • группа getent работает, но sshd_config allowgroups не извлекает соответствующую группу
  • Сообщение об ошибке на несуществующем домашнем каталоге (настройки pam.d / *)
  • Не удается выполнить root после редактирования PAM-консолидации на ящике Rackspace Linux
  • Как определить, какая группа отвечает за ваши права sudo?
  • Interesting Posts

    Сокращение порядка и вывод текста

    Не удалось запустить chdir в домашний каталог при создании и входе в систему нового пользователя?

    Ошибка «Ошибка: разрешение отказа» от Transfer Client

    Проблема с ssh && apt-get, нужна консультация

    Получение последовательности fasta с использованием информации файла с файла из локально установленного файла

    Скрипт для копирования файлов из папки и добавления md5sum в новое имя файла

    Проверка точки подключения логического тома (командной строки)

    mdadm; ранее работала; после «сбоя», не может присоединиться к массиву из-за размера диска

    Как исправить рабочий стол x2go, который не изменяет размер содержимого в соответствии с размером окна удаленного рабочего стола

    Can 'ssh <host> <command>' настраивается всегда на загрузку файлов на стороне сервера?

    проверить переменную в файле для согласованности в приращении

    Как заменить заголовок файла заголовком другого файла

    Значок рабочего стола без изображения в Gnome (Debian Jessie)

    Не удается подключиться к моей системе Virtual Box Ubuntu

    Могу ли я рекурсивно печатать все текущие удаленные оболочки?

    Linux и Unix - лучшая ОС в мире.