一、安装与启动1、安装与启停控制OpenLDAP#yum-yinstallopenldapopenldap-serversopenldap-clientsopenldap-de
一、安装与启动
1、安装与启停控制OpenLDAP
#yum -y install openldap openldap-servers openldap-clients openldap-devel compat-openldap wget
2、启动slapd服务并设置开机启动
#systemctl start slapd
#systemctl enable slapd
二、配置OpenLDAP服务器以及相关服务
1、配置OpenLDAP用户认证服务
1)配置OpenLDAP服务器主机名以及FQDN域名解析
#hostnamectl set-hostname fl.fl.com //设置主机名为fl.fl.com
#echo "fl.fl.com" >> /etc/hostname
#配置域名解析
#vi /etc/hosts //添加如下内容
2)生成OpenLDAP服务器全局连接密码
调用slappasswd对管理员密码进行加密
#slappasswd -s passwd000000 -n > /etc/openldap/passwd
#cat /etc/openldap/passwd
3)创建x509认证本地LDAP服务证书
LDAP目录服务以明文的方式在网络中传输数据和密码,不安全,所以采用TLS加密机制来处理此问题,使用openssl工具生成X509格式的证书文件(有效期365天)
使用如下命令
#openssl req -new -x509 -nodes -out /etc/openldap/certs/cert.pem -keyout /etc/openldap/certs/priv.pem -days 365
4)、修改LDAP证书所属组和权限
#chown -R ldap:ldap /etc/openldap/certs/*
#chmod 600 /etc/openldap/certs/priv.pem
5)、生成LDAP数据库并设置权限
#cp -v /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
#slaptest
#chown ldap.ldap /var/lib/ldap/DB_CONFIG
#slaptest
6)、设置LDAP日志文件保存日志信息
#echo ‘local4.* /var/log/ldap.log’ >> /etc/rsyslog.conf
#systemctl restart rsyslog
#systemctl enable rsyslog
7)、安装并设置httpd服务
#yum -y install httpd
# cp /etc/openldap/certs/cert.pem /var/www/html/
#systemctl restart httpd
#systemctl enable httpd
测试httpd服务器是否正常工作
# wget http://fl.fl.com/cert.pem
8、设置防火墙和SELinux策略(若已关闭防火墙和SElinux则可忽略此步骤)
#firewall-cmd --permanent --add-service=ldap
#firewall-cmd --add-service=http --permanent
#firewall-cmd --reload
#setenforce 0
2、创建OpenLDAP用户和用户组
1)配置基础用户认证结构
# cd /etc/openldap/schema/
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif
2)自定义LDIF文件并导入LDAP服务器
(1)创建/etc/openldap/changes.ldif文件,并配置
vi /etc/openldap/changes.ldif
//添加如下内容
dn:olcDatabase={2}hdb,cn=config
changetype:modify
replace:olcSuffix
olcSuffix:dc=fl,dc=comdn:olcDatabase={2}hdb,cn=config
changetype:modify
replace:olcRootDN
olcRootDN:cn=Manager,dc=fl,dc=comdn:olcDatabase={2}hdb,cn=config
changetype:modify
replace:olcRootPW
olcRootPW:{SSHA}4P124Z9SfxL+Sq6436wEMXEjki5ycDdp//此处为你之前生成的密钥dn:cn=config
changetype:modify
replace:olcTLSCertificateFile
olcTLSCertificateFile:/etc/openldap/cert/cert.pemdn:cn=config
changetype:modify
replace:olcTLSCertificateKeyFile
olcTLSCertificateKeyFile:/etc/openldap/cert/priv.pemdn:cn=config
changetype:modify
replace:olcLogLevel
olcLogLevel:-1dn:olcDatabase={1}monitor,cn=config
changetype:modify
replace:olcAccess
olcAccess:{0} to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=fl,dc=com" read by * none
(2)将新的配置文件更新到slapd服务程序
#ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/changes.ldif
(3)创建/etc/openldap.base.ldif文件
vi /etc/openldap/base.ldif
#base.ldif
dn:dc=fl,dc=com
dc:fl
objectClass:top
objectClass:domaindn:ou=People,dc=fl,dc=com
ou:People
objectClass:top
objectClass:organizationalUnitdn:ou=Group,dc=fl,dc=com
ou:Group
objectClass:top
objectClass:organizationalUnit
(4)创建目录的结构服务
# ldapadd -x -W -D cn=Manager,dc=fl,dc=com -f /etc/openldap/base.ldif
3、创建Linux本地用户和本地用户组
# mkdir /home/guests
# useradd -d /home/guests/ldap1 ldapuser1
# passwd ldapuser1
4、迁移本地账号为LDAP账号
1)安装并设置migrationtools
# yum -y install migrationtools
# vi /usr/share/migrationtools/migrate_common.ph
修改71行和74行,注释掉原有内容,添加如下内容
$DEFAULT_MAIL_DOMAIN = "fl.com";
$DEFAULT_BASE = "dc=fl,dc=com";
2)将当前系统中的用户迁移至目录服务
# cd /usr/share/migrationtools/
# grep ":10[0-9][0-9]" /etc/passwd > passwd
# ./migrate_passwd.pl passwd users.ldif
# ldapadd -x -w passwd000000 -D cn=Manager,dc=fl,dc=com -f users.ldif
3)将当前系统中的用户组迁移至目录服务
# grep ":10[0-9][0-9]" /etc/group > group
# ./migrate_group.pl group groups.ldif
# ldapadd -x -w passwd000000 -D cn=Manager,dc=fl,dc=com -f groups.ldif
5、测试LDAP用户配置文件
# ldapsearch -x cn=ldapuser1 -b dc=fl,dc=com
#cat /etc/passwd |grep ldapuser
id ldapuser1
三、配置OpenLDAP客户端及相关服务
请准备另一台虚拟机,作为客户端,保证2台虚拟机在同一网段中
1、配置LDAP客户端
1)配置客户端IP和域名解析
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改静态IP地址为 192.168.100.21
vi /etc/hosts
测试 ping fl.fl.com
2)安装客户端所需软件包
# yum -y install openldap-clients nss-pam-ldapd authconfig-gtk pam_krb5
3)运行并设置客户端认证工具
(①以GUI GNOME为例)
以下二选一 ①或②
# system-config-authentication
然后单击【下载CA证书】按钮,在弹出的框内,填写服务器上的证书地址
配置认证
#authconfig --enableldap --enableldapauth --ldapserver="fl.fl.com" --ldapbasedn="dc=fl,dc=com" --update
#authconfig --enableldaptls --update
#cd /etc/openldap/cacerts
#wget http://fl.fl.com/cert.pem
②若您不是GNOME界面,也可使用如下命令进行操作,以命令界面为例
修改配置文件
1、/etc/nsswitch.conf 配置文件
33-35行修改为如下内容
58行
62行
配置认证
#authconfig --enableldap --enableldapauth --ldapserver="fl.fl.com" --ldapbasedn="dc=fl,dc=com" --update
#authconfig --enableldaptls --update
authconfig-tui
4)验证是否可用LDAP全局账号
# id ldapuser1
2、挂载LDAP用户目录客户端,请在服务器端进行操作
1)在LDAP服务器上配置NFS服务
安装NFS服务
# yum -y install nfs-utils rpcbind
vi /etc/exports
/home/guests/ldap1 192.168.100.20(rw,sync,root_squash)
systemctl restart nfs-server rpcbind //重启nfs-server和rpcbind服务
#systemctl enable nfs-server rpcbind
showmount -e 192.168.100.20 //显示NFS服务端的共享列表
2)在LDAP客户机上设置自动挂载
(1)修改/home目录权限
chmod 1777 /home/
(2)手动挂载LDAP用户主目录到客户端
#showmount -e 192.168.100.20
#mkdir /home/guests/ldap1 -p //创建本地挂载点,作为LDAP账号的主目录。
#mount -t nfs fl.fl.com:/home/guests/ldap1 /home/guests/ldap1
#su - ldapuser1 //再次尝试切换到ldapuser1用户
(3)设置开机自动挂载LDAP用户主目录
#vi /etc/fstab
192.168.100.20:/home/guests/ldap1 /home/guests/ldap1 nfs defaults 0 0 //增加的配置行