#50050 Enhance dsconf help to provide which all configuration attributes configuration is supported
Closed: wontfix Opened by amsharma.

Issue Description

Enhance dsconf help to provide which all configuration attributes configuration is supported

Package Version and Platform

389-ds-base-1.4.0.19-1.module+el8+1+a8d5e036.x86_64

Steps to reproduce

There should a provision to list all the configuration attributes which can be configured using dsconf like we have for password policy here-

[root@server /]# dsconf -D "cn=Directory Manager" ldap://server.example.com pwpolicy set --help
usage: dsconf instance pwpolicy set [-h] [--pwdscheme PWDSCHEME]
                                    [--pwdchange PWDCHANGE]
                                    [--pwdmustchange PWDMUSTCHANGE]
                                    [--pwdhistory PWDHISTORY]
                                    [--pwdhistorycount PWDHISTORYCOUNT]
                                    [--pwdadmin PWDADMIN]
                                    [--pwdtrack PWDTRACK]
                                    [--pwdwarning PWDWARNING]
                                    [--pwdexpire PWDEXPIRE]
                                    [--pwdmaxage PWDMAXAGE]
                                    [--pwdminage PWDMINAGE]
                                    [--pwdgracelimit PWDGRACELIMIT]
                                    [--pwdsendexpiring PWDSENDEXPIRING]
                                    [--pwdlockout PWDLOCKOUT]
                                    [--pwdunlock PWDUNLOCK]
                                    [--pwdlockoutduration PWDLOCKOUTDURATION]
                                    [--pwdmaxfailures PWDMAXFAILURES]
                                    [--pwdresetfailcount PWDRESETFAILCOUNT]
                                    [--pwdchecksyntax PWDCHECKSYNTAX]
                                    [--pwdminlen PWDMINLEN]
                                    [--pwdmindigits PWDMINDIGITS]
                                    [--pwdminalphas PWDMINALPHAS]
                                    [--pwdminuppers PWDMINUPPERS]
                                    [--pwdminlowers PWDMINLOWERS]
                                    [--pwdminspecials PWDMINSPECIALS]
                                    [--pwdmin8bits PWDMIN8BITS]
                                    [--pwdmaxrepeats PWDMAXREPEATS]
                                    [--pwdpalindrome PWDPALINDROME]
                                    [--pwdmaxseq PWDMAXSEQ]
                                    [--pwdmaxseqsets PWDMAXSEQSETS]
                                    [--pwdmaxclasschars PWDMAXCLASSCHARS]
                                    [--pwdmincatagories PWDMINCATAGORIES]
                                    [--pwdmintokenlen PWDMINTOKENLEN]
                                    [--pwdbadwords PWDBADWORDS]
                                    [--pwduserattrs PWDUSERATTRS]
                                    [--pwddictcheck PWDDICTCHECK]
                                    [--pwddictpath PWDDICTPATH]
                                    [--pwdlocal PWDLOCAL]
                                    [--pwdisglobal PWDISGLOBAL]
                                    [--pwdallowhash PWDALLOWHASH]
optional arguments:
  -h, --help            show this help message and exit
  --pwdscheme PWDSCHEME
                        The password storage scheme
  --pwdchange PWDCHANGE
                        Allow users to change their passwords
  --pwdmustchange PWDMUSTCHANGE
                        User must change their passwrod after it is reset by
                        an Administrator
  --pwdhistory PWDHISTORY
                        To enable password history set this to "on", otherwise
                        "off"
  --pwdhistorycount PWDHISTORYCOUNT
                        The number of password to keep in history
  --pwdadmin PWDADMIN   The DN of an entry or a group of account that can
                        bypass password policy constraints
  --pwdtrack PWDTRACK   Set to "on" to track the time the password was last
                        changed
  --pwdwarning PWDWARNING
                        Send an expiring warning if password expires within
                        this time (in seconds)
  --pwdexpire PWDEXPIRE
                        Set to "on" to enable password expiration
  --pwdmaxage PWDMAXAGE
                        The password expiration time in seconds
  --pwdminage PWDMINAGE
                        The number of seconds that must pass before a user can
                        change their password
  --pwdgracelimit PWDGRACELIMIT
                        The number of allowed logins after the password has
                        expired
  --pwdsendexpiring PWDSENDEXPIRING
                        Set to "on" to always send the expiring control
                        regardless of the warning period
  --pwdlockout PWDLOCKOUT
                        Set to "on" to enable account lockout
  --pwdunlock PWDUNLOCK
                        Set to "on" to allow an account to become unlocked
                        after the lockout duration
  --pwdlockoutduration PWDLOCKOUTDURATION
                        The number of seconds an account stays locked out
  --pwdmaxfailures PWDMAXFAILURES
                        The maximum number of allowed failed password attempts
                        beforet the acocunt gets locked
  --pwdresetfailcount PWDRESETFAILCOUNT
                        The number of secondsto wait before reducingthe failed
                        login count on an account
  --pwdchecksyntax PWDCHECKSYNTAX
                        Set to "on" to Enable password syntax checking
  --pwdminlen PWDMINLEN
                        The minimum number of characters required in a
                        password
  --pwdmindigits PWDMINDIGITS
                        The minimum number of digit/number characters in a
                        password
  --pwdminalphas PWDMINALPHAS
                        The minimum number of alpha characters required in a
                        password
  --pwdminuppers PWDMINUPPERS
                        The minimum number of uppercase characters required in
                        a password
  --pwdminlowers PWDMINLOWERS
                        The minimum number of lowercase characters required in
                        a password
  --pwdminspecials PWDMINSPECIALS
                        The minimum number of special characters required in a
                        password
  --pwdmin8bits PWDMIN8BITS
                        The minimum number of 8-bit characters required in a
                        password
  --pwdmaxrepeats PWDMAXREPEATS
                        The maximum number of times the same character can
                        appear sequentially in the password
  --pwdpalindrome PWDPALINDROME
                        Set to "on" to reject passwords that are palindromes
  --pwdmaxseq PWDMAXSEQ
                        The maximum number of allowed monotonic character
                        sequences in a password
  --pwdmaxseqsets PWDMAXSEQSETS
                        The maximum number of allowed monotonic character
                        sequences that can be duplicated in a password
  --pwdmaxclasschars PWDMAXCLASSCHARS
                        The maximum number of sequential characters from the
                        same character class that is allowed in a password
  --pwdmincatagories PWDMINCATAGORIES
                        The minimum number of syntax catagory checks
  --pwdmintokenlen PWDMINTOKENLEN
                        Sets the smallest attribute value length that is used
                        for trivial/user words checking. This also impacts "--
                        pwduserattrs"
  --pwdbadwords PWDBADWORDS
                        A space-separated list of words that can not be in a
                        password
  --pwduserattrs PWDUSERATTRS
                        A space-separated list of attributes whose values can
                        not appear in the password (See "--pwdmintokenlen")
  --pwddictcheck PWDDICTCHECK
                        Set to "on" to enfore CrackLib dictionary checking
  --pwddictpath PWDDICTPATH
                        Filesystem path to specific/custom CrackLib dictionary
                        files
  --pwdlocal PWDLOCAL   Set to "on" to enable fine-grained (subtree/user-
                        level) password policies
  --pwdisglobal PWDISGLOBAL
                        Set to "on" to enable password policy state
                        attributesto be replicated
  --pwdallowhash PWDALLOWHASH
                        Set to "on" to allow adding prehashed passwords

The problem here is that there are hundreds of config settings under cn=config. That is simply too many arguments to catalogue in the usage.

Instead you should do "dsconf config get" to see all the available attributes.

Now there are plans to break up of some of the settings like we did for password policy (all those attributes are actually under cn=config as well). So for things like "logging" there will eventually be "dsconf logging get/set".

But for now there are just too many attributes under cn=config to add it to the usage.

Closing as won't fix.

Metadata Update from @mreynolds:
- Custom field component adjusted to None
- Custom field origin adjusted to None
- Custom field reviewstatus adjusted to None
- Custom field type adjusted to None
- Custom field version adjusted to None

Metadata Update from @mreynolds:
- Issue close_status updated to: wontfix
- Issue status updated to: Closed (was: Open)

@mreynolds To follow up, I planned to have it so that looking at an attribute with "get" would look at the schema (if possible) and show the attribute description so it was self-documenting.

389-ds-base is moving from Pagure to Github. This means that new issues and pull requests
will be accepted only in 389-ds-base's github repository.

This issue has been cloned to Github and is available here:
- https://github.com/389ds/389-ds-base/issues/3109

If you want to receive further updates on the issue, please navigate to the github issue
and click on subscribe button.

Thank you for understanding. We apologize for all inconvenience.

Metadata