提问人:DIH 提问时间:10/5/2023 更新时间:10/5/2023 访问量:54
openLDAP olcAccess 设置
openLDAP olcAccess settings
问:
我已经在 Rokye Linux 上安装了 openLdap 服务器:
[root@localhost etc]# cat rocky-release
Rocky Linux release 8.8 (Green Obsidian)
我按照本指南创建了经理帐户,了解如何伪造。 安装创建了 mdb 文件,我导入了默认架构并创建了一些 organizationalPersons。
目的是限制来自特定 IP 地址的访问,我想拒绝用户 A 从 IP sn 172..+ 访问,我想授予用户 B 完全访问权限。
我尝试以这种方式直接修改文件 olcDatabase={2}mdb.ldif:
[root@localhost cn=config]# cat olcDatabase\=\{2\}mdb.ldif
# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
# CRC32 78f71d75
dn: olcDatabase={2}mdb
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {2}mdb
olcDbDirectory: /var/lib/ldap
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub
structuralObjectClass: olcMdbConfig
entryUUID: 36722bb2-f64a-103d-9b51-4f57d349a308
creatorsName: cn=config
createTimestamp: 20231003150645Z
olcSuffix: dc=hwdomain,dc=lan
olcRootDN: cn=Manager,dc=hwdomain,dc=lan
olcRootPW:: e1NTSEF9VmNVdGlFZ0pEcmQrdnZzSGE5MzloK0VxbXdEQzJpYW8=
olcAccess: {0}to * by dn="cn=A,ou=People,dc=hwdomain,dc=lan" by peername.regex=IP=172\..+ none by * break
olcAccess: {1}to * by dn="cn=B,ou=People,dc=hwdomain,dc=lan" by peername.regex=IP=172\..+ manage by * break
olcAccess: {2}to * by * none
entryCSN: 20231004134853.723210Z#000000#000#000000
modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
modifyTimestamp: 20231004134853Z
[root@localhost cn=config]#
尝试从 172.* 拒绝 A 的访问,并同意从 172.* 访问 B。 我也尝试过这种类型的谓词:
olcAccess: {0}to * by dn.base="cn=A,ou=People,dc=hwdomain,dc=lan" by peername.regex=IP=172\..+ none by * break
olcAccess: {1}to * by dn.base="cn=B,ou=People,dc=hwdomain,dc=lan" by peername.regex=IP=172\..+ manage by * break
olcAccess: {2}to * by * none
或者那个(有和没有 .base):
olcAccess: {0}to * by dn.base="cn=A,ou=People,dc=hwdomain,dc=lan" by peername.regex=IP=172\..+ none
olcAccess: {1}to * by dn.base="cn=B,ou=People,dc=hwdomain,dc=lan" by peername.regex=IP=172\..+ manage
olcAccess: {2}to * by * none
不幸的是,该访问权限不适用于任何用户:
Oct 04 18:29:23 localhost.localdomain slapd[2382]: conn=1008 fd=13 ACCEPT from IP=192.168.230.1:57914 (IP=0.0.0.0:389)
Oct 04 18:29:23 localhost.localdomain slapd[2382]: conn=1008 op=0 BIND dn="cn=aaa,ou=People,dc=hwdomain,dc=lan" method=128
Oct 04 18:29:23 localhost.localdomain slapd[2382]: conn=1008 op=0 RESULT tag=97 err=49 text=
Oct 04 18:29:23 localhost.localdomain slapd[2382]: conn=1008 fd=13 closed (connection lost)
Oct 04 18:29:44 localhost.localdomain slapd[2382]: conn=1009 fd=13 ACCEPT from IP=192.168.230.1:57921 (IP=0.0.0.0:389)
Oct 04 18:29:44 localhost.localdomain slapd[2382]: conn=1009 op=0 BIND dn="cn=aaa,ou=People,dc=hwdomain,dc=lan" method=128
Oct 04 18:29:44 localhost.localdomain slapd[2382]: conn=1009 op=0 RESULT tag=97 err=49 text=
Oct 04 18:29:44 localhost.localdomain slapd[2382]: conn=1009 fd=13 closed (connection lost)
谁能帮我找到解决路径?你有什么建议和/或三轮车吗?我尝试了OpenLDAP指南中记录的所有方法。
OpenLDAP版本如下:
[root@localhost etc]# yum list installed | egrep -i "open.*ldap"
openldap.x86_64 2.4.46-18.el8 @anaconda
openldap-clients.x86_64 2.4.46-18.el8 @baseos
openldap-servers.x86_64 2.4.46-18.el8 @powertools
我真的很感激任何形式的帮助,我有严重的麻烦。
感谢您的阅读!!
我尝试了什么?
- 手动修改MDB文件
- 通过 ldapmodify 修改 MDB 文件
我需要什么?设置 olcAccess 以限制从特定子网对 LDAP 的访问。
答: 暂无答案
评论