Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFE - add dsrc options for default user and group subtrees #4293

Closed
389-ds-bot opened this issue Sep 13, 2020 · 13 comments
Closed

RFE - add dsrc options for default user and group subtrees #4293

389-ds-bot opened this issue Sep 13, 2020 · 13 comments
Assignees
Labels
CLI CLI tools lib389 Involves lib389 librabry Need BZ The ticket needs to be cloned to a BZ priority_high need urgent fix / highly valuable / easy to fix RFE Request for Enhancement
Milestone

Comments

@389-ds-bot
Copy link

Cloned from Pagure issue: https://pagure.io/389-ds-base/issue/51240

  • Created at 2020-08-13 11:02:37 by mmuehlfeldrh
  • Assigned to nobody

Issue Description

On RHEL 8.2 (with 389-ds-base-1.4.2.12-2) creating a user works, but the same command fails on RHEL 8.3 nightly (with 389-ds-base-libs-1.4.3.11-1).

Package Version and Platform

389-ds-base-libs-1.4.3.11-1.module+el8dsrv+7557+bc264682.x86_64 (RHEL 8.3 nightly)

Steps to reproduce

dsidm instance_name -b "dc=example,dc=com" user create
Enter value for uid : example
Enter value for cn : example
Enter value for displayName : example
Enter value for uidNumber : 1234
Enter value for gidNumber : 1234
Enter value for homeDirectory : /home/example

Actual results

Error: No such object

Expected results

Successfully created example

Additional information

https://directory.fedoraproject.org/docs/389ds/howto/quickstart.html#add-users-and-groups
is outdated. It misses that -b Base_DN is required.

@389-ds-bot 389-ds-bot added this to the 1.4.3 milestone Sep 13, 2020
@389-ds-bot
Copy link
Author

Comment from mreynolds (@mreynolds389) at 2020-08-13 17:41:55

Metadata Update from @mreynolds389:

  • Custom field origin adjusted to None
  • Custom field reviewstatus adjusted to None
  • Issue priority set to: major
  • Issue set to the milestone: 1.4.3

@mreynolds389 mreynolds389 added CLI CLI tools lib389 Involves lib389 librabry labels Feb 10, 2021
@walshg3
Copy link

walshg3 commented Apr 20, 2021

is there any update on this? Currently using 389 for my employer and running into the same Error: No such object on RHEL 8 389-ds-base-stable:default version 1.4.3.22

@mreynolds389
Copy link
Contributor

"dsidm" still needs some work. It's very opinionated and it only adds users to "ou=people" + suffix. So it's not very flexible. We will up the priority of this issue...

@mreynolds389 mreynolds389 added the priority_high need urgent fix / highly valuable / easy to fix label Apr 20, 2021
@Firstyear
Copy link
Contributor

@mreynolds389 Yeah - the challenge with "flexible" is that it makes the creation of a user interface much much harder for a cli. It's kind of a difference between "a generic ldap object editor that happens to be able to make accounts" and "something that makes accounts in a really clear and straightforward manner".

Especially once you throw in different ou's and such, it becomes pretty hard to say even a simple query like "list all my accounts" because then we have to consider "where are they? Which ou's are clients searching?". Then considering stuff like "given two accounts with the same uid how can we act on these on the cli" because then we change from say .... "dsidm inst account reset_password william" to "dsidm inst account reset_password uid=william,ou=custom,dc=...".

So it was a trade off - a simpler ux/cli interface, by defining a set of constraints that we knew we would be working within. Where as allowing more customisation increases the ux/ui scope, changes the communication to the user and more.

Another aspect in the thinking was also that there are plenty of other "generic" object entry editors. 389-ds is a box of parts, and you are free to choose to ignore the dsidm 'part' in favour of your own part that understands the customisations you need.

@mreynolds389
Copy link
Contributor

@Firstyear Perhaps an expansion to .dsrc where user and group containers could be defined? Default would be to ou=people,SUFFIX of course.

@Firstyear
Copy link
Contributor

@mreynolds389 Yeah that could work, but the question is what is @walshg3's intent here? What's the layout they want to create with the tool?

For a "simple" solution that's still opionated but path of least resistance I think your idea for the dsrc changes are good :)

@walshg3
Copy link

walshg3 commented Apr 21, 2021

I am nowhere near qualified to be able to give a productive answer in this conversation but for my use case what @mreynolds389 was mentioning about a default ou=people,SUFFIX would work perfectly and then the user could specify any additional configurations / options if needed. Even the ability to use the INF style similar to using dscreate would be great too. The main issue I found myself running into with 389 is that i'm very new to LDAP and 389 looked the most user friendly because of the scripts that are built in. I have since learned some of the scripts are not complete due to very understandable design opinions. My own opinion comes from being a beginner in LDAP and how quick i was able to get the ball rolling with 389 so I am for the path of least resistance. As a final note thank you both for your hard work in this awesome product as I learn more about LDAP I am truly appreciating how much hard work went into 389ds.

@mreynolds389
Copy link
Contributor

mreynolds389 commented Apr 21, 2021

@walshg3 In your database tree structure, where do you want you users to be created? It is common to use "ou=People,SUFFIX" --> "ou=people,dc=example,dc=com".

If dsidm is failing for you it means you do not have this branch created (which is fine). If using this container "ou=people,dc=example,dc=com" for your user entries is okay, then you can just create it:

# dsidm slapd-localhost -b SUFFIX organizationalunit create  (name it "people")

Then the dsidm command will start working seamlessly. Does this work for you? Or do you need to store the users under a different branch?

@walshg3
Copy link

walshg3 commented Apr 21, 2021

@mreynolds389 followed your instructions and that worked perfectly. Yeah I think the issue originated from me making an ldap server with a suffix of c=us as the root so the typical ou=people was not created. Once i added the people ou the dsidm user create worked. Thank you. For me this functionality worked. I think maybe adding an error check for the people ou would be beneficial maybe make it say "error no object it might be possible you did not create a people ou is this intentional?" I can also see how this leads into what you were talking about earlier with only being able to add to the people ou. Thank you so much for your time!

@Firstyear
Copy link
Contributor

@walshg3 You may find that the use of the sample-entries or the "initialise" command could help as it sets up a base ou tree and acis :)

@mreynolds389 mreynolds389 added the RFE Request for Enhancement label Jun 16, 2021
@tbordaz tbordaz added the Need BZ The ticket needs to be cloned to a BZ label Jun 16, 2021
@tbordaz
Copy link
Contributor

tbordaz commented Jun 16, 2021

RHDS epic 12

@mreynolds389
Copy link
Contributor

Clone to bugzilla to add options to .dsrc to specify the people/groups DN's that dsidm should use.

@mreynolds389 mreynolds389 changed the title dsidm instance_name user create is broken in 1.4.3.11 RFE - add dsrc options for default user and group subtrees Mar 7, 2022
@mreynolds389 mreynolds389 self-assigned this Jan 27, 2023
mreynolds389 added a commit to mreynolds389/389-ds-base that referenced this issue Feb 1, 2023
…subtrees

Description: There are customers who do not use "ou=groups" or "ou=people" for
theior users and groups.  This RFE allows the user/group RDN to be customized
in the .dsrc file

relates: 389ds#4293

Reviewed by: spichugi(Thanks!)
mreynolds389 added a commit that referenced this issue Feb 2, 2023
…subtrees

Description: There are customers who do not use "ou=groups" or "ou=people" for
theior users and groups.  This RFE allows the user/group RDN to be customized
in the .dsrc file

relates: #4293

Reviewed by: spichugi(Thanks!)
mreynolds389 added a commit that referenced this issue Feb 2, 2023
…subtrees

Description: There are customers who do not use "ou=groups" or "ou=people" for
theior users and groups.  This RFE allows the user/group RDN to be customized
in the .dsrc file

relates: #4293

Reviewed by: spichugi(Thanks!)
mreynolds389 added a commit that referenced this issue Feb 2, 2023
…subtrees

Description: There are customers who do not use "ou=groups" or "ou=people" for
theior users and groups.  This RFE allows the user/group RDN to be customized
in the .dsrc file

relates: #4293

Reviewed by: spichugi(Thanks!)
mreynolds389 added a commit that referenced this issue Feb 2, 2023
…subtrees

Description: There are customers who do not use "ou=groups" or "ou=people" for
theior users and groups.  This RFE allows the user/group RDN to be customized
in the .dsrc file

relates: #4293

Reviewed by: spichugi(Thanks!)
mreynolds389 added a commit that referenced this issue Feb 2, 2023
…subtrees

Description: There are customers who do not use "ou=groups" or "ou=people" for
theior users and groups.  This RFE allows the user/group RDN to be customized
in the .dsrc file

relates: #4293

Reviewed by: spichugi(Thanks!)
@mreynolds389
Copy link
Contributor

f79182f..7b86528 389-ds-base-2.2 -> 389-ds-base-2.2
3feb1a3..d4fcfa8 389-ds-base-2.1 -> 389-ds-base-2.1
4e256db..ad8ab41 389-ds-base-2.0 -> 389-ds-base-2.0
1afd3ee..ee284d4 389-ds-base-1.4.3 -> 389-ds-base-1.4.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLI CLI tools lib389 Involves lib389 librabry Need BZ The ticket needs to be cloned to a BZ priority_high need urgent fix / highly valuable / easy to fix RFE Request for Enhancement
Projects
None yet
Development

No branches or pull requests

5 participants