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]