服務器端:
CentOS 7.4
hostname:node1.lushenle.com
IP:172.16.100.40
客戶端:
CentOS 7.4
hostname:node2.lushengle.com
IP:172.16.100.41
服務器端與客戶端防火牆都為啟用狀態,selinux為enforcing狀態
LDAP用戶認證服務安裝:
1.安裝LDAP服務端軟件包
# yum install -y openldap openldap-clients openldap-servers migrationtools
2.設置LDAP服務器全局連接密碼
# slappasswd -s manunkind -n > /etc/openldap/passwd
# cat /etc/openldap/passwd
3.建立x509認證本地LDAP服務密鑰
# openssl req -new -x509 -nodes -out /etc/openldap/certs/cert.pem -keyout /etc/openldap/certs/priv.pem -days 365
```server's hostname一定要與主機名相同```
Common Name (eg, your name or your server's hostname) []:node1.lushenle.com
Email Address []:root@node1.lushenle.com
# cd /etc/openldapcerts
4.設置LDAP密鑰權限
# chown ldap.ldap *.pem
# chmod 600 priv.pem
5.生成LDAP基礎數據庫並設置權限
# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
# cat !$
# slaptest
# cd /var/lib/ldap
# ll
# chown ldap.ldap *
6.啟動LDAP后台服務
# systemctl start slapd
# systemctl enable slapd
7.設置防火牆規則允許LDAP服務被連接
# firewall-cmd --permanent --add-service=ldap
# firewall-cmd --reload
8.設置LDAP日志文件,保存日志信息
# vim /etc/rsyslog.conf
配置文件末尾加入 local4.* /var/log/ldap.log
# systemctl restart rsyslog
配置LDAP本地服務域
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.配置自定義結構文件並導出LDAP服務器
# vim base.ldif
1 #base.ldif 2 dn: dc=lushenle,dc=com 3 dc: lushenle 4 objectClass: top 5 objectClass: domain 6 7 dn: ou=People,dc=lushenle,dc=com 8 ou: People 9 objectClass: top 10 objectClass: organizationalUnit 11 12 dn: ou=Group,dc=lushenle,dc=com 13 ou: Group 14 objectClass: top 15 objectClass: organizationalUnit
# vim changes.ldif
1 #changes.ldif 2 dn: olcDatabase={2}hdb,cn=config 3 changetype: modify 4 replace: olcSuffix 5 olcSuffix: dc=lushenle,dc=com 6 7 dn: olcDatabase={2}hdb,cn=config 8 changetype: modify 9 replace: olcRootDN 10 olcRootDN: cn=Manager,dc=lushenle,dc=com 11 12 dn: olcDatabase={2}hdb,cn=config 13 changetype: modify 14 replace: olcRootPW 15 olcRootPW: manunkind 16 17 dn: cn=config 18 changetype: modify 19 replace: olcTLSCertificateFile 20 olcTLSCertificateFile: /etc/openldap/certs/cert.pem 21 22 dn: cn=config 23 changetype: modify 24 replace: olcTLSCertificateKeyFile 25 olcTLSCertificateKeyFile: /etc/openldap/certs/priv.pem 26 27 dn: cn=config 28 changetype: modify 29 replace: olcLogLevel 30 olcLogLevel: -1 31 32 dn: olcDatabase={1}monitor,cn=config 33 changetype: modify 34 replace: olcAccess 35 olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=lushenle,dc=com" read by * none
```需要注意的是每一行后面都不能有空格```
# ldapmodify -Y EXTERNAL -H ldapi:/// -f changes.ldif
# ldapadd -x -w manunkind -D cn=Manager,dc=lushenle,dc=com -f base.ldif
3.創建本地用戶及本地用戶目錄
```先添加30個用戶吧```
# vim useradd.sh
1 #!/bin/bash 2 #useradd 3 mkdir /home/guests 4 for i in $(seq 1 30); do 5 useradd -d /home/guests/ldapuser$i ldapuser$i 6 done 7 8 for i in $(seq 1 30); do 9 echo ldapuser$i | passwd --stdin ldapuser$i 10 done
# bash -x useradd.sh
4.將本地用戶認證信息導入LDAP服務器
# cd /usr/share/migrationtools/
# vim migrate_common.ph
$DEFAULT_MAIL_DOMAIN = "padl.com"; 修改為 $DEFAULT_MAIL_DOMAIN = "lushenle.com";
$DEFAULT_BASE = "dc=padl,dc=com"; 修改為 $DEFAULT_BASE = "dc=lushenle,dc=com";
# cat /etc/passwd | grep ":10[0-9][0-9]" > /root/passwd
# vim passwd #去掉非ldapuser的用戶
# ./migrate_passwd.pl /root/passwd /root/passwd.ldif
# cat /root/passwd.ldif
# ldapadd -x -w manunkind -D cn=Manager,dc=lushenle,dc=com -f /root/passwd.ldif
# cat /etc/group | grep ":10[0-9][0-9]" > /root/group
# vim /root/group #去掉非ldapuser的用戶組
# ./migrate_group.pl /root/group /root/group.ldif
# cat /root/group.ldif
# ldapadd -x -w manunkind -D cn=Manager,dc=lushenle,dc=com -f /root/group.ldif
5.測試LDAP服務器用戶認證信息
# ldapsearch -x cn=ldapuser1 -b dc=lushenle,dc=com
LDAP客戶端:
1.安裝LDAP客戶端軟件包
# yum install -y openldap-clients nss-pam-ldapd
2.配置本地認證方式為LDAP
# authconfig-tui #通過其來配置,或安裝authconfig-gtk來完成配置,其為圖形化,ssh登錄的時候需要加-X選項
3.測試LDAP網絡用戶信息驗證
# getent passwd ldapuser1
LDAP網絡用戶目錄共享
1.LDAP服務端NFS共享
# yum install -y nfs-utils
# systemctl enable nfs-server
# systemctl start nfs-server
# vim /etc/exports
/home/guests 172.16.0.0/16(rw)
# exportfs -rv
# exportfs -v
2.LDAP服務端NFS防火牆設置
# firewall-cmd --permanent --add-service=nfs
# firewall-cmd --reload
LDAP客戶端用戶目錄自動掛載配置
1.LDAP客戶端自動掛載服務軟件包安裝
# yum install autofs nfs-utils -y
2.LDAP客戶端自動掛載服務配置
# vim /etc/auto.guests
* -rw,nfs4 node1.lushenle.com:/home/guests/&
# vim /etc/auto.master
文件末尾加入 /home/guests /etc/auto.guests
3.自動掛載服務啟動
# systemctl enable autofs
# systemctl start autofs
4.LDAP網絡用戶本地登錄驗證自動掛載
# su - ldapuser1
# mount
# pwd