Здравствуйте! Сначала дополню свой предыдущий пост: посмотрел в
man nslcd.conf и нашёл там параметр pam_authz_search. Использовать его для решения Вашей задачи будет более правильно, т.к., во-первых, он влияет только на PAM (т.е. аутентификацию), а во-вторых, в фильтре там можно использовать переменные. В тексте описания параметра есть практически готовый фильтр для Вашего случая.
А с группами пожалуйста проясните ситуацию. Группы были бы более предпочтительны, т.к. нужно будет еще накладывать ограничение на доступ к файловой системе, помимо входа.
Теперь про группы. nslcd осуществляет поиск в каталоге LDAP. Если не задавать фильтров, он найдёт все записи, если задавать -- то только те, которые соотвтетсвуют заданным условиям. Проблема LDAP-поиска заключается в том, что мы можем фильтровать записи ТОЛЬКО ПО СОДЕРЖИМОМУ САМИХ ЭТИХ ЗАПИСЕЙ.
То есть если в записи группы перечисленных пользователи, и мы можем отобрать те группы, в которых указан конкретный пользователь. Но это будут ЗАПИСИ ГРУПП.
Имея же запись пользователя, нельзя напрямую определить, какой группе он принадлежит. Можно использовать наложение
memberof, но для posixGroup оно не работает. Если у Вас не используются posixGroup, то тогда Вам повезло,
настраивайте memberof и используйте примерно такой фильтр:
filter passwd (&(objectClass=inetOrgPerson)(memberof=cn=Allowed-192.168.0.25,ou=Groups,dc=mycompany,dc=ru))
Если используются posixGroup, то придётся заводить отдельные groupOfNames (groupOfUniqueNames)-группы специально для nslcd и, опять же, использовать memberof. Не очень удобно. Но осуществимо.
Вообще, в данном контексте преимуществ от групп практически никаких, разве что потом где-то будете ещё их использовать.
Егор