Альтернативный подход, если все используют Windows 7 (да, да, я знаю) должен использовать новую homegroup функцию Win7.
Но я предпочитаю решение PDC с Samba. Вы могли также сделать то же с Windows Server - Windows 2008 Foundation должен быть доступным по академическим ценам (это - реклама приблизительно за 250$, таким образом, я ожидал бы, что это прибудет академик за менее чем 50$), и даже Сервер Малого бизнеса (который связывается в обмен), может не быть вне рассмотрения.
Конечно, если у Вас есть другие причины предпочесть сервер Linux, или Ваш опыт с Linux, а не Windows, затем пойдите со своим предпочтением; я просто предлагаю альтернативу.
При использовании NSS, можно установить AllowGroups
параметр в /etc/ssh/sshd_config
. В противном случае необходимо изучить динамические списки:
dn: cn=devandqa,ou=groups,dc=company,dc=com
cn: devandqa
objectClass: groupOfNames
labeledURI: ldap:///ou=groups,dc=company,dc=com?memberUid?one?(|(cn=developers)(cn=qa))
Что-то как этот. Также необходимо включать схему и включать наложение и т.д.... Таким образом, это - запуск.
Мое решение здесь довольно ужасно, но немного менее ужасно, чем, что Вы описываете выше: группа я указываю в pam_groupdn
группа "машины класса", например. cn=database,ou=NY,dc=mydomain,dc=com
Группы квалифицируют, у кого должен быть доступ к определенному классу систем на определенном сайте (в вышеупомянутом примере, database
серверы в NY
).
Это только действительно работает на основании того, которое в моей среде, предоставляющей пользовательский доступ к одной машине в конкретном классе, в значительной степени бессмысленно (потому что они все эффективно идентичны), поэтому если я позволяю кому-то войти db01
нет никакой причины, им нельзя также позволить войти в систему db02
. (Квалификация "сайта" возникает от логики, что я могу нанять кого-то для управления Калифорнией, но я не могу хотеть их входящий в систему машин Нью-Йорка.)
Этот дизайн действительно привлекает некоторое дублирование в группы, которое делает глобально отклоняющий доступ более трудным (например, моя учетная запись перечислена в каждой группе на каждом сайте: Для блокировки моего пользователя, необходимо было бы отредактировать каждую группу и отменить мое членство), но это дает группам логическую/управляемую структуру, которая только растет, когда новые классы сайтов/машины добавляются.
Принятие Вас имеет некоторую систему управления конфигурацией как марионетка, можно создать основанное на PAM решение (таким образом, это является более общим, чем AllowGroups
в sshd_config) при помощи pam_listfile. Сделайте, чтобы марионетка управляла чем-то как /etc/allowed_groups
для каждого сервера/группы серверов и добавляют к Вашей конфигурации PAM:
required pam_listfile.so onerr=fail item=group sense=allow file=/etc/allowed_groups
Как решение SSH это предполагает, что у Вас есть LDAP, соединенный проводом в NSS.
Рабочее решение - применить pam_filter
вместо pam_groupdn
в /etc/ldap.conf
:
# Filter to AND with uid=%s
pam_filter |(member=CN=developers,OU=groups,DC=yourcompany)(member=CN=QA,OU=groups,DC=yourcompany)
«Фильтр по И с uid =% s» означает, что фильтр, отправленный на LDAP-сервер, будет иметь следующий вид: & (uid = <ваше имя пользователя>) (<ваш pam_filter>)
Пользователь должен быть член разработчиков
или QA
. Если он не является членом одной из этих групп, в ответе сервера LDAP будет сообщение об ошибке, и пароль даже не будет отправлен на сервер LDAP.
Работает в моей среде RHEL 5.8.
Чтобы узнать о различных вариантах фильтра, проверьте "синтаксис фильтра ldap" в Google ...
Jekk qed tuża RHEL6 + il-fajl conf jinsab fi /etc/pam_ldap.conf
u mhux /etc/openldap/ldap.conf
. Jekk tpoġġi l-entrata pam_groupdn
hemmhekk allura taħdem kif iddisinjat. L-aħjar mod biex tagħmel dan ikun li tikkopja ldap.conf tiegħek
għal pam_ldap.conf
jew toħloq rabta simbolika.
AllowGroups
? Это довольно чисто. Я буду ожидать лучших ответов (где "лучше" ==, "о чем я думал"), но я думаю, что у Вас есть он. – Bill Weiss 14 September 2010 в 21:00