Мое решение здесь довольно ужасно, но немного менее ужасно, чем, что Вы описываете выше: группа я указываю в pam_groupdn
группа "машины класса", например. cn=database,ou=NY,dc=mydomain,dc=com
Группы квалифицируют, у кого должен быть доступ к определенному классу систем на определенном сайте (в вышеупомянутом примере, database
серверы в NY
).
Это только действительно работает на основании того, которое в моей среде, предоставляющей пользовательский доступ к одной машине в конкретном классе, в значительной степени бессмысленно (потому что они все эффективно идентичны), поэтому если я позволяю кому-то войти db01
нет никакой причины, им нельзя также позволить войти в систему db02
. (Квалификация "сайта" возникает от логики, что я могу нанять кого-то для управления Калифорнией, но я не могу хотеть их входящий в систему машин Нью-Йорка.)
Этот дизайн действительно привлекает некоторое дублирование в группы, которое делает глобально отклоняющий доступ более трудным (например, моя учетная запись перечислена в каждой группе на каждом сайте: Для блокировки моего пользователя, необходимо было бы отредактировать каждую группу и отменить мое членство), но это дает группам логическую/управляемую структуру, которая только растет, когда новые классы сайтов/машины добавляются.
Судя по некоторым исправлениям, похоже, что два важных для вас атрибута меняются, когда Вы переименовываете объект пользователя: атрибут "cn" и атрибут "name". Оба эти атрибута отражают значение, введенное в поле «Полное имя» при переименовании пользователя. Я полагаю, вы могли бы извлечь любой из них для достижения своей цели.