CVTSUDOERS(1) | General Commands Manual | CVTSUDOERS(1) |
cvtsudoers
—
convert between sudoers file formats
cvtsudoers |
[-ehMpV ] [-b
dn] [-c
conf_file] [-d
deftypes] [-f
output_format] [-i
input_format] [-I
increment] [-m
filter] [-o
output_file] [-O
start_point] [-P
padding] [-s
sections] [input_file] |
cvtsudoers
can be used to convert between
sudoers security policy file formats. The default input
format is sudoers. The default output format is LDIF. It is only possible to
convert a sudoers file that is syntactically correct.
If no input_file is specified, or if it is
‘-
’, the policy is read from the
standard input. By default, the result is written to the standard
output.
The options are as follows:
-b
dn,
--base
=dnou=SUDOers,dc=my-domain,dc=com
for the domain
my-domain.com
. If this option is not specified,
the value of the SUDOERS_BASE
environment variable
will be used instead. Only necessary when converting to LDIF format.-c
conf_file,
--config
=conf_file-d
deftypes,
--defaults
=deftypesDefaults
entries of the specified
types. One or more Defaults
types may be
specified, separated by a comma
(‘,
’). The supported types are:
See the Defaults section in sudoers(5) for more information.
If the -d
option is not specified, all
Defaults
entries will be converted.
-e
,
--expand-aliases
-f
output_format,
--output-format
=output_formatConversion to LDIF has the following limitations:
-h
,
--help
-i
input_format,
--input-format
=input_format-I
increment,
--increment
=increment-m
filter,
--match
=filter,
’). The
key may be “user”, “group”
or “host”. For example,
user
= operator or
host
= www. An upper-case
User_Alias or Host_Alias may be specified as the “user” or
“host”.
A matching sudoers rule may also include
users, groups and hosts that are not part of the
filter. This can happen when a rule includes
multiple users, groups or hosts. To prune out any non-matching user,
group or host from the rules, the -p
option may
be used.
By default, the password and group databases are not consulted
when matching against the filter so the users and groups do not need to
be present on the local system (see the -M
option). Only aliases that are referenced by the filtered policy rules
will be displayed.
-M
,
--match-local
-m
option is also specified, use password
and group database information when matching users and groups in the
filter. Only users and groups in the filter that exist on the local system
will match, and a user's groups will automatically be added to the filter.
If the -M
is
not
specified, users and groups in the filter do not need to exist on the
local system, but all groups used for matching must be explicitly listed
in the filter.-o
output_file,
--output
=output_file-
’, the converted
sudoers policy will be written to the standard
output.-O
start_point,
--order-start
=start_point-I
option for details. Defaults to a starting
point of 1. A starting point of 0 will disable the generation of sudoOrder
attributes in the resulting LDIF file.-p
,
--prune-matches
-m
option is also specified,
cvtsudoers
will prune out non-matching users,
groups and hosts from matching entries.-P
padding,
--padding
=paddingcvtsudoers
will exit with an error. By default, no
padding is performed.-s
sections,
--suppress
=sections,
’). The supported section
name are: defaults,
aliases
and
privileges
(which may be shortened to
privs).-V
,
--version
cvtsudoers
and sudoers
grammar versions and exit.Options in the form “keyword = value” may also be specified in a configuration file, /etc/cvtsudoers.conf by default. The following keywords are recognized:
-d
command line
option.-e
command line
option.-i
command line
option.-m
command line
option.-I
command line
option.-O
command line
option.-f
command line
option.-P
command line
option.-p
command line
option.-b
command line
option.-s
command line
option.Options on the command line will override values from the configuration file.
Convert /etc/sudoers to LDIF (LDAP Data Interchange Format) where the ldap.conf file uses a sudoers_base of my-domain,dc=com, storing the result in sudoers.ldif:
$ cvtsudoers -b ou=SUDOers,dc=my-domain,dc=com -o sudoers.ldif \ /etc/sudoers
Convert /etc/sudoers to JSON format, storing the result in sudoers.json:
$ cvtsudoers -f json -o sudoers.json /etc/sudoers
Parse /etc/sudoers and display only rules that match user ambrose on host hastur:
$ cvtsudoers -f sudoers -m user=ambrose,host=hastur /etc/sudoers
Same as above, but expand aliases and prune out any non-matching users and hosts from the expanded entries.
$ cvtsudoers -ep -f sudoers -m user=ambrose,host=hastur /etc/sudoers
Convert sudoers.ldif from LDIF to traditional sudoers format:
$ cvtsudoers -i ldif -f sudoers -o sudoers.new sudoers.ldif
Many people have worked on sudo
over the
years; this version consists of code written primarily by:
See the CONTRIBUTORS file in the sudo
distribution (https://www.sudo.ws/contributors.html) for an exhaustive list
of people who have contributed to sudo
.
If you feel you have found a bug in
cvtsudoers
, please submit a bug report at
https://bugzilla.sudo.ws/
Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or search the archives.
cvtsudoers
is provided “AS
IS” and any express or implied warranties, including, but not limited
to, the implied warranties of merchantability and fitness for a particular
purpose are disclaimed. See the LICENSE file distributed with
sudo
or https://www.sudo.ws/license.html for
complete details.
December 11, 2018 | Sudo 1.8.27 |