Ldap统一认证实验

1.所需环境

LAMPmysql没有用到

域名称设置:abc.com(这里先做了NIS域,可以不做)

服务器名:model

2.下载软件

Db-6.0.30.tar.gz

Openldap-2.4.39.tgz

Pam_ldap.gzNss_ldap.gz32为系统,64nss-pam-ldap,实验中直接emerge了)

Phpldapadmin-1.2.3.tgz

实验步骤:

上传上述文件到model

Tar zxvf db-6.0.30.tar.gz

Cd db.6.0.30/build_unix

../dist/configure##DB有本地编译的目录

Make

Make install

Echo “/usr/local/BerkeleyDB.6.0/lib” >>/etc/ld.so.conf

Cp /usr/local/BerkeleyDB.6.0/lib /usr/lib

Cp /usr/local/BerkeleyDB.6.0/inclube /usr/inclube

Tar xvf openldap-2.4.39.tgz

Env CPPFLAGS=”-I /usr/local/BerkeleyDB.4.7/include” 

LDFLAGS=”-l/usr/”local/BerkeleyDB.4.7/lib ./configure –prefix=/usr/local/openldap 

–enable-ldbm

Make depend

Make

Make install

Cd /usr/local/openldap/etc/openldap

wKioL1NPZ9vBNR5hAAKV4baxeNM610.jpg

wKiom1NPaASzblz7AADE880RYq8440.jpg

启动openldap

/usr/local/openldap/libexec/slapd

wKioL1NPZ-ywhSiZAAC8ktiL4ug331.jpg

Vi ldap.conf

wKiom1NPaB6icmgAAACeDI1BMr0723.jpg

Vi /etc/ldap.conf

wKioL1NPaADSMPHuAACmD_T0h9s249.jpg

录入信息,这里我们只要创建一个基本的域,其他的都可以登录到图形界面去管理

Vi init.ldif

Dn: dc=abc,dc=com

Objectclass: dcobject

Objectclass:organization

Dc: abc

导入命令

/usr/local/openldap/bin/ldapadd –x –W –D “cn=admin,dc=abc,dc=com” –f init.ldif


Openldapadmin配置

Tar zxvf openldapadmin-1.2.3.tar.gz

Cd openldapadmin-1.2.3

mv phpldapadmin-1.2.3 /var/www/localhost/htdocs/phpldapadmin –r

cd /var/www/localhost/htdocs/phpldapadmin

cp config/config.php.example config/config.php

登录phpldapadmin,用上面设置的登录密码登录

wKioL1NPaArwpo-1AAIHOxybFMY470.jpg

点击创建一个新条目,如下图是我们可以创建的内容

wKiom1NPaE7xGQInAAInhLkJgWg596.jpg

Nis配置参考文档

见附件

客户端的配置

Emerge pam_ldap nss_ldap

修改验证,先看下pam.d下面文件

wKioL1NPaDSCTfL0AAEadEEyF38220.jpg

Vi system-logon

wKiom1NPaGjjRe0jAAHGgs2W4k8002.jpg

Vi system-remote-login

wKioL1NPaE6Bh1tEAABgZ7YRT9g132.jpg

Vi sshd

wKioL1NPaJyC2QmkAABldgnk0Qo614.jpg

现在我们可以去phpldapadmin里去添加一个账号,然后去客户端测试

Ldap统一验证做的不是很好,无论配置还是使用都有一段差距,不过linux下好像没更好的统一认证软件了


Samba统一认证

Samba的安装

Emerge –av samba

修改samba配置文件

Cp /etc/samba/smb.conf.default /etc/samba/smb.conf

Vi smb.conf

主要就是这些了

wKiom1NPaNvCLrYuAAESNvyFCkk770.jpg

另外加了一个public目录,测试用,如下

wKiom1NPaOiD6kFvAACO29tVqNA975.jpg

拷贝schema文件到ldap目录,这个文件目录我没找到,直接解了一个源码包做了,在samba源码包的example/LDAP下,操作如下:

Cp samba.schema /usr/local/openldap/etc/openldap/schema

并修改sladp配置文件,添加samba模块支持

wKioL1NPaM-ALj_tAALJGxU86Dk235.jpg

配置samba管理员密码

Smbpasswd –w $PASSWORD

登录phpldapadmin界面,看到多出了两个选项

wKioL1NPaNzhkPwmAACZBaMD0DE967.jpg

而且samba domain按钮也被激活

wKiom1NPaRij5SM_AAIk4qrN9HE630.jpg

添加一个samba用户

Smbpasswd –a $USERNAME

条件是该用户必须存在

然后我们就可以用这个账号去samba服务器了,并且在phpldapadmin里可以管理这个账号