В настоящее время я использую сервер OpenLDAP, управляющий моими пользователями Linux как элементами posixaccount и posixgroup, например:
dn: cn=shellinger,ou=groups,dc=company,dc=com
cn: shellinger
gidNumber: 5001
objectClass: posixGroup
objectClass: top
dn: cn=shellinger,ou=people,dc=company,dc=com
cn: Simon Hellinger
uid: shellinger
uidNumber: 5001
gidNumber: 5001
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
objectClass: top
...
Прямо сейчас, помимо основных групп, членство в группе Linux управляется локально на каждой машине. Это работает, но я думаю, что это противоречит цели централизованного управления пользователями.
Что я считать Я хочу назначить своим пользователям разные наборы групп в зависимости от того, на какой машине они входят. Как правило, у моих пользователей есть полезный бизнес на всех моих машинах, поэтому я считаю, что ограничения на вход в систему (на основе хоста или определенной группы) слишком грубые для моего варианта использования. Я хочу ограничить то, что они могут делать на каждой машине, если они вообще могут войти в систему; и, по моему мнению, это означает, в какие группы Linux они входят.
Кроме того, эти группы (и, как таковые, разрешения) могут сильно различаться для каждого пользователя на каждой машине, человек с правами суперпользователя на одной машине может быть обычным пользователем на следующей.
Говоря языком непрофессионала, это звучит как групповое назначение на основе ролей, но после того, как я бросил весь свой словарь LDAP в Google и serverfault, я все еще не мог понять это.
Подводя итог, можно задать следующие вопросы: допустим ли мой вариант использования? Правильно ли я поступаю? Должен ли я вообще управлять группами Linux в LDAP?
В общем, членство в группах должно управляться централизованно, как и пользователями.
Однако когда вы говорите о пользователях, которым необходимы права суперпользователя, я думаю, что вы управляете wheel
для su
на каждой машине отдельно. Это приемлемо, но немного утомительно, особенно если у вас несколько серверов, которые должны вести себя одинаково.
Вы можете изменить группу, которую использует pam_wheel
или иметь несколько записей pam_wheel (с разными параметрами каждый раз в /etc/pam.d/su
, но лучшая альтернатива - использовать sudo
и интегрируйте это с вашим LDAP. Sudo предоставит вам более точный контроль над каждым сервером, а LDAP распределяет его соответствующим образом.
Некоторые дистрибутивы разделяют sudo и sudo-ldap.