./sudo vi
John E Hein at work
jhein at timing.com
Thu Jun 21 13:09:00 EDT 2001
Boehler, Joe wrote at 10:51 -0500 on Jun 21:
> Is there a way to prevent an unauthorized user gaining access to root by
> using the vi command?
>
> For example
>
> ./sudo vi /tmp/tst
>
> Once vi opens test
>
> !/bin/ksh
1) compile vi so it disallows !
(but there's nothing to prevent a user from building
their own vi in /tmp)
2) edit sudoers to prevent some from running vi
(but there's nothing to prevent a user from running
yoyoma which is what the renamed the vi they just built in /tmp)
3) edit sudoers to allow only a specific set commands (specified with
absolute pathnames)
Even if you try to do 1 & 2, they can still always do 'sudo /bin/ksh'.
You don't need vi to do that.
#3 is really the only way.
If you still want them to be able to use an
editor, specify an editor (again, full pathname) in sudoers that won't
allow such trickery (i.e., spawning other processes).
Of course, that won't prevent the user from adding their own user (foo)
to a flat password file that happens to have a password-less account
with a userid of 0. This won't work on systems where a password file
is compiled to a database file, but you get the idea... there's more
than one way to skin a super-user.
More information about the sudo-users
mailing list