Ldap用户统一认证服务安装
2023-05-22
2分钟阅读时长
Centos7 下部署操作
1.安装openldap相关包
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel
启动,设置开机自启
systemctl start slapd
systemctl enable slapd
检查端口
netstat -antup | grep -i 389
如果没有netstat命令
yum -y install net-tools
2.创建管理员根密码密码
使用slappasswd 命令提示生成密码,(也可以使用 slappasswd -s 直接生成) 保存下生成的SSHA加密后的字符串
3.配置LDAP服务
查看默认配置文件
cd /etc/openldap/slapd.d/cn=config && ls
olcSuffix – 用于保存域信息,需要更新为自己的域 olcRootDN – 根的DN(唯一识别名),根的区别名,它用于根管理员在此节点下做所有的管理 olcRootPW – LDAP 管理员的根密码,用刚刚第三步创建出来的密码设置到这里
3.1新建db.ldif:
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=jnist,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=ldapadm,dc=jnist,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {SSHA}UEPZxWajgGbAOknww//OCbhEe2DjoqWB
替换olcSuffix,olcRootDN,olcRootPW三个字段
注意:
olcDatabase={2}hdb.ldif
如果没有olcRootPW字段,使用add
,有想替换使用replace
加载新的配置:
ldapmodify -Y EXTERNAL -H ldapi:/// -f db.ldif
3.2新建monitor文件
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=ldapadm,dc=jnsit,dc=com" read by * none
加载新的配置:
ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif
3.3保存基础配置
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/*
3.4导入基础模板
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
3.5创建域和组织base.ldif
dn: dc=jnist,dc=com
dc: jnist
objectClass: top
objectClass: domain
dn: cn=ldapadm,dc=jnist,dc=com
objectClass: organizationalRole
cn: Manager
description: LDAP Manager
dn: ou=People,dc=jnist,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=jnist,dc=com
objectClass: organizationalUnit
ou: Group
加载配置:
ldapadd -x -W -D "cn=ldapadm,dc=jnist,dc=com" -f base.ldif
成功返回如下
4.图形化管理
4.1防火墙配置
使用前,防火墙放行ldap服务端口:
firewall-cmd --permanent --add-service=ldap
firewall-cmd --reload
4.2 LDAP Admin
下载运行该软件(单文件)
按上图依次操作,输入相应信息建立连接
5.客户端配置
1.安装相关包
yum install -y openldap openldap-clients nss_ldap nss-pam-ldapd openssh-ldap oddjob oddjob-mkhomedir openldap-clients
2.配置
开启自动创建家目录
echo "session optional pam_oddjob_mkhomedir.so skel=/etc/skel/ umask=0022" >> /etc/pam.d/system-auth
写入配置(也可以使用图形化的authconfig-tui
,这里更推荐直接用命令的形式):
authconfig --disablesssd --enableldap --enableldapauth --ldapserver=10.249.4.165 --ldapbasedn=dc="jnist,dc=com" --enableshadow --enablemkhomedir --updateall
重启LDAP客户端服务
systemctl restart nslcd
systemctl restart sshd
3.服务端配置
在ou=Group
里创建用户组
在ou=People
里创建用户
注意勾选Shadow Account
在Membership
里选择刚才创建的用户组
选中刚才创建的用户,右键单击选择设置密码
加密方式任意,因为是根据服务端的nss
认证的,不是linux系统本身的认证方式
4.测试
ssh [email protected]
ssh登陆上去自动创建用户家目录 查看下权限
权限对应关系正确