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:
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