diferencias en sudoers

Francisco Espinoza Cárdenas fraespin en gmail.com
Lun Ago 27 09:41:55 CLT 2007


Una pregunta, el path del usuario en suse, incluye el programa que
deseas correr ?

Lo mas probable es que en el caso de mandriva, el comando SI este en
el path y en el caso de Suse, no, es por ello que no encuentra el
comando.

Para solucionarlo, tienes 2 alternativas (al menos):

1.- agregar el directorio que contiene el programa que deseas correr a
tu usuario, de modo que el sudo lo reconozca.

o bien

2.- hacer un alias para el comando, en el ".$(sh)rc" (entiendase
bashrc, tcshrc, etc etc), de modo que el sudo lo pueda reconocer.

En este sentido, un ejemplo:

alias shutdown="/sbin/shutdown" #para bash

de este modo, al ejecutar sudo shutdown , en realidad, estas
ejecutando sudo /sbin/shutdown

Las diferencias entre estos 2 metodos, es que basicamente en el
primero, le permites encontrar todos los archivos y programas que se
encuentren en el mismo directorio del programa que deseas que corra
(en el ejemplo /sbin) facilmente, pues está en el path (lo cual
personalmente a mi no me interesa), y en la segunda, solo permites que
ejecute cierto programa, pero debes agregarle manualmente un alias por
cada software, y repetir para cada usuario que necesites.

En el caso del ejemplo, para permitir que un usuario apague la
maquina, le di permisos con sudo, y luego le hice un alias, asi SOLO
encuentra "ese" programa, el que yo quiero (shutdown).

Esto no impide de que pueda meterse a /sbin e intentar ejecutar
manualmente cualquier programa, pero al menos desde mi perspectiva,
para un usuario "comun", no es necesario realmente tener en el path
programas "sensibles" dejados en /sbin (aunque de todos modos no pueda
correr algunos porque te piden permisos y/o contraseñas de
administrador).

Espero que te sirva.

Atentos salu2

Francisco.


On 8/21/07, Arturo Mardones <katador en gmail.com> wrote:
> Hola a todos,
>
> Probando un suse 10.2  y un mandriva 2007.1 con dar permisos a un
> usuario a traves de sudo para que ejecute service en una maquina de
> desarrollo me encontre con que en mandriva puede ejecutarlo como sudo
> service mysqld status y funciona bien... en cambio en suse 10.2 para
> que funcione tiene que hacerlo como sudo /sbin/service mysqld status
> porque si pone service solo dice que no encuentra el comando... y la
> configuracion del sudoers es igual en ambos:
>
> usuario   all=/sbin/service mysqld *
>
> sera que efectivamente el sudo funciona distinto en estas distros?
> alguien ha tenido algun evento similar?
>
> Saludos!
>
> Arturo.
>
> --
>
> http://animaldelared.blogspot.com
>



Más información sobre la lista de distribución Linux