-
Bug
-
Resolution: Done-Errata
-
Minor
-
None
-
389-ds-base-3.1.3-2.el10
-
No
-
Low
-
rhel-idm-ds
-
0
-
False
-
False
-
-
None
-
None
-
Pass
-
Automated
-
None
Description of problem:
When you rename a user, dsidm runs a search to get the DN of the entry to rename:
[28/Apr/2021:12:51:30.545119227 +0200] conn=9 op=2 SRCH base="ou=people,dc=example,dc=com" scope=2 filter="(&(&(objectClass=nsPerson)(objectClass=nsAccount)(objectClass=nsOrgPerson)(objectClass=posixAccount))(|(uid=zzz)(displayName=zzz)(cn=zzz)))" attrs="distinguishedName"
Once it gets it, it runs modrdn. The problem is that after rename other attributes like cn are still the same
It should not look for cn or displayName
How reproducible:
Always
Steps to Reproduce:
1. Create a user:
- dsidm -D "cn=Directory manager" -w password instance_name -b "dc=example,dc=com" user create
Enter value for uid : zzz
Enter value for cn : zzz
Enter value for displayName : zzz
Enter value for uidNumber : 123
Enter value for gidNumber : 123
Enter value for homeDirectory : /home/zzz
Successfully created zzz
2. Rename the user:
- dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" user rename zzz yyy
Enter password for cn=Directory manager on ldap://server.example.com:
Successfully renamed to uid=yyy,ou=people,dc=example,dc=com
3. Run the same command command again:
- dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" user rename zzz yyy
Enter password for cn=Directory manager on ldap://server.example.com:
Successfully renamed to uid=yyy,ou=people,dc=example,dc=com
Actual results:
The 2nd rename command is successful.
Expected results:
The 2nd rename command should fail, because the user is no longer named zzz at this point.
Additional info:
- dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" user rename zzz yyy
Enter password for cn=Directory manager on ldap://server.example.com:
Successfully renamed to uid=yyy,ou=people,dc=example,dc=com
- dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" user rename zzz yyy
Enter password for cn=Directory manager on ldap://server.example.com:
Successfully renamed to uid=yyy,ou=people,dc=example,dc=com
- dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" user rename zzz yyy
Enter password for cn=Directory manager on ldap://server.example.com:
Successfully renamed to uid=yyy,ou=people,dc=example,dc=com
- dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" user rename yyy xxx
Enter password for cn=Directory manager on ldap://server.example.com:
Successfully renamed to uid=xxx,ou=people,dc=example,dc=com
- dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" user rename yyy xxx
Enter password for cn=Directory manager on ldap://server.example.com:
Error: No object exists given the filter criteria yyy
- dsidm -D "cn=Directory manager" ldap://server.example.com -b "dc=example,dc=com" user rename zzz yyy
Enter password for cn=Directory manager on ldap://server.example.com:
Successfully renamed to uid=yyy,ou=people,dc=example,dc=com
- external trackers
- links to
-
RHBA-2025:151590
389-ds-base update