目前,我正在为使用OpenLDAP for Red Hat Linux设置集中身份validation。
目标 – 为Red Hat Linux Servers设置一个集中的OpenLDAPauthentication,其中客户端可以通过ssh连接,用户pipe理可以在一台服务器上完成。
请不要查找rpm或yum安装no cn = config。 我想用slapd.conf和ldap.conf进行configuration
tar -xvf db-4.7.25.NC.tar.gz ls -ltr cp patch.4.7.25.1 patch.4.7.25.2 patch.4.7.25.3 patch.4.7.25.4 db-4.7.25.NC cd db-4.7.25.NC patch -p0 patch.4.7.25.1 patch -p0 < patch.4.7.25.1 patch -p0 < patch.4.7.25.2 patch -p0 < patch.4.7.25.3 patch -p0 < patch.4.7.25.4 cd build_unix/ ./dist/configure make make install export CPPFLAGS="-I/usr/local/BerkeleyDB.4.7/include" export LDFLAGS="-L/usr/local/BerkeleyDB.4.7/lib" export LD_LIBRARY_PATH=/opt/db-4.7.25.NC/build_unix/.libs vi /etc/profile source /etc/profile
cd /opt/ tar -xvzf openldap-2.4.23.tgz openldap-2.4.23 ./configure --with-tls --enable-accesslog --enable-auditlog --enable-dyngroup --enable-dynlist --enable-ppolicy --enable-bdb --enable-syslog --with-cyrus-sasl --with-threads --enable-crypt=yes --enable-ldap=yes --enable-proxycache=yes make depend make make test make install
vi /usr/local/etc/openldap/slapd.conf slappasswd my slapd.conf --------------- database bdb suffix "dc=exa,dc=com" rootdn "cn=Manager,dc=exa,dc=com" rootpw {SSHA}PxEhMMYJvFRqT3L4fYYCmevrt22zYeDS directory /usr/local/var/openldap-data ====================================================== root objects for the LDAP database cat exa.ldif dn: dc=exa,dc=sea dc: exa description: Root LDAP entry for exa.sea objectClass: dcObject objectClass: organizationalUnit dn: ou=People,dc=exa,dc=com ou: People description: All people in organisation objectClass: organizationalUnit
我已经成功地添加了条目,并且可以search数据库,但是当我尝试更改密码时,它提供了错误消息(结果:没有这样的对象(32))
**cn: uid=naveen,ou=People,dc=exa,dc=com uid: naveen cn: naveen objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: {crypt}$1$SBo8cFfd$Nqc9yqobHxwiom/0BLPnf. shadowLastChange: 12502 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 2000 gidNumber: 2000 homeDirectory: /home/naveen** =============================================== [root@localhost bob]# ldappasswd -vx -D "cn=Manager,dc=exa,dc=com" -W - S "uid=naveen,ou=People,dc=exa,dc=com" New password: Re-enter new password: ldap_initialize( <DEFAULT> ) Enter LDAP Password: Result: No such object (32)
任何人都可以build议我一个更好的方法来使用slapd.conf和客户端configuration对Red Hat Linux进行OpenLDAP身份validation。
客户端configuration –
authconfig-TUI
ldap.conf slapd.conf
================================================== =====================================
我解决了ldappasswd问题。
[root@localhost opt]# ldappasswd -vx -D "cn=Manager,dc=exa,dc=com" -W -S "cn=John Smith,ou=People,dc=exa,dc=com" New password: Re-enter new password: ldap_initialize( ) Enter LDAP Password: Result: Success (0) [root@localhost opt]#
请告诉我更好的方式来validation使用OpenLDAP的客户感谢。
在此先感谢纳文
你的问题相当糟糕,纳文。 好像你知道你想做什么,但是你没有真正想过如何去完成它(或研究)。
设置基于LDAP的身份validation的大纲是:
nsswitch.conf文件中。 有一些教程,这将帮助你,如果你谷歌周围。
RedHat也有一些关于这个主题的文字 ,虽然我不能在我的环境中运行RedHat,但是我不能保证它们的准确性。
您应该在客户端上configurationpam和nss-pam-ldapd ,以允许将LDAP目录服务器用作用户,主机,组和其他用户的名称服务信息的主要来源。
现在一切都取决于你的客户端, Fedora和Rhel的“ 部署指南 ”是一个很好的资源。
无论如何,你可以使用system-config-authentication或authconfig authconfig-tui来configuration它们。
这个命令的作用是将我的fedora 19机器configuration成我的openLdap目录:
authconfig --updateall --passalgo=md5 --enableldap --enableldapauth --ldapserver=myserver.mydomain --ldapbasedn=dc=mycompany --enableldaptls --enableldapstarttls --ldaploadcacert=http://myserver.mydomain/server.pem
对于其他发行版,您必须使用Googlesearchfunction。
这应该可以帮助你 – http://www.gentoo.org/doc/en/ldap-howto.xml