一、安装与启动
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
复制代码
#配置域名解析
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
复制代码
#chown ldap.ldap /var/lib/ldap/DB_CONFIG
复制代码
6)、设置 LDAP 日志文件保存日志信息
#echo ‘local4.* /var/log/ldap.log’ >> /etc/rsyslog.conf
#systemctl restart rsyslog
#systemctl enable rsyslog
复制代码
7)、安装并设置 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=com
dn:olcDatabase={2}hdb,cn=config
changetype:modify
replace:olcRootDN
olcRootDN:cn=Manager,dc=fl,dc=com
dn: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.pem
dn:cn=config
changetype:modify
replace:olcTLSCertificateKeyFile
olcTLSCertificateKeyFile:/etc/openldap/cert/priv.pem
dn:cn=config
changetype:modify
replace:olcLogLevel
olcLogLevel:-1
dn: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:domain
dn:ou=People,dc=fl,dc=com
ou:People
objectClass:top
objectClass:organizationalUnit
dn: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 全局账号
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/fstab192.168.100.20:/home/guests/ldap1 /home/guests/ldap1 nfs defaults 0 0 //增加的配置行
评论