El 15/08/05, migral500 say no more<[EMAIL PROTECTED]> escribió:
> Buenas.. quería consultar respecto a una duda que me surgió para ver si
> pueden aclararmela en algún punto.
> 
> El tema es el siguiente, en una debian con postgresql queria permitirle a un
> usuario "común" lanzar y parar el servicio de postgresql y se me ocurrió de
> momento y para salir del paso setuidarlo (pido porfavor q se deje de lado la
> crítica de este comportamiento ya que no viene a causa de la inquietud q
> tengo) para que pudiera correr el script en /etc/init.d/postgresql para
> lanzar y detener el servicio.
> Bueno, cuando pruebo haber si el mismo iba a poder startearlo o pararlo, me
> dice q ese script solo puede ser lanzado por root (ya estando setuidado),
> por lo que tuve q hacerlo mediante sudo, lo cual resultó.
> 
> Bueno, mas allá de lo q van a decir de porque dejar q un usuario comun pare
> o lanze postgresql, o de que no me haga problemas de porque setuidarlo no
> funciona y que use sudo.. yo queria sacarme la duda esta.
Los guiones de bash ignoran el bit SUID.
 
> Yo pense que setuidando el script iba a funcionar, de hecho tengo entendido
> que sudo funciona de esa manera, setuidando los archivos. Lo que me habian
No, sudo ejecuta el comando como el usuario root.
Podés escribir un programita en C que te permita ejecutar cualquier
cosa como root aunque es medio peligroso...

/*
   comoroot.c
   Ejecuta ciegamente un comando como root.
   Nota;
   El binario creado con este código debe pertenecer a root y tener
activo el bit SUID
*/

#include <stdio.h>
#include <unistd.h>
#include <libgen.h>

int main(int argc, char **argv)
{
        if(argc < 2) {
                printf("Error:\tDebe especificar un comando a ejecutar\n");
                printf("Forma de uso:\t%s \"comando parm1 parm2
...\"\n\n", basename(*argv));
                exit(1);
        }
        if(setuid(0) < 0) {
                perror("No es posible obtener privilegios de root");
                exit(2);
        }
        system(*(++argv));
        exit(0);
}


-- 
Saludos,
Gustavo Olaza
--
Para desuscribirte tenés que visitar la página
https://listas.linux.org.ar/mailman/listinfo/lugar-gral/

/* Publica y encontra trabajo relacionado con softlibre en 
http://www.usla.org.ar/modules/jobs/ */

Si tenés algún inconveniente o consulta escribí a mailto:[EMAIL PROTECTED]

Responder a