Я являюсь администратором пары серверов Solaris 11.4 x86 и группы членов Microsoft AD моей компании. Я не являюсь администратором всей Microsoft AD, я просто могу добавлять и удалять участников в этой группе. Я хочу, чтобы члены этой группы могли входить на мои серверы solaris 11.4 с учетными данными компании AD.
ИТ-поддержка моей компании помогла мне решить аналогичную проблему на Centos без сертификата (т.е. они должны были ввести пароль root в клиенте linux), но поскольку это не сработало сразу на Solaris 11.4, они немедленно отказались. Вместо этого они предоставили сертификат корневого ЦС. Поэтому я пытаюсь решить эту проблему сам с помощью этого сертификата.
cp USERROOTCA.crt /var/ldap/ad-cert.txt
openssl x509 -in /var/ldap/ad-cert.txt -subject -issuer -purpose
certutil -A -n /var/ldap/ad-cert -t "CT,C,C" -d /var/ldap -i /var/ldap/ad-cert.txt
certutil -L -d /var/ldap
chmod a+r /var/ldap/*.db
openssl s_client -connect ldap_server.mycompany.com:636 -CAfile /var/ldap/ad-cert.txt < /dev/null
kinit -V johndoe@MYCOMPANY.COM
ldapsearch -H ldap://ldap_server.mycompany.com -P 3 -b "cn=my_kerberos_group,ou=groups,ou=mydepartment,dc=mycompany,dc=com" -s base '(&)' member
SASL/GSSAPI authentication started
SASL username: jondoe@mycompany.com
SASL SSF: 56
SASL data security layer installed.
# extended LDIF
#
# LDAPv3
# base <cn=my_kerberos_group,ou=groups,ou=mydepartment,dc=mycompany,dc=com> with scope baseObject
# filter: (&)
# requesting: member
#
# my_kerberos_group,groups,mydepartment, mycompany.com
dn: cn=my_kerberos_group,ou=groups,ou=mydepartment,dc=mycompany,dc=com
member: CN=alfred,OU=division1,OU=Employee,OU=Account,DC=mycompany,DC=com
member: CN=susie,OU=division3,OU=Employee,OU=Account,DC=mycompany,DC=com
member: CN=sandy,OU=division3,OU=Employee,OU=Account,DC=mycompany,DC=com
member: CN=michael,OU=division2,OU=Employee,OU=Account,DC=mycompany,DC=com
member: CN=eleen,OU=division2,OU=Employee,OU=Account,DC=mycompany,DC=com
...
# search result
search: 5
result: 0 Success
# numResponses: 2
# numEntries: 1
Все идет нормально. Я счастлив, что могу общаться с сервером LDAP. После внесения изменений, предложенных в руководстве Эндрю Уоткинса (http://notallmicrosoft.blogspot.com/2012/10/solaris-11-authentication-login-with.html) в nsswitch.conf, krb5.conf, /etc/pam.d/login, /etc/pam.d/other Я пытаюсь запустить командную строку ldapclient.
ldapclient -v manual -a credentialLevel = self -a authenticationMethod = sasl / GSSAPI -a certificatePath = / var / ldap -a proxyDN = cn = my_kerberos_group, ou = groups, ou = mydepartment, dc = mycompany, dc = comword -a proxyPass = * my *** pass *** word -a defaultSearchBase = dc = mycompany, dc = com -a domainName = mycompany.com -a "defaultServerList = ldap_server.mycompany.com" Система успешно настроена
Даже это работает. Тем не мение,
id johndoe
id: invalid user name: "johndoe"
и getent passwd johndoe
ничего не возвращает.
Есть ли у меня правильный credentialLevel и authenticationMethod для использования корневого сертификата? Или есть еще одна ошибка? Спасибо!