Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenLDAP-如何在不修改或删除的情况下授予写访问权限?有什么选择吗?_Ldap_Openldap - Fatal编程技术网

OpenLDAP-如何在不修改或删除的情况下授予写访问权限?有什么选择吗?

OpenLDAP-如何在不修改或删除的情况下授予写访问权限?有什么选择吗?,ldap,openldap,Ldap,Openldap,我有这样的例子-我希望我的PHP应用程序在我的OpenLDAP目录中为员工创建帐户,所以我已经为这个特定的应用程序创建了专用帐户,我将只在这个应用程序中使用它。下一件事是授予这个帐户在ou=people,dc=example,dc=com中写入的权限,我对它没有问题-使用的olcacaccess:{2}到dn.subtree=“ou=people,dc=example,dc=com”by dn=“cn=app.name,ou=systems,dc=example,dc=com”write by*

我有这样的例子-我希望我的PHP应用程序在我的OpenLDAP目录中为员工创建帐户,所以我已经为这个特定的应用程序创建了专用帐户,我将只在这个应用程序中使用它。下一件事是授予这个帐户在ou=people,dc=example,dc=com中写入的权限,我对它没有问题-使用的olcacaccess:{2}到dn.subtree=“ou=people,dc=example,dc=com”by dn=“cn=app.name,ou=systems,dc=example,dc=com”write by*read,所有工作正常。但现在,我希望这个应用程序只有在这个OU中创建新用户的权限,以确保应用程序的开发人员不会意外地弄乱某些东西,并从目录中删除所有用户

我正在寻找类似MySQL授权的东西-例如,用户可以插入到表中,但不能删除、更新或删除。有可能吗?我查阅了OpenLDAP文档,其中提到了写入管理权限:(

谢谢!

来自:

要添加或删除条目,主题必须对条目的条目属性具有写入权限,并且必须对条目的父项的子项属性具有写入权限

由此看来,您似乎可以仅将PHP应用程序的服务帐户的
write
权限授予父OU条目,而不授予它所创建的用户条目的。由于修改和删除都需要对被修改或删除的条目的
write
权限,因此服务帐户应限制为你的需要

我不确定规则到底是什么样的,但请尝试以下方法:

olcAccess: {2}to dn.base="ou=people,dc=example,dc=com" by dn="cn=app.name,ou=systems,dc=example,dc=com" write by * read
注意,我用
dn.base
替换了
dn.subtree