version 1.4, 2001/09/17 23:49:21 |
version 1.4.2.1, 2002/01/18 16:14:46 |
|
|
.rn '' }` |
.\" Automatically generated by Pod::Man version 1.15 |
''' $RCSfile$$Revision$$Date$ |
.\" Wed Jan 16 16:36:10 2002 |
''' |
.\" |
''' $Log$ |
.\" Standard preamble: |
''' Revision 1.4 2001/09/17 23:49:21 pjanzen |
.\" ====================================================================== |
''' Typo and grammar fixes, one from PR/2058 (Dennis Schwarz); ok millert@ |
.de Sh \" Subsection heading |
''' |
|
''' Revision 1.3 2000/03/27 03:44:39 millert |
|
''' sudo 1.6.3; see http://www.courtesan.com/sudo/current.html for a list |
|
''' of changes. |
|
''' |
|
''' Revision 1.4 2000/03/27 03:26:24 millert |
|
''' Use 8 and 5 in the man page bodies as well. |
|
''' |
|
''' |
|
.de Sh |
|
.br |
.br |
.if t .Sp |
.if t .Sp |
.ne 5 |
.ne 5 |
|
|
\fB\\$1\fR |
\fB\\$1\fR |
.PP |
.PP |
.. |
.. |
.de Sp |
.de Sp \" Vertical space (when we can't use .PP) |
.if t .sp .5v |
.if t .sp .5v |
.if n .sp |
.if n .sp |
.. |
.. |
.de Ip |
.de Ip \" List item |
.br |
.br |
.ie \\n(.$>=3 .ne \\$3 |
.ie \\n(.$>=3 .ne \\$3 |
.el .ne 3 |
.el .ne 3 |
.IP "\\$1" \\$2 |
.IP "\\$1" \\$2 |
.. |
.. |
.de Vb |
.de Vb \" Begin verbatim text |
.ft CW |
.ft CW |
.nf |
.nf |
.ne \\$1 |
.ne \\$1 |
.. |
.. |
.de Ve |
.de Ve \" End verbatim text |
.ft R |
.ft R |
|
|
.fi |
.fi |
.. |
.. |
''' |
.\" Set up some character translations and predefined strings. \*(-- will |
''' |
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left |
''' Set up \*(-- to give an unbreakable dash; |
.\" double quote, and \*(R" will give a right double quote. | will give a |
''' string Tr holds user defined translation string. |
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used |
''' Bell System Logo is used as a dummy character. |
.\" to do unbreakable dashes and therefore won't be available. \*(C` and |
''' |
.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<> |
.tr \(*W-|\(bv\*(Tr |
.tr \(*W-|\(bv\*(Tr |
|
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
.ie n \{\ |
.ie n \{\ |
.ds -- \(*W- |
. ds -- \(*W- |
.ds PI pi |
. ds PI pi |
.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch |
.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch |
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch |
.ds L" "" |
. ds L" "" |
.ds R" "" |
. ds R" "" |
''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of |
. ds C` |
''' \*(L" and \*(R", except that they are used on ".xx" lines, |
. ds C' |
''' such as .IP and .SH, which do another additional levels of |
|
''' double-quote interpretation |
|
.ds M" """ |
|
.ds S" """ |
|
.ds N" """"" |
|
.ds T" """"" |
|
.ds L' ' |
|
.ds R' ' |
|
.ds M' ' |
|
.ds S' ' |
|
.ds N' ' |
|
.ds T' ' |
|
'br\} |
'br\} |
.el\{\ |
.el\{\ |
.ds -- \(em\| |
. ds -- \|\(em\| |
.tr \*(Tr |
. ds PI \(*p |
.ds L" `` |
. ds L" `` |
.ds R" '' |
. ds R" '' |
.ds M" `` |
|
.ds S" '' |
|
.ds N" `` |
|
.ds T" '' |
|
.ds L' ` |
|
.ds R' ' |
|
.ds M' ` |
|
.ds S' ' |
|
.ds N' ` |
|
.ds T' ' |
|
.ds PI \(*p |
|
'br\} |
'br\} |
.\" If the F register is turned on, we'll generate |
.\" |
.\" index entries out stderr for the following things: |
.\" If the F register is turned on, we'll generate index entries on stderr |
.\" TH Title |
.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and |
.\" SH Header |
.\" index entries marked with X<> in POD. Of course, you'll have to process |
.\" Sh Subsection |
.\" the output yourself in some meaningful fashion. |
.\" Ip Item |
.if \nF \{\ |
.\" X<> Xref (embedded |
. de IX |
.\" Of course, you have to process the output yourself |
. tm Index:\\$1\t\\n%\t"\\$2" |
.\" in some meaningful fashion. |
|
.if \nF \{ |
|
.de IX |
|
.tm Index:\\$1\t\\n%\t"\\$2" |
|
.. |
.. |
.nr % 0 |
. nr % 0 |
.rr F |
. rr F |
.\} |
.\} |
.TH visudo 8 "1.6.3" "26/Mar/2000" "MAINTENANCE COMMANDS" |
.\" |
.UC |
.\" For nroff, turn off justification. Always turn off hyphenation; it |
.if n .hy 0 |
.\" makes way too many mistakes in technical documents. |
|
.hy 0 |
.if n .na |
.if n .na |
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' |
.\" |
.de CQ \" put $1 in typewriter font |
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). |
.ft CW |
.\" Fear. Run. Save yourself. No user-serviceable parts. |
'if n "\c |
|
'if t \\&\\$1\c |
|
'if n \\&\\$1\c |
|
'if n \&" |
|
\\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 |
|
'.ft R |
|
.. |
|
.\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 |
|
. \" AM - accent mark definitions |
|
.bd B 3 |
.bd B 3 |
. \" fudge factors for nroff and troff |
. \" fudge factors for nroff and troff |
.if n \{\ |
.if n \{\ |
. ds #H 0 |
. ds #H 0 |
. ds #V .8m |
. ds #V .8m |
. ds #F .3m |
. ds #F .3m |
. ds #[ \f1 |
. ds #[ \f1 |
. ds #] \fP |
. ds #] \fP |
.\} |
.\} |
.if t \{\ |
.if t \{\ |
. ds #H ((1u-(\\\\n(.fu%2u))*.13m) |
. ds #H ((1u-(\\\\n(.fu%2u))*.13m) |
. ds #V .6m |
. ds #V .6m |
. ds #F 0 |
. ds #F 0 |
. ds #[ \& |
. ds #[ \& |
. ds #] \& |
. ds #] \& |
.\} |
.\} |
. \" simple accents for nroff and troff |
. \" simple accents for nroff and troff |
.if n \{\ |
.if n \{\ |
. ds ' \& |
. ds ' \& |
. ds ` \& |
. ds ` \& |
. ds ^ \& |
. ds ^ \& |
. ds , \& |
. ds , \& |
. ds ~ ~ |
. ds ~ ~ |
. ds ? ? |
. ds / |
. ds ! ! |
|
. ds / |
|
. ds q |
|
.\} |
.\} |
.if t \{\ |
.if t \{\ |
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" |
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" |
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' |
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' |
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' |
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' |
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' |
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' |
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' |
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' |
. ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' |
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' |
. ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' |
|
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' |
|
. ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' |
|
.\} |
.\} |
. \" troff and (daisy-wheel) nroff accents |
. \" troff and (daisy-wheel) nroff accents |
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' |
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' |
.ds 8 \h'\*(#H'\(*b\h'-\*(#H' |
.ds 8 \h'\*(#H'\(*b\h'-\*(#H' |
.ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] |
|
.ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' |
|
.ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' |
|
.ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] |
|
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] |
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] |
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' |
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' |
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' |
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' |
|
|
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] |
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] |
.ds ae a\h'-(\w'a'u*4/10)'e |
.ds ae a\h'-(\w'a'u*4/10)'e |
.ds Ae A\h'-(\w'A'u*4/10)'E |
.ds Ae A\h'-(\w'A'u*4/10)'E |
.ds oe o\h'-(\w'o'u*4/10)'e |
. \" corrections for vroff |
.ds Oe O\h'-(\w'O'u*4/10)'E |
|
. \" corrections for vroff |
|
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' |
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' |
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' |
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' |
. \" for low resolution devices (crt and lpr) |
. \" for low resolution devices (crt and lpr) |
.if \n(.H>23 .if \n(.V>19 \ |
.if \n(.H>23 .if \n(.V>19 \ |
\{\ |
\{\ |
. ds : e |
. ds : e |
. ds 8 ss |
. ds 8 ss |
. ds v \h'-1'\o'\(aa\(ga' |
. ds o a |
. ds _ \h'-1'^ |
. ds d- d\h'-1'\(ga |
. ds . \h'-1'. |
. ds D- D\h'-1'\(hy |
. ds 3 3 |
. ds th \o'bp' |
. ds o a |
. ds Th \o'LP' |
. ds d- d\h'-1'\(ga |
. ds ae ae |
. ds D- D\h'-1'\(hy |
. ds Ae AE |
. ds th \o'bp' |
|
. ds Th \o'LP' |
|
. ds ae ae |
|
. ds Ae AE |
|
. ds oe oe |
|
. ds Oe OE |
|
.\} |
.\} |
.rm #[ #] #H #V #F C |
.rm #[ #] #H #V #F C |
|
.\" ====================================================================== |
|
.\" |
|
.IX Title "visudo 8" |
|
.TH visudo 8 "1.6.5" "January 16, 2002" "MAINTENANCE COMMANDS" |
|
.UC |
.SH "NAME" |
.SH "NAME" |
visudo \- edit the sudoers file |
visudo \- edit the sudoers file |
.SH "SYNOPSIS" |
.SH "SYNOPSIS" |
\fBvisudo\fR [ \fB\-s\fR ] [ \fB\-V\fR ] |
.IX Header "SYNOPSIS" |
|
\&\fBvisudo\fR [ \fB\-c\fR ] [ \fB\-f\fR \fIsudoers\fR ] [ \fB\-q\fR ] [ \fB\-s\fR ] [ \fB\-V\fR ] |
.SH "DESCRIPTION" |
.SH "DESCRIPTION" |
\fBvisudo\fR edits the \fIsudoers\fR file in a safe fashion, analogous to |
.IX Header "DESCRIPTION" |
\fIvipw\fR\|(8). \fBvisudo\fR locks the \fIsudoers\fR file against multiple |
\&\fBvisudo\fR edits the \fIsudoers\fR file in a safe fashion, analogous to |
|
\&\fIvipw\fR\|(8). \fBvisudo\fR locks the \fIsudoers\fR file against multiple |
simultaneous edits, provides basic sanity checks, and checks |
simultaneous edits, provides basic sanity checks, and checks |
for parse errors. If the \fIsudoers\fR file is currently being |
for parse errors. If the \fIsudoers\fR file is currently being |
edited you will receive a message to try again later. In the |
edited you will receive a message to try again later. |
default configuration, the \fIvi\fR\|(1) editor is used, but there is |
|
a compile-time option to allow use of whatever editor the |
|
environment variables \f(CWEDITOR\fR or \f(CWVISUAL\fR are set to. |
|
.PP |
.PP |
\fBvisudo\fR parses the \fIsudoers\fR file after the edit and will |
There is a hard-coded list of editors that \fBvisudo\fR will use set |
|
at compile-time that may be overridden via the \fIeditor\fR \fIsudoers\fR |
|
\&\f(CW\*(C`Default\*(C'\fR variable. This list defaults to the path to \fIvi\fR\|(1) on |
|
your system, as determined by the \fIconfigure\fR script. Normally, |
|
\&\fBvisudo\fR does not honor the \f(CW\*(C`EDITOR\*(C'\fR or \f(CW\*(C`VISUAL\*(C'\fR environment |
|
variables unless they contain an editor in the aforementioned editors |
|
list. However, if \fBvisudo\fR is configured with the \fI\*(--with-enveditor\fR |
|
flag or the \fIenveditor\fR \f(CW\*(C`Default\*(C'\fR variable is set in \fIsudoers\fR, |
|
\&\fBvisudo\fR will use any the editor defines by \f(CW\*(C`EDITOR\*(C'\fR or \f(CW\*(C`VISUAL\*(C'\fR. |
|
Note that this can be a security hole since it allows the user to |
|
execute any program they wish simply by setting \f(CW\*(C`EDITOR\*(C'\fR or \f(CW\*(C`VISUAL\*(C'\fR. |
|
.PP |
|
\&\fBvisudo\fR parses the \fIsudoers\fR file after the edit and will |
not save the changes if there is a syntax error. Upon finding |
not save the changes if there is a syntax error. Upon finding |
an error, \fBvisudo\fR will print a message stating the line \fInumber\fR\|(s) |
an error, \fBvisudo\fR will print a message stating the line \fInumber\fR\|(s) |
that the error occurred on and the user will receive the |
where the error occurred and the user will receive the |
\*(L"What now?\*(R" prompt. At this point the user may enter \*(L"e\*(R" |
\&\*(L"What now?\*(R" prompt. At this point the user may enter \*(L"e\*(R" |
to re-edit the \fIsudoers\fR file, \*(L"x\*(R" to exit without |
to re-edit the \fIsudoers\fR file, \*(L"x\*(R" to exit without |
saving the changes, or \*(L"Q\*(R" to quit and save changes. The |
saving the changes, or \*(L"Q\*(R" to quit and save changes. The |
\*(L"Q\*(R" option should be used with extreme care because if \fBvisudo\fR |
\&\*(L"Q\*(R" option should be used with extreme care because if \fBvisudo\fR |
believes there to be a parse error, so will \fBsudo\fR and no one |
believes there to be a parse error, so will \fBsudo\fR and no one |
will be able to use \fBsudo\fR again until the error is fixed. |
will be able to \fBsudo\fR again until the error is fixed. |
Any other command at this prompt will print a short help message. |
If \*(L"e\*(R" is typed to edit the \fIsudoers\fR file after a parse error |
If \*(L"e\*(R" is typed to edit the \fIsudoers\fR file after a parse error |
has been detected, the cursor will be placed on the line where the |
has been detected, the cursor will be placed on the line where the error |
error occurred (if the editor supports this feature). |
occurred (if the editor supports this feature). |
|
.SH "OPTIONS" |
.SH "OPTIONS" |
\fBvisudo\fR accepts the following command line options: |
.IX Header "OPTIONS" |
.Ip "-s" 4 |
\&\fBvisudo\fR accepts the following command line options: |
|
.Ip "\-c" 4 |
|
.IX Item "-c" |
|
Enable \fBcheck-only\fR mode. The existing \fIsudoers\fR file will be |
|
checked for syntax and a message will be printed to the |
|
standard output detailing the status of \fIsudoers\fR. |
|
If the syntax check completes successfully, \fBvisudo\fR will |
|
exit with a value of 0. If a syntax error is encountered, |
|
\&\fBvisudo\fR will exit with a value of 1. |
|
.Ip "\-f" 4 |
|
.IX Item "-f" |
|
Specify and alternate \fIsudoers\fR file location. With this option |
|
\&\fBvisudo\fR will edit (or check) the \fIsudoers\fR file of your choice, |
|
instead of the default, \f(CW@sysconfdir\fR@/sudoers. The lock file used |
|
is the specified \fIsudoers\fR file with \*(L".tmp\*(R" appended to it. |
|
.Ip "\-q" 4 |
|
.IX Item "-q" |
|
Enable \fBquiet\fR mode. In this mode details about syntax errors |
|
are not printed. This option is only useful when combined with |
|
the \fB\-c\fR flag. |
|
.Ip "\-s" 4 |
|
.IX Item "-s" |
Enable \fBstrict\fR checking of the \fIsudoers\fR file. If an alias is |
Enable \fBstrict\fR checking of the \fIsudoers\fR file. If an alias is |
used before it is defined, \fBvisudo\fR will consider this a parse |
used before it is defined, \fBvisudo\fR will consider this a parse |
error. Note that it is not possible to differentiate between an |
error. Note that it is not possible to differentiate between an |
alias and a hostname or username that consists solely of upper case |
alias and a hostname or username that consists solely of uppercase |
letters, digits, and the underscore ('_') character. |
letters, digits, and the underscore ('_') character. |
.Ip "-V" 4 |
.Ip "\-V" 4 |
The \f(CW-V\fR (version) option causes \fBvisudo\fR to print its version number |
.IX Item "-V" |
|
The \fB\-V\fR (version) option causes \fBvisudo\fR to print its version number |
and exit. |
and exit. |
.SH "ERRORS" |
.SH "ERRORS" |
|
.IX Header "ERRORS" |
.Ip "sudoers file busy, try again later." 4 |
.Ip "sudoers file busy, try again later." 4 |
|
.IX Item "sudoers file busy, try again later." |
Someone else is currently editing the \fIsudoers\fR file. |
Someone else is currently editing the \fIsudoers\fR file. |
.Ip "/etc/sudoers.tmp: Permission denied" 4 |
.Ip "/etc/sudoers.tmp: Permission denied" 4 |
|
.IX Item "/etc/sudoers.tmp: Permission denied" |
You didn't run \fBvisudo\fR as root. |
You didn't run \fBvisudo\fR as root. |
.Ip "Can't find you in the passwd database" 4 |
.Ip "Can't find you in the passwd database" 4 |
|
.IX Item "Can't find you in the passwd database" |
Your userid does not appear in the system passwd file. |
Your userid does not appear in the system passwd file. |
.Ip "Warning: undeclared Alias referenced near ..." 4 |
.Ip "Warning: undeclared Alias referenced near ..." 4 |
|
.IX Item "Warning: undeclared Alias referenced near ..." |
Either you are using a {User,Runas,Host,Cmnd}_Alias before |
Either you are using a {User,Runas,Host,Cmnd}_Alias before |
defining it or you have a user or hostname listed that |
defining it or you have a user or hostname listed that |
consists solely of upper case letters, digits, and the |
consists solely of uppercase letters, digits, and the |
underscore ('_') character. If the latter, you can ignore |
underscore ('_') character. If the latter, you can ignore |
the warnings (\fBsudo\fR will not complain). In \fB\-s\fR (strict) |
the warnings (\fBsudo\fR will not complain). In \fB\-s\fR (strict) |
mode these are errors, not warnings. |
mode these are errors, not warnings. |
.SH "ENVIRONMENT" |
.SH "ENVIRONMENT" |
|
.IX Header "ENVIRONMENT" |
The following environment variables are used only if \fBvisudo\fR |
The following environment variables are used only if \fBvisudo\fR |
was configured with the \fI--with-env-editor\fR option: |
was configured with the \fI\*(--with-env-editor\fR option: |
.PP |
.PP |
.Vb 2 |
.Vb 2 |
\& EDITOR Invoked by visudo as the editor |
\& EDITOR Invoked by visudo as the editor to use |
\& VISUAL Invoked by visudo if EDITOR is not set |
\& VISUAL Used Invoked visudo if EDITOR is not set |
.Ve |
.Ve |
.SH "FILES" |
.SH "FILES" |
.PP |
.IX Header "FILES" |
.Vb 2 |
.Vb 2 |
\& /etc/sudoers List of who can run what |
\& /etc/sudoers List of who can run what |
\& /etc/sudoers.tmp Lock file for visudo |
\& /etc/sudoers.tmp Lock file for visudo |
.Ve |
.Ve |
.SH "AUTHOR" |
.SH "AUTHOR" |
Many people have worked on \fIsudo\fR over the years. This version of |
.IX Header "AUTHOR" |
\fBvisudo\fR was written by: |
Many people have worked on \fIsudo\fR over the years; this version of |
|
\&\fBvisudo\fR was written by: |
.PP |
.PP |
.Vb 1 |
.Vb 1 |
\& Todd Miller <Todd.Miller@courtesan.com> |
\& Todd Miller <Todd.Miller@courtesan.com> |
.Ve |
.Ve |
See the HISTORY file in the sudo distribution for more details. |
See the \s-1HISTORY\s0 file in the sudo distribution or visit |
|
http://www.sudo.ws/sudo/history.html for more details. |
.SH "BUGS" |
.SH "BUGS" |
|
.IX Header "BUGS" |
If you feel you have found a bug in sudo, please submit a bug report |
If you feel you have found a bug in sudo, please submit a bug report |
at http://www.courtesan.com/sudo/bugs/ |
at http://www.sudo.ws/sudo/bugs/ |
.SH "DISCLAIMER" |
.SH "DISCLAIMER" |
\fBVisudo\fR is provided ``AS IS'\*(R' and any express or implied warranties, |
.IX Header "DISCLAIMER" |
|
\&\fBVisudo\fR is provided ``\s-1AS\s0 \s-1IS\s0'' and any express or implied warranties, |
including, but not limited to, the implied warranties of merchantability |
including, but not limited to, the implied warranties of merchantability |
and fitness for a particular purpose are disclaimed. |
and fitness for a particular purpose are disclaimed. |
See the LICENSE file distributed with \fBsudo\fR for complete details. |
See the \s-1LICENSE\s0 file distributed with \fBsudo\fR for complete details. |
.SH "CAVEATS" |
.SH "CAVEATS" |
|
.IX Header "CAVEATS" |
There is no easy way to prevent a user from gaining a root shell if |
There is no easy way to prevent a user from gaining a root shell if |
the editor used by \fBvisudo\fR allows shell escapes. |
the editor used by \fBvisudo\fR allows shell escapes. |
.SH "SEE ALSO" |
.SH "SEE ALSO" |
\fIsudo\fR\|(8), \fIvipw\fR\|(8). |
|
|
|
.rn }` '' |
|
.IX Title "visudo 8" |
|
.IX Name "visudo - edit the sudoers file" |
|
|
|
.IX Header "NAME" |
|
|
|
.IX Header "SYNOPSIS" |
|
|
|
.IX Header "DESCRIPTION" |
|
|
|
.IX Header "OPTIONS" |
|
|
|
.IX Item "-s" |
|
|
|
.IX Item "-V" |
|
|
|
.IX Header "ERRORS" |
|
|
|
.IX Item "sudoers file busy, try again later." |
|
|
|
.IX Item "/etc/sudoers.tmp: Permission denied" |
|
|
|
.IX Item "Can't find you in the passwd database" |
|
|
|
.IX Item "Warning: undeclared Alias referenced near ..." |
|
|
|
.IX Header "ENVIRONMENT" |
|
|
|
.IX Header "FILES" |
|
|
|
.IX Header "AUTHOR" |
|
|
|
.IX Header "BUGS" |
|
|
|
.IX Header "DISCLAIMER" |
|
|
|
.IX Header "CAVEATS" |
|
|
|
.IX Header "SEE ALSO" |
.IX Header "SEE ALSO" |
|
\&\fIvi\fR\|(1), \fIsudo\fR\|(8), \fIvipw\fR\|(8). |