Каким образом всех пользователей LDAP показывают с getent passwd?

Это, возможно, более продуктивный для расположения обучения пользователям, или 1-1 или приблизительно 1-10, где Вы могли преподавать им вещи как это. Я сомневаюсь, что любой конечный пользователь иначе нашел бы, что время читает подобные руководства. Необходимо заставить пользователя обладать некоторым преимуществом от изучения этой информации - как иначе, они будут подвергать сомнению точку его.

6
задан 29 July 2013 в 15:12
3 ответа

Это поведение по умолчанию, RHEL ограничивает пользователей, использующих PAM, nss пытается разрешить все доступные записи пользователей / групп в данной базе поиска ldap.

Могут возникнуть ситуации, когда в системе есть монтирование nfs, которое включает файлы, принадлежащие пользователям, не имеющим доступа к машине, вы все равно можете разрешить пользователей, если все они видны ОС (доступ ограничен PAM, поэтому они не смогут войти в систему).

Вы можете использовать одну из следующих опций, чтобы изменить поведение.

  1. Используйте SSSD, он не будет перечислять пользователей / группы по умолчанию. (т.е. getent passwd будет перечислять только локальных пользователей.)

  2. Используйте фильтр ldap, чтобы для машины были видны только необходимые пользователи. Это возможно только при наличии определенного фильтра, который можно использовать для фильтрации пользователя (например, с использованием атрибута memberof в группе).

  3. Используйте режим совместимости для фильтрации пользователей.

, например:

nsswitch.conf 
passwd: files compat
passwd_compat: ldap

in passwd file, add +@netgroup.
2
ответ дан 3 December 2019 в 00:25

Если это вариант, вы можете расширить свою схему ldap согласно следующему

из http://www.secure-computing.net/wiki/index.php/ OpenLDAP / Authentication

Чтобы получить эту проверку хоста, мы собираемся добавить настраиваемую схему в разрешить атрибут host в объектном классе posixAccount. Вы можете загрузите новую схему здесь. Чтобы использовать эту новую схему, распакуйте и сохраните файл scn.schema в / usr / local / etc / openldap / schema и добавьте следующую строку в ваш файл slapd.conf:

...

Затем добавьте в nss_ldap.conf nss_base_passwd dc = base, dc = local? one? host = thismachinehost

синтаксис base? scope ? filter

Это проверено на freebsd, где getent passwd затем перечисляет только пользователей, соответствующих фильтру.

2
ответ дан 3 December 2019 в 00:25

Вы ограничиваете доступ в /etc/security/access.conf , который, хотя и определяет, кто может получить доступ к серверу, не влияет на то, какие пользователи видимый серверу. Обычно это то, что вы хотите: даже если пользователь alice не может войти на сервер, если она владеет файлами в общей файловой системе, я хочу видеть:

$ ls -l ~alice
-rw-rw-r--. 1 alice alice 0 Aug  1 09:09 afile

Вместо:

$ ls -l ~alice
-rw-rw-r--. 1 5234 5234 0 Aug  1 09:09 afile

То есть, Я хочу, чтобы система знала о пользователях, даже если они не могут войти в систему.

Если вы хотите ограничить набор пользователей, видимых системе, вам необходимо настроить подсистему NSS для реализации некоторых своего рода фильтр LDAP. Как вы это делаете, зависит от того, какие инструменты вы используете:

  • user993553 упоминает nss_ldap , устаревший инструмент для интеграции с LDAP.

3
ответ дан 3 December 2019 в 00:25

Теги

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