Ubuntu搭建LDAP服务

安装服务端

安装必要的包

sudo apt install slapd ldap-utils

如果配错或想重新配置,执行如下命令:

sudo dpkg-reconfigure slapd

提示:使用/etc/init.d/slapd启停LDAP服务

/etc/init.d/slapd start|stop

向数据库中插入内容

创建一个 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

导入文件内容到数据库中

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"

校验添加是否成功

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

命令解释
-x: 简单绑定,不使用SASL方法
-LLL: 不打印额外信息
uid=zhangsan: 一个过滤条件,查找zhangsan这个用户
cn gidNumber: 展示特定的属性(默认展示所有的属性)

使用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,如:

添加用户组

ldapaddgroup bcm

输出

Successfully added group bcm to LDAP

添加用户

ldapadduser lisi bcm

输出:

Successfully added user lisi to LDAP
Successfully set password for user lisi

设置用户密码:

ldapsetpasswd lisi qwerty

输出:

Successfully set encoded password for user uid=lisi,ou=Users,dc=test,dc=com

更多命令可以输入ldap按Tab键看看有哪些命令可以用

安装客户端

安装客户端需要的包

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用户登陆了

Reference:
[1] https://help.ubuntu.com/lts/serverguide/openldap-server.html

你可能感兴趣的:(LDAP)