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

成功返回如下

image-20230606153422148

4.图形化管理

4.1防火墙配置

使用前,防火墙放行ldap服务端口:

firewall-cmd --permanent --add-service=ldap
firewall-cmd --reload 

4.2 LDAP Admin

LADP Admin下载地址

下载运行该软件(单文件)

image-20230606152021945

按上图依次操作,输入相应信息建立连接

image-20230606152059209

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里创建用户组 image-20230606154004191ou=People里创建用户 image-20230606160802441 注意勾选Shadow Account image-20230606154059325

Membership里选择刚才创建的用户组 image-20230606160049900 选中刚才创建的用户,右键单击选择设置密码 image-20230606160105647 加密方式任意,因为是根据服务端的nss认证的,不是linux系统本身的认证方式 image-20230606160136036

4.测试

ssh [email protected]
image-20230606160204469 ssh登陆上去自动创建用户家目录 查看下权限 image-20230606160217629

权限对应关系正确