1、yum -y install openldap openldap-clients openldap-servers nss_ldap samba samba-client openssl mod_ssl php-ldap php-pdo php-cli php-common perl-LDAP smbldap-tools perl-Digest-SHA1 perl-Digest-SHA perl-Unicode-String perl-Unicode-Map8 perl-Unicode-Map perl-Unicode-MapUTF8 perl-Jcode
【或者安装这些 yum install openldap openldap-servers openldap-clients openldap-devel compat-openldap】
2、【配置 openldap】
先备份配置文件:
# cp /etc/ldap.conf /etc/ldap.conf.orig
# cp /etc/nsswitch.conf /etc/nsswitch.conf.orig
# cp -R /etc/openldap /etc/openldap.orig
(1)修改 slapd.conf
# nano /etc/openldap/slapd.conf
suffix "dc=example,dc=com"
rootdn "cn=Manager,dc=example,dc=com"
/usr/sbin/slappasswd
123456
{SSHA}iEwDVHzvw/mi8r2s7HRLr0ZIkWZH+azI
修改/etc/openldap/slapd.conf
添加一行:rootpw {SSHA}iEwDVHzvw/mi8r2s7HRLr0ZIkWZH+azI
(3)生成 DB_CONFIG
# cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
然后授予拥有权 ownership
# chown -R ldap:ldap /var/lib/ldap
# chmod 700 /var/lib/ldap
(4)设置开机启动
# chkconfig --levels 235 ldap on
(5) 启动
/etc/init.d/ldap start
【添加记录】 随便在哪个目录下创建一个ldif
vim /home/1.ldif
dn: dc=example,dc=com
dc: example
objectClass: top
objectClass: domain
dn: ou=Computers,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Computers
# Department, example.com
dn: ou=Department,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Department
# Develop, Department, example.com
dn: ou=Develop,ou=Department,dc=example,dc=com
objectClass: top
objectClass: organizationalUnit
ou: Develop
【develop】为department的子ou
【导入】
使用 ldapadd 导入 ldif 文件:
ldapadd -x -D "cn=Manager,dc=example,dc=com" -W -f /home/1.ldif
然后输入刚刚slappasswd的密码 “123456"
结果:
adding new entry "dc=example,dc=com"
adding new entry "ou=Computers,dc=example,dc=com"
【注意】:在这里需要注意的几点
1、ldap出现的错误一般都是新建的ldif文件里的条目和schema文件对不上
2、新建的ldif文件,要注意不能有空格和空行,否则也会报错
ldapadd: Invalid syntax (21)
additional info: objectClass: value #0 invalid per syntax
【安装web】这里用的是httpd
yum -y install httpd
vim /etc/httpd/conf/httpd.conf
找到#AddType application/x-tar .tgz 这行,在下面加两行。
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
找到下面一行在后面加上index.php,这表示网站的默认页也能够为index.php
DirectoryIndex index.html index.php
启动apache
【下载phpldapadmin并设置】
wget http://sourceforge.net/projects/phpldapadmin/files/phpldapadmin-php5/1.2.1/phpldapadmin-1.2.1.tgz -O /root/phpldapadmin-1.2.1.tgz
tar xf /root/phpldapadmin-1.2.1.tgz
mv /root/phpldapadmin-1.2.1 /var/www/html/phpldapadmin
cp -p /var/www/html/phpldapadmin/config/config.php.example
/var/www/html/phpldapadmin/config/config.php
在这里我使用的config.php配置是默认的,并没有做任何修改
在浏览器上登录phpldapadmin
http://192.168.10.46/phpldapadmin/
用户:cn=Manager,dc=example,dc=com
密码:就是刚刚创建的123456
【清空(删除)记录】
(1)先停止 ldap
(2)删除 /var/lib/ldap 下的文件,但保留 DB_CONFIG 文件。如果该目录下文件全部删除了,需要在复制一份 DB_CONFIG 到目录。
Html代码 收藏代码
# cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
(3)该目录授权到 ldap
(4)重启 ldap
【客户端】
安装所需的软件包:
yum install openldap-clients pam_ldap nss-pam-ldapd
1、编辑openldap客户端配置文件
vim /etc/openldap/ldap.conf
输入:
URI ldap://192.168.1.22
BASE dc=example,dc=com
在客户端测试下搜索数据库:
ldapsearch -x -b "dc=example,dc=com"
# example.com
dn: dc=example,dc=com
dc: example
objectClass: top
objectClass: domain
....
...
# numResponses: 9
# numEntries: 8
所出现的跟服务器端一模一样
3、
使用图形交互界面设置pam和ldap其余内容
authconfig-tui
【User Information选择】:
Use LDAP
【Authentication选择】:
Use Shadow Passwords
Use LDAP Authentication
PS:交互界面修改了/etc/pam_ldap.conf、/etc/pam.d/system-auth、/etc/nsswitch.conf这三个文件。
【设置第一次登陆时建立家目录】
vim /etc/pam.d/system-auth
在最后添加:
session required pam_mkhomedir.so skel=/etc/skel umask=0022
---这条很重要,在服务器端登陆的时候,会提示,没创建家目录,登陆到客户机的时候,直接就到了客户机的根目录下了。。 加上的话,在登陆的时候,可以看到creating ….家目录在客户机上被创建
随后使用inbank用户名及密码登陆。
显示:
测试结果如下
Creating directory '/home/inbank'.
Creating directory '/home/inbank/.mozilla'.
Creating directory '/home/inbank/.mozilla/extensions'.
Creating directory '/home/inbank/.mozilla/plugins'.
-sh-3.2$
如果无法为用户创建家目录的话,可以在服务器上这样配置
【事实我并没有出现过无法创建家目录的情况,以下是在网上找的,先放到这,如果有朋友遇到可以试试】
.配置autofs,自动挂载ldap用户的家目录。
[root@dtop5 ~]# vim /etc/auto.master
加上一条“/rhome /etc/auto.ldap”
cp /etc/auto.misc /etc/auto.ldap
vim /etc/auto.ldap
* -rw,soft,intr 192.168.1.22:/rhome/&
重新加载autofs,测试登录。
[root@dtop5 ~]# service autofs reload
【openldap通过web增加用户】在下一篇会写
参考资料
http://www.live-in.org/archives/1731.html
http://kingsz1.iteye.com/blog/842406
http://www.ttlsa.com/html/786.html