Annotation of embedaddon/sudo/doc/visudo.mdoc.in, revision 1.1.1.1

1.1       misho       1: .\"
                      2: .\" Copyright (c) 1996,1998-2005, 2007-2012
                      3: .\"    Todd C. Miller <Todd.Miller@courtesan.com>
                      4: .\"
                      5: .\" Permission to use, copy, modify, and distribute this software for any
                      6: .\" purpose with or without fee is hereby granted, provided that the above
                      7: .\" copyright notice and this permission notice appear in all copies.
                      8: .\"
                      9: .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
                     10: .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
                     11: .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
                     12: .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
                     13: .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
                     14: .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
                     15: .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
                     16: .\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                     17: .\"
                     18: .\" Sponsored in part by the Defense Advanced Research Projects
                     19: .\" Agency (DARPA) and Air Force Research Laboratory, Air Force
                     20: .\" Materiel Command, USAF, under agreement number F39502-99-1-0512.
                     21: .\"
                     22: .Dd July 12, 2012
                     23: .Dt VISUDO @mansectsu@
                     24: .Os Sudo @PACKAGE_VERSION@
                     25: .Sh NAME
                     26: .Nm visudo
                     27: .Nd edit the sudoers file
                     28: .Sh SYNOPSIS
                     29: .Nm visudo
                     30: .Op Fl chqsV
                     31: .Bk -words
                     32: .Op Fl f Ar sudoers
                     33: .Ek
                     34: .Sh DESCRIPTION
                     35: .Nm visudo
                     36: edits the
                     37: .Em sudoers
                     38: file in a safe fashion, analogous to
                     39: .Xr vipw @mansectsu@ .
                     40: .Nm visudo
                     41: locks the
                     42: .Em sudoers
                     43: file against multiple simultaneous edits, provides basic sanity checks,
                     44: and checks for parse errors.
                     45: If the
                     46: .Em sudoers
                     47: file is currently being edited you will receive a message to try again later.
                     48: .Pp
                     49: There is a hard-coded list of one or more editors that
                     50: .Nm visudo
                     51: will use set at compile-time that may be overridden via the
                     52: .Em editor
                     53: .Em sudoers
                     54: .Li Default
                     55: variable.
                     56: This list defaults to
                     57: .Li "@editor@" .
                     58: Normally,
                     59: .Nm visudo
                     60: does not honor the
                     61: .Ev VISUAL
                     62: or
                     63: .Ev EDITOR
                     64: environment variables unless they contain an editor in the aforementioned
                     65: editors list.
                     66: However, if
                     67: .Nm visudo
                     68: is configured with the
                     69: .Li --with-env-editor
                     70: option or the
                     71: .Em env_editor
                     72: .Li Default
                     73: variable is set in
                     74: .Em sudoers ,
                     75: .Nm visudo
                     76: will use any the editor defines by
                     77: .Ev VISUAL
                     78: or
                     79: .Ev EDITOR .
                     80: Note that this can be a security hole since it allows the user to
                     81: execute any program they wish simply by setting
                     82: .Ev VISUAL
                     83: or
                     84: .Ev EDITOR .
                     85: .Pp
                     86: .Nm visudo
                     87: parses the
                     88: .Em sudoers
                     89: file after the edit and will
                     90: not save the changes if there is a syntax error.
                     91: Upon finding an error,
                     92: .Nm visudo
                     93: will print a message stating the line number(s)
                     94: where the error occurred and the user will receive the
                     95: .Dq What now?
                     96: prompt.
                     97: At this point the user may enter
                     98: .Ql e
                     99: to re-edit the
                    100: .Em sudoers
                    101: file,
                    102: .Ql x
                    103: to exit without saving the changes, or
                    104: .Ql Q
                    105: to quit and save changes.
                    106: The
                    107: .Ql Q
                    108: option should be used with extreme care because if
                    109: .Nm visudo
                    110: believes there to be a parse error, so will
                    111: .Nm sudo
                    112: and no one
                    113: will be able to
                    114: .Nm sudo
                    115: again until the error is fixed.
                    116: If
                    117: .Ql e
                    118: is typed to edit the
                    119: .Em sudoers
                    120: file after a parse error has been detected, the cursor will be placed on
                    121: the line where the error occurred (if the editor supports this feature).
                    122: .Pp
                    123: The options are as follows:
                    124: .Bl -tag -width Fl
                    125: .It Fl c
                    126: Enable
                    127: .Em check-only
                    128: mode.
                    129: The existing
                    130: .Em sudoers
                    131: file will be
                    132: checked for syntax errors, owner and mode.
                    133: A message will be printed to the standard output describing the status of
                    134: .Em sudoers
                    135: unless the
                    136: .Fl q
                    137: option was specified.
                    138: If the check completes successfully,
                    139: .Nm visudo
                    140: will exit with a value of 0.
                    141: If an error is encountered,
                    142: .Nm visudo
                    143: will exit with a value of 1.
                    144: .It Fl f Ar sudoers
                    145: Specify and alternate
                    146: .Em sudoers
                    147: file location.
                    148: With this option
                    149: .Nm visudo
                    150: will edit (or check) the
                    151: .Em sudoers
                    152: file of your choice,
                    153: instead of the default,
                    154: .Pa @sysconfdir@/sudoers .
                    155: The lock file used is the specified
                    156: .Em sudoers
                    157: file with
                    158: .Dq \.tmp
                    159: appended to it.
                    160: In
                    161: .Em check-only
                    162: mode only, the argument to
                    163: .Fl f
                    164: may be
                    165: .Ql - ,
                    166: indicating that
                    167: .Em sudoers
                    168: will be read from the standard input.
                    169: .It Fl h
                    170: The
                    171: .Fl h No ( Em help Ns No )
                    172: option causes
                    173: .Nm visudo
                    174: to print a short help message
                    175: to the standard output and exit.
                    176: .It Fl q
                    177: Enable
                    178: .Em quiet
                    179: mode.
                    180: In this mode details about syntax errors are not printed.
                    181: This option is only useful when combined with
                    182: the
                    183: .Fl c
                    184: option.
                    185: .It Fl s
                    186: Enable
                    187: .Em strict
                    188: checking of the
                    189: .Em sudoers
                    190: file.
                    191: If an alias is used before it is defined,
                    192: .Nm visudo
                    193: will consider this a parse error.
                    194: Note that it is not possible to differentiate between an
                    195: alias and a host name or user name that consists solely of uppercase
                    196: letters, digits, and the underscore
                    197: .Pq Ql _
                    198: character.
                    199: .It Fl V
                    200: The
                    201: .Fl V ( Em version Ns No )
                    202: option causes
                    203: .Nm visudo
                    204: to print its version number
                    205: and exit.
                    206: .El
                    207: .Sh ENVIRONMENT
                    208: The following environment variables may be consulted depending on
                    209: the value of the
                    210: .Em editor
                    211: and
                    212: .Em env_editor
                    213: .Em sudoers
                    214: settings:
                    215: .Bl -tag -width 15n
                    216: .It Ev VISUAL
                    217: Invoked by
                    218: .Nm visudo
                    219: as the editor to use
                    220: .It Ev EDITOR
                    221: Used by
                    222: .Nm visudo
                    223: if
                    224: .Ev VISUAL
                    225: is not set
                    226: .El
                    227: .Sh FILES
                    228: .Bl -tag -width 24n
                    229: .It Pa @sysconfdir@/sudoers
                    230: List of who can run what
                    231: .It Pa @sysconfdir@/sudoers.tmp
                    232: Lock file for visudo
                    233: .El
                    234: .Sh DIAGNOSTICS
                    235: .Bl -tag -width 4n
                    236: .It Li sudoers file busy, try again later.
                    237: Someone else is currently editing the
                    238: .Em sudoers
                    239: file.
                    240: .It Li @sysconfdir@/sudoers.tmp: Permission denied
                    241: You didn't run
                    242: .Nm visudo
                    243: as root.
                    244: .It Li Can't find you in the passwd database
                    245: Your user ID does not appear in the system passwd file.
                    246: .It Li Warning: {User,Runas,Host,Cmnd}_Alias referenced but not defined
                    247: Either you are trying to use an undeclared {User,Runas,Host,Cmnd}_Alias
                    248: or you have a user or host name listed that consists solely of
                    249: uppercase letters, digits, and the underscore
                    250: .Pq Ql _
                    251: character.
                    252: In the latter case, you can ignore the warnings
                    253: .Po
                    254: .Nm sudo
                    255: will not complain
                    256: .Pc .
                    257: In
                    258: .Fl s
                    259: (strict) mode these are errors, not warnings.
                    260: .It Li Warning: unused {User,Runas,Host,Cmnd}_Alias
                    261: The specified {User,Runas,Host,Cmnd}_Alias was defined but never
                    262: used.
                    263: You may wish to comment out or remove the unused alias.
                    264: In
                    265: .Fl s
                    266: (strict) mode this is an error, not a warning.
                    267: .It Li Warning: cycle in {User,Runas,Host,Cmnd}_Alias
                    268: The specified {User,Runas,Host,Cmnd}_Alias includes a reference to
                    269: itself, either directly or through an alias it includes.
                    270: This is only a warning by default as
                    271: .Nm sudo
                    272: will ignore cycles when parsing
                    273: the
                    274: .Em sudoers
                    275: file.
                    276: .El
                    277: .Sh SEE ALSO
                    278: .Xr vi 1 ,
                    279: .Xr sudoers @mansectform@ ,
                    280: .Xr sudo @mansectsu@ ,
                    281: .Xr vipw @mansectsu@
                    282: .Sh AUTHORS
                    283: Many people have worked on
                    284: .Nm sudo
                    285: over the years; this version consists of code written primarily by:
                    286: .Bd -ragged -offset indent
                    287: Todd C. Miller
                    288: .Ed
                    289: .Pp
                    290: See the CONTRIBUTORS file in the
                    291: .Nm sudo
                    292: distribution (http://www.sudo.ws/sudo/contributors.html) for an
                    293: exhaustive list of people who have contributed to
                    294: .Nm sudo .
                    295: .Sh CAVEATS
                    296: There is no easy way to prevent a user from gaining a root shell if
                    297: the editor used by
                    298: .Nm visudo
                    299: allows shell escapes.
                    300: .Sh BUGS
                    301: If you feel you have found a bug in
                    302: .Nm visudo ,
                    303: please submit a bug report at http://www.sudo.ws/sudo/bugs/
                    304: .Sh SUPPORT
                    305: Limited free support is available via the sudo-users mailing list,
                    306: see http://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or
                    307: search the archives.
                    308: .Sh DISCLAIMER
                    309: .Nm visudo
                    310: is provided
                    311: .Dq AS IS
                    312: and any express or implied warranties, including, but not limited
                    313: to, the implied warranties of merchantability and fitness for a
                    314: particular purpose are disclaimed.
                    315: See the LICENSE file distributed with
                    316: .Nm sudo
                    317: or http://www.sudo.ws/sudo/license.html for complete details.

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>