CVTSUDOERS(1) General Commands Manual CVTSUDOERS(1) (NAME) cvtsudoers - sudoers (SYNOPSIS) cvtsudoers [-ehMpV] [-b dn] [-c conf_file] [-d deftypes] [-f output_format] [-i input_format] [-I increment] [-l log_file] [-m filter] [-o output_file] [-O start_point] [-P padding] [-s sections] [input_file ...] (DESCRIPTION) cvtsudoers sudoers LDIF . sudoers . LDIF . . input_file `-' . (`:') . . : -b dn, --base=dn (distinguished name DN) LDAP . my-domain.com "ou=SUDOers,dc=my-domain,dc=com" . SUDOERS_BASE . LDIF . -c conf_file, --config=conf_file . /etc/cvtsudoers.conf . -d deftypes, --defaults=deftypes Defaults . Defaults (`,') . : all Defaults. global Defaults runas . user Defaults . runas Defaults runas. host Defaults . command Defaults . Defaults sudoers(5) . -d Defaults . -e, --expand-aliases input_file . format JSON sudoers . -f output_format, --output-format=output_format ( ). : CSV CSV ( ) . CSV (CSV output format) . JSON JSON ( ) sudoers . sudoers . JSON (JSON output format) . LDIF LDIF ( LDAP) sudoers.ldap(5) LDAP . LDIF : o Defaults runas (schema) LDAP sudoers . o runas LDAP sudoers . sudoers sudoers. sudoers . (include) . --group-file=file -M file . -h, --help . -i input_format, --input-format=input_format . : LDIF LDIF ( LDAP) LDAP sudoers.ldap(5) . DN (distinguished name) sudoRole DN . sudoOptions sudoRole LDIF sudoers . sudoers sudoers. . -I increment, --increment=increment LDIF sudoOrder . 1 . -l log_file, --logfile=log_file log_file . sudoers . -m filter, --match=filter filter . filter key = value (`,') . key "cmnd" ( "cmd"), "host", "group", "user" . user = operator host = www. Cmnd_Alias, Host_alias, User_Alias "cmnd", "host", "user" . sudoers filter . . -p . ( -M ). . -M, --match-local -m . . -M . -o output_file, --output=output_file output_file . output_file `-' sudoers . -O start_point, --order-start=start_point LDIF start_point sudoOrder sudoRole . sudoRole sudoOrder increment -I . 1 . 0 sudoOrder LDIF . --passwd-file=file -M passwd passwd file . -p, --prune-matches -m cvtsudoers () . -P padding, --padding=padding LDIF sudoOrder order_start increment increment padding . order_start 1027 padding 3 increment 1 sudoOrder 1027000 1027001 1027002 . sudoRole cvtsudoers . . -s sections, --suppress=sections . (`,') . : defaults, aliases privileges ( privs ). -V, --version cvtsudoers sudoers . (Merging multiple files) cvtsudoers . . "bob" "bob" . (`:') . . : o sudoers . o . (`_') . SERVERS SERVERS_1 . . ( ) . o Defaults . Defaults . cvtsudoers Defaults . Defaults runas . o . cvtsudoers ALL . . . cvtsudoers.conf (The cvtsudoers.conf file) "keyword = value" /etc/cvtsudoers.conf . : defaults = deftypes -d . expand_aliases = yes | no -e . group_file = file --group-file . input_format = ldif | sudoers -i . match = filter -m . match_local = yes | no -M . order_increment = increment -I . order_start = start_point -O . output_format = csv | json | ldif | sudoers -f . padding = padding -P . passwd_file = file --passwd-file . prune_matches = yes | no -p . sudoers_base = dn -b . suppress = sections -s . (override) . JSON (JSON output format) JSON sudoers : Defaults Options Binding . Options "name:value" Defaults sudoers . (Options) operation "list_assign" `=', "list_add" `+=', "list_remove" `-='. Binding "name:value" negated () . Binding command, hostname, netgroup, networkaddr, nonunixgid, nonunixgroup, usergid, usergroup, userid, username, . sudoers : Defaults@somehost set_home, env_keep += DISPLAY : "Defaults": [ { "Binding": [ { "hostname": "somehost" } ], "Options": [ { "set_home": true }, { "operation": "list_add", "env_keep": [ "DISPLAY" ] } ] } ] User_Aliases JSON User_Alias sudoers . "name:value" negated . netgroup, nonunixgid, nonunixgroup, useralias, usergid, usergroup, userid, username . sudoers : User_Alias SYSADMIN = will, %wheel, +admin : "User_Aliases": { "SYSADMIN": [ { "username": "will" }, { "usergroup": "wheel" }, { "netgroup": "admin" } ] } Runas_Aliases JSON Runas_Alias sudoers . "name:value" negated . netgroup, nonunixgid, nonunixgroup, runasalias, usergid, usergroup, userid, username . sudoers : Runas_Alias DB = oracle, sybase : OP = root, operator : "Runas_Aliases": { "DB": [ { "username": "oracle" }, { "username": "sybase" } ], "OP": [ { "username": "root" }, { "username": "operator" } ] } Host_Aliases JSON Host_Alias sudoers . "name:value" negated . hostalias, hostname, netgroup, networkaddr . sudoers : Host_Alias DORMNET = 128.138.243.0, 128.138.204.0/24 Host_Alias SERVERS = boulder, refuge : "Host_Aliases": { "DORMNET": [ { "networkaddr": "128.138.243.0" }, { "networkaddr": "128.138.204.0/24" } ], "SERVERS": [ { "hostname": "boulder" }, { "hostname": "refuge" } ] } Cmnd_Aliases JSON Cmnd_Alias sudoers . "name:value" negated . cmndalias command . sudoers : Cmnd_Alias SHELLS = /bin/bash, /bin/csh, /bin/sh, /bin/zsh Cmnd_Alias VIPW = /usr/bin/chpass, /usr/bin/chfn, /usr/bin/chsh, \ /usr/bin/passwd, /usr/sbin/vigr, /usr/sbin/vipw : "Cmnd_Aliases": { "SHELLS": [ { "command": "/bin/bash" }, { "command": "/bin/csh" }, { "command": "/bin/sh" }, { "command": "/bin/zsh" } ], "VIPW": [ { "command": "/usr/bin/chpass" }, { "command": "/usr/bin/chfn" }, { "command": "/usr/bin/chsh" }, { "command": "/usr/bin/passwd" }, { "command": "/usr/sbin/vigr" }, { "command": "/usr/sbin/vipw" } ] } User_Specs JSON User_Spec sudoers . User_Specs User_List, Host_List Cmnd_Specs . User_List . "name:value" negated . netgroup, nonunixgid, nonunixgroup, useralias, usergid, usergroup, userid, username . username ALL . Host_List . "name:value" negated . hostalias, hostname, netgroup, networkaddr . hostname ALL . Cmnd_Specs JSON . Cmnd_Specs Commands, runasusers, runasgroups, Options . Commands "name:value" . : command . ALL . negated (true) . sha224 SHA224 command . . sha256 SHA256 command . . sha384 SHA384 command . . sha512 SHA512 command . . runasusers . "name:value" negated . netgroup, nonunixgid, nonunixgroup, runasalias, usergid, usergroup, userid, username . username ALL . username "" . runasgroups . "name:value" negated . runasalias, usergid, usergroup . usergroup ALL . Options Defaults . Tag_Spec sudoers Options . "sudo ALL" setenv sudoers . sudoers : millert ALL = (ALL : ALL) NOPASSWD: ALL, !/usr/bin/id : "User_Specs": [ { "User_List": [ { "username": "millert" } ], "Host_List": [ { "hostname": "ALL" } ], "Cmnd_Specs": [ { "runasusers": [ { "username": "ALL" } ], "runasgroups": [ { "usergroup": "ALL" } ], "Options": [ { "authenticate": false }, { "setenv": true } ], "Commands": [ { "command": "ALL" }, { "command": "/usr/bin/id", "negated": true } ] } ] } ] CSV (CSV output format) CSV ( ) . CSV cvtsudoers . . . CSV cvtsudoers : defaults Defaults sudoers . defaults : defaults_type,binding,name,operator,value : defaults_type Defaults; defaults, defaults_command, defaults_host, defaults_runas, defaults_user. binding defaults_command, defaults_host, defaults_runas, defaults_user . name Defaults. operator . `=' () `+=' () `-=' () . value true false. aliases Cmnd_Alias, Host_Alias, Runas_Alias, User_Alias sudoers . aliases : alias_type,alias_name,members : alias_type Cmnd_Alias, Host_Alias, Runas_Alias, User_Alias. alias_name . members . members . rules sudoers . rules : rule,user,host,runusers,rungroups,options,command : rule rule sudoers . user . ( `%' ) ( `%:') ( `+' ) User_Alias . ALL . host . ( `+' ) Host_Alias . ALL . runusers ( Runas_Alias) . . ALL . root . rungroups ( Runas_Alias) . . ALL . runuser . options Defaults . Tag_Spec sudoers options . commands . ALL . sudoers : millert ALL = (ALL : ALL) NOPASSWD: ALL, !/usr/bin/id : rule,millert,ALL,ALL,ALL,"!authenticate","ALL,!/usr/bin/id" (FILES) /etc/cvtsudoers.conf cvtsudoers (EXAMPLES) /etc/sudoers LDIF ( LDAP) ldap.conf sudoers_base my-domain,dc=com sudoers.ldif: $ cvtsudoers -b ou=SUDOers,dc=my-domain,dc=com -o sudoers.ldif \ /etc/sudoers /etc/sudoers JSON sudoers.json: $ cvtsudoers -f json -o sudoers.json /etc/sudoers /etc/sudoers ambrose hastur : $ cvtsudoers -f sudoers -m user=ambrose,host=hastur /etc/sudoers . $ cvtsudoers -ep -f sudoers -m user=ambrose,host=hastur /etc/sudoers sudoers.ldif LDIF sudoers: $ cvtsudoers -i ldif -f sudoers -o sudoers.new sudoers.ldif sudoers "xyzzy" "plugh": $ cvtsudoers -f sudoers -o sudoers.merged sudoers \ xyzzy:sudoers.xyzzy plugh:sudoers.plugh (SEE ALSO) sudoers(5), sudoers.ldap(5), sudo(8) (AUTHORS) sudo : Todd C. Miller CONTRIBUTORS.md sudo (https://www.sudo.ws/about/contributors) sudo . (BUGS) cvtsudoers sudo https://bugzilla.sudo.ws https://github.com/sudo-project/sudo/issues issue . sudo-workers https://www.sudo.ws/mailman/listinfo/sudo-workers () () . issue GitHub . . https://www.sudo.ws/dist/PGPKEYS PGP . (SUPPORT) sudo-users https://www.sudo.ws/mailman/listinfo/sudo-users . (DISCLAIMER) cvtsudoers "AS IS" ( ) . LICENSE.md sudo https://www.sudo.ws/about/license . Sudo 1.9.17p2 February 22, 2025 Sudo 1.9.17p2