Ubuntu搭建LDAP服務
1. 安裝服務端:
1.1 安裝必要的包
$ sudo apt install slapd ldap-utils
如果配錯或想重新配置,執行如下命令:
$ sudo dpkg-reconfigure slapd
提示:使用/etc/init.d/slapd啟停LDAP服務
$ /etc/init.d/slapd start|stop
1.2 向資料庫中插入內容
建立一個content.ldif檔案,內容如下:
dn: ou=Users,dc=test,dc=com
objectClass: organizationalUnit
ou: Users
dn: ou=Groups,dc=test,dc=com
objectClass: organizationalUnit
ou: Groups
dn: cn=APP,ou=Groups,dc=test,dc=com
objectClass: posixGroup
cn: APP
gidNumber: 5000
dn: uid=zhangsan,ou=Users,dc=test,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: zhangsan
sn: zhangsan
givenName: zhangsan
cn: zhangsan
displayName: zhangsan
uidNumber: 10000
gidNumber: 5000
userPassword: Aa123456
gecos: zhangsan
loginShell: /bin/bash
homeDirectory: /home/zhangsan
1.3 匯入檔案內容到資料庫中**
[email protected]u:/home/fl# ldapadd -x -D cn=admin,dc=test,dc=com -W -f content.ldif
Enter LDAP Password:
adding new entry “ou=Users,dc=test,dc=com”
adding new entry “ou=Groups,dc=test,dc=com”
adding new entry “cn=APP,ou=Groups,dc=test,dc=com”
adding new entry “uid=zhangsan,ou=Users,dc=test,dc=com”
1.4 校驗新增是否成功:
[email protected]:/home# ldapsearch -x -LLL -b dc=test,dc=com ‘uid=zhangsan’ cn gidNumber
dn: uid=zhangsan,ou=Users,dc=test,dc=com
cn: zhangsan
gidNumber: 5000
命令解釋:
1. -x: 簡單繫結,不使用SASL方法
2. -LLL: 不列印額外資訊
3 uid=zhangsan: 一個過濾條件,查詢zhangsan這個使用者
4 cn gidNumber: 展示特定的屬性(預設展示所有的屬性)
1.5 使用ldapscripts去管理LDAP
安裝ldapscripts:
sudo apt install ldapscripts
配置/etc/ldapscripts/ldapscripts.conf:
SERVER=localhost
BINDDN=’cn=admin,dc=test,dc=com’
BINDPWDFILE=”/etc/ldapscripts/ldapscripts.passwd”
SUFFIX=’dc=test,dc=com’
GSUFFIX=’ou=Groups’
USUFFIX=’ou=Users’
MSUFFIX=’ou=Computers’
GIDSTART=5000
UIDSTART=10000
MIDSTART=10000
把LDAP管理員的密碼寫入ldapscripts.passwd(假設管理員的密碼為Aa123456)
echo -n ‘Aa123456’ > /etc/ldapscripts/ldapscripts.passwd
修改檔案許可權,提高安全性
sudo chmod 400 /etc/ldapscripts/ldapscripts.passwd
然後就可以使用ldapscripts提供的命令管理LDAP,如:
$ [email protected]:/home# ldapaddgroup bcm
Successfully added group bcm to LDAP
$ [email protected]:/home# ldapadduser lisi bcm
Successfully added user lisi to LDAP
Successfully set password for user lisi
設定使用者密碼:
$ [email protected]:/home# ldapsetpasswd lisi qwerty
Successfully set encoded password for user uid=lisi,ou=Users,dc=test,dc=com
更多命令可以輸入ldap按Tab鍵看看有哪些命令可以用
2. 安裝客戶端:
安裝客戶端需要的包
$ sudo apt install libnss-ldap
重新配置的話執行
$ sudo apt install libnss-ldap libpam-ldap nscd
配置的結果會寫到/etc/ldap.conf
認證方式中新增LDAP
$ sudo auth-client-config -t nss -p lac_ldap
讓系統使用LDAP鑑權
$ sudo pam-auth-update
客戶端就可以使用服務端建立的LDAP使用者登陸了