1. 程式人生 > >Ubuntu搭建LDAP服務

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使用者登陸了