Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
删除dn编码为base64的Sun ONE ldap帐户_Ldap_Base64 - Fatal编程技术网

删除dn编码为base64的Sun ONE ldap帐户

删除dn编码为base64的Sun ONE ldap帐户,ldap,base64,Ldap,Base64,我有一个Sun ONE ldap帐户,其dn在rdn更改后意外地变成了base64编码。我尝试了各种方法删除此帐户,但没有成功。我希望这里有人知道解决办法,能够帮助我 在Sun ONE ldap服务器上,所有属性都以ascii编码。用作rdn的属性是uid。用户帐户的uid格式为FIRSTNAME.LASTNAME 该账户的uid是YAZAIRA.DAZ。使用unix shell编写的实用程序将帐户的rdn从YAZAIRA.DAZ更改为YAZAIRA.DIAZ。该实用程序提示输入旧uid和新ui

我有一个Sun ONE ldap帐户,其dn在rdn更改后意外地变成了base64编码。我尝试了各种方法删除此帐户,但没有成功。我希望这里有人知道解决办法,能够帮助我

在Sun ONE ldap服务器上,所有属性都以ascii编码。用作rdn的属性是uid。用户帐户的uid格式为FIRSTNAME.LASTNAME

该账户的uid是YAZAIRA.DAZ。使用unix shell编写的实用程序将帐户的rdn从YAZAIRA.DAZ更改为YAZAIRA.DIAZ。该实用程序提示输入旧uid和新uid,并处理引擎盖下的所有其他内容以更改rdn。当时,新的uid是从另一个系统复制的,并在提示时粘贴到实用程序中,该实用程序包含一个非ascii字符:YAZAIRA.DÍAZ(请注意“在I之上”)

因此,在发动机罩下,ldif

dn: uid=YAZAIRA.DAZ,OU=People,dc=company,dc=com
change-type: modrdn
newrdn: uid=YAZAIRA.DÍAZ
deleteoldrdn: 1
运行ldif后,ldapsearch无法找到该帐户。幸运的是,经过多次尝试,当uid=YAZAIRA.*作为搜索条件输入时,帐户条目最终作为几个条目之一返回。但是,其dn为:

dn:: dWlkPVlBWkFJUkEuRM1BWixvdT1QZW9wbGUsZGM9Y29tcGFueSxkYz1jb20=
所有包含新姓氏的属性也都是base64编码的

我想使用ldapdelete和包含dn的附带文件删除此帐户。到目前为止,我已经尝试了以下dn,但都不起作用:

dWlkPVlBWkFJUkEuRM1BWixvdT1QZW9wbGUsZGM9Y29tcGFueSxkYz1jb20=
uid=YAZAIRA.DIAZ,OU=People,dc=company,dc=com
uid=YAZAIRA.DÍAZ,OU=People,dc=company,dc=com
uid=cWUFaQUlSQS5EzUFa,OU=People,dc=company,dc=com
uid=YAZAIRA.RM1BWg==,OU=People,dc=company,dc=com
uid=YAZAIRA.*,OU=People,dc=company,dc=com

如果有人知道如何将dn指定为ldapdelete,我们将不胜感激。或者,如果有其他方法可以通过使用dn以外的属性唯一标识帐户来删除帐户。或者以任何方式删除此帐户。

您是否尝试过使用以下LDIF进行ldapdelete

dn:: dWlkPVlBWkFJUkEuRM1BWixvdT1QZW9wbGUsZGM9Y29tcGFueSxkYz1jb20=
changetype: delete
-

DN是base64编码的,因为它包含非ascii字符,因此在LDIF中显示值时必须对其进行base64编码。像ldapsearch、ldapdelete、ldapmodify这样的工具总是能做到这一点。但是,如果您编写一个程序来读取条目,然后通过指定完全相同的DN将其删除,那么它应该可以工作。也就是说,我已经有一段时间没有使用Sun One DS了。我从来不知道ldap服务器中有这样的机制。我们从未输入任何非普通ascii码的内容,无论是有意还是无意,这是我们第一次体验到这一点。非常感谢!成功了。我没有想到使用ldapmodify,但坚持使用ldapdelete。ldapdelete需要不带“dn:”属性名称的dn。我仍然想知道这两个冒号是什么意思,以及如何分割dn属性的名称和值。我确实尝试了“:dWlkPVlBWkFJUkEuRM1BWixvdT1QZW9wbGUsZGM9Y29tcGFueSxkYz1jb20=”用于ldapdelete,但不起作用。现在使用dn::dWlkPVlBWkFJUkEuRM1BWixvdT1QZW9wbGUsZGM9Y29tcGFueSxkYz1jb20=与ldapmodify的总和,它就成功了。再次感谢你!