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

LDAP做系统和samba统一认证_第1张图片

LDAP做系统和samba统一认证_第2张图片

启动openldap

/usr/local/openldap/libexec/slapd

wKioL1NPZ-ywhSiZAAC8ktiL4ug331.jpg

Vi ldap.conf

LDAP做系统和samba统一认证_第3张图片

Vi /etc/ldap.conf

LDAP做系统和samba统一认证_第4张图片

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

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,用上面设置的登录密码登录

LDAP做系统和samba统一认证_第5张图片

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

LDAP做系统和samba统一认证_第6张图片

Nis配置参考文档

见附件

客户端的配置

Emerge pam_ldap nss_ldap

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

LDAP做系统和samba统一认证_第7张图片

Vi system-logon

LDAP做系统和samba统一认证_第8张图片

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

主要就是这些了

LDAP做系统和samba统一认证_第9张图片

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

LDAP做系统和samba统一认证_第10张图片

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

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

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

LDAP做系统和samba统一认证_第11张图片

配置samba管理员密码

Smbpasswd –w $PASSWORD

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

LDAP做系统和samba统一认证_第12张图片

而且samba domain按钮也被激活

LDAP做系统和samba统一认证_第13张图片

添加一个samba用户

Smbpasswd –a $USERNAME

条件是该用户必须存在

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