1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
|
VISUDO(1m) MAINTENANCE COMMANDS VISUDO(1m)
NNAAMMEE
visudo - edit the sudoers file
SSYYNNOOPPSSIISS
vviissuuddoo [--cc] [--qq] [--ss] [--VV] [--ff _s_u_d_o_e_r_s]
DDEESSCCRRIIPPTTIIOONN
vviissuuddoo edits the _s_u_d_o_e_r_s file in a safe fashion, analogous
to _v_i_p_w(1m). vviissuuddoo locks the _s_u_d_o_e_r_s file against
multiple simultaneous edits, provides basic sanity checks,
and checks for parse errors. If the _s_u_d_o_e_r_s file is
currently being edited you will receive a message to try
again later.
There is a hard-coded list of editors that vviissuuddoo will use
set at compile-time that may be overridden via the _e_d_i_t_o_r
_s_u_d_o_e_r_s Default variable. This list defaults to the path
to _v_i(1) on your system, as determined by the _c_o_n_f_i_g_u_r_e
script. Normally, vviissuuddoo does not honor the VISUAL or
EDITOR environment variables unless they contain an editor
in the aforementioned editors list. However, if vviissuuddoo is
configured with the _-_-_w_i_t_h_-_e_n_v_e_d_i_t_o_r option or the
_e_n_v___e_d_i_t_o_r Default variable is set in _s_u_d_o_e_r_s, vviissuuddoo will
use any the editor defines by VISUAL or EDITOR. Note that
this can be a security hole since it allows the user to
execute any program they wish simply by setting VISUAL or
EDITOR.
vviissuuddoo parses the _s_u_d_o_e_r_s file after the edit and will not
save the changes if there is a syntax error. Upon finding
an error, vviissuuddoo will print a message stating the line
number(s) where the error occurred and the user will
receive the "What now?" prompt. At this point the user
may enter "e" to re-edit the _s_u_d_o_e_r_s file, "x" to exit
without saving the changes, or "Q" to quit and save
changes. The "Q" option should be used with extreme care
because if vviissuuddoo believes there to be a parse error, so
will ssuuddoo and no one will be able to ssuuddoo again until the
error is fixed. If "e" is typed to edit the _s_u_d_o_e_r_s file
after a parse error has been detected, the cursor will be
placed on the line where the error occurred (if the editor
supports this feature).
OOPPTTIIOONNSS
vviissuuddoo accepts the following command line options:
-c Enable cchheecckk--oonnllyy mode. The existing _s_u_d_o_e_r_s file
will be checked for syntax and a message will be
printed to the standard output detailing the status of
_s_u_d_o_e_r_s. If the syntax check completes successfully,
vviissuuddoo will exit with a value of 0. If a syntax error
is encountered, vviissuuddoo will exit with a value of 1.
-f Specify and alternate _s_u_d_o_e_r_s file location. With
1.6.9p21 February 23, 2010 1
VISUDO(1m) MAINTENANCE COMMANDS VISUDO(1m)
this option vviissuuddoo will edit (or check) the _s_u_d_o_e_r_s
file of your choice, instead of the default,
_/_e_t_c_/_s_u_d_o_e_r_s. The lock file used is the specified
_s_u_d_o_e_r_s file with ".tmp" appended to it.
-q Enable qquuiieett mode. In this mode details about syntax
errors are not printed. This option is only useful
when combined with the --cc option.
-s Enable ssttrriicctt checking of the _s_u_d_o_e_r_s file. If an
alias is used before it is defined, vviissuuddoo will
consider this a parse error. Note that it is not
possible to differentiate between an alias and a
hostname or username that consists solely of uppercase
letters, digits, and the underscore ('_') character.
-V The --VV (version) option causes vviissuuddoo to print its
version number and exit.
EENNVVIIRROONNMMEENNTT
The following environment variables are used only if
vviissuuddoo was configured with the _-_-_w_i_t_h_-_e_n_v_-_e_d_i_t_o_r option:
VISUAL Invoked by visudo as the editor to use
EDITOR Used by visudo if VISUAL is not set
FFIILLEESS
_/_e_t_c_/_s_u_d_o_e_r_s List of who can run what
_/_e_t_c_/_s_u_d_o_e_r_s_._t_m_p Lock file for visudo
DDIIAAGGNNOOSSTTIICCSS
sudoers file busy, try again later.
Someone else is currently editing the _s_u_d_o_e_r_s file.
/etc/sudoers.tmp: Permission denied
You didn't run vviissuuddoo as root.
Can't find you in the passwd database
Your userid does not appear in the system passwd file.
Warning: undeclared Alias referenced near ...
Either you are using a {User,Runas,Host,Cmnd}_Alias
before defining it or you have a user or hostname
listed that consists solely of uppercase letters,
digits, and the underscore ('_') character. If the
latter, you can ignore the warnings (ssuuddoo will not
complain). In --ss (strict) mode these are errors, not
warnings.
Warning: runas_default set after old value is in use ...
You have a _r_u_n_a_s___d_e_f_a_u_l_t Defaults setting listed in
the _s_u_d_o_e_r_s file after its value has already been
1.6.9p21 February 23, 2010 2
VISUDO(1m) MAINTENANCE COMMANDS VISUDO(1m)
used. This means that entries prior to the
_r_u_n_a_s___d_e_f_a_u_l_t setting will match based on the default
value of _r_u_n_a_s___d_e_f_a_u_l_t (root) whereas entries aafftteerr
the _r_u_n_a_s___d_e_f_a_u_l_t setting will match based on the new
value. This is usually unintentional and in most
cases the <runas_default> setting should be placed
before any Runas_Alias or User specifications. In --ss
(strict) mode this is an error, not a warning.
SSEEEE AALLSSOO
_v_i(1), _s_u_d_o_e_r_s(4), _s_u_d_o(1m), _v_i_p_w(8)
AAUUTTHHOORR
Many people have worked on _s_u_d_o over the years; this
version of vviissuuddoo was written by:
Todd Miller
See the HISTORY file in the sudo distribution or visit
http://www.sudo.ws/sudo/history.html for more details.
CCAAVVEEAATTSS
There is no easy way to prevent a user from gaining a root
shell if the editor used by vviissuuddoo allows shell escapes.
BBUUGGSS
If you feel you have found a bug in vviissuuddoo, please submit
a bug report at http://www.sudo.ws/sudo/bugs/
SSUUPPPPOORRTT
Limited free support is available via the sudo-users
mailing list, see
http://www.sudo.ws/mailman/listinfo/sudo-users to
subscribe or search the archives.
DDIISSCCLLAAIIMMEERR
vviissuuddoo 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 ssuuddoo or http://www.sudo.ws/sudo/license.html for
complete details.
1.6.9p21 February 23, 2010 3
|