服务器端配置完毕后,就开始配置客户端了
配置client端步骤如下:
1)/usr/sysconfig/authconfig,其中以下几项要设置为yes
USELDAP=yes
USELDAPAUTH=yes
USESHADOW=yes
USELOCAUTHORIZE=yes
2)/etc/ldap.conf
host server(服务器)
BASE dc=syroidmanor,dc=com
3)/etc/nsswitch.conf
passwd:files ldap
shadow:files ldap
group :files ldap
4)/etc/openldap/ldap.conf
host server(服务器)
BASE dc=syroidmanor,dc=com
配置完毕后就可以在client端进行测试,通过下面的命令查看ldap服务器上的账户是否能够被正常解析
getent passwd ldapuser
getent group ldapuser
如果可以被正常解析出来,就可以在client上通过ldap账户登录了。在测试的时候碰到一个问题:在执
行su ldapuser命令的时候提示"access denied"。参考下面的方法解决
将/etc/ldap.conf中的pam_check_host_attr设置为no即可
下面设置phpldapadmin,通过图形化方式管理ldap服务器
先安装php运行环境,参考:
下载phpldapadmin,
tar phpldapadmin.tar.gz
cp /usr/local/apache/htdoc/phpldapadmin/config.php.example config.php
编辑config.php
$servers->SetValue('server','name','MY LDAP Server');
$servers->SetValue('server','host','127.0.0.1');
$servers->SetValue('server','port','389');
$servers->SetValue('server','base',array('dc=syroidmanor,dc=com'));
$servers->SetValue('login','auth_type','session');
$servers->SetValue('login','bind_id','cn=root,dc=syroidmanor,dc=com');
$servers->SetValue('login','bind_pass','');
然后通过浏览器就可以访问phpldapadmin进行ldap对象的维护了。
在使用phpldapadmin的过程中也有一些问题,如下:
1) 在运行phpldapadmin的时候报错如下:
call to undefined bind text domain in common.php
需要安装gettext组建
tar zxvf gettext
cd gettext
./configure --prefix=/usr/local/gettext
重新安装php,安装的时候加上参数--with-gettxt=/usr/local/gettext
make
make test
make install
2)运行phpldapadmin的时候报错如下
Your install of php appears to be missing LDAP support Please install LDAP support before
using phpldapadmin
rpm -ivh php-ldap
rpm -qal
重新安装php,加上参数--with-ldap
3)Apache: Could not determine the server's fully qualified domain name,using 127.0.0.1
在httpd.conf中修改ServerName localhost:80
4)要查询某个ou下的对象
ldapsearch -x -D "cn=root,dc=syroidmanor,dc=com" -W -b "ou=people,dc=syroidmanor,dc=com"
阅读(3503) | 评论(2) | 转发(0) |