[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Apache y ejecucion de un cgi con suid a root



On Thu, Mar 08, 2001 at 11:36:46AM +0100, Ramiro Alba wrote:
> Pues no hay manera apache me haga al ejecucion de estos dos comandos
> como root. Me envia el siguiente error:
> 
> Insecure dependency in system while running setuid at
> /usr/lib/cgi-bin/chpass.pl line 149
> 
> Lo curioso es que si creo, p.e. un directorio en /, pues lo hace sin
> problemas
...
> ¿Alguien me puede orientar al respecto?

Hola,
Lo que pasa es que tu Apache debe estar usando un módulo llamado suEXEC que es
un mecanismo de seguridad que solo deja ejecutar ciertos cgi, dependiendo de
quen los ejecuta y en que directorio están. Ya hemos discutido esto hace
algunos meses; José Luis Triviño dijo lo siguiente:

  "Efectivamente el problema era del señor SuEXEC. Al parecer
este 'elemento' quiere que el directorio donde se encuentra
el cgi y el cgi en sí mismo no sea escribible más que por el
usuario (ni siquiera el grupo). Desactivando los permisos de
escritura para el grupo y otros en el cgi y el directorio el
apache lo ejecuta sin problema.

        Respecto a lo de desactivar el suEXEC no lo he probado,
pero del manual de apache (tras un monton de lectura):
                ## If you want to disable suEXEC you should kill and
restart Apache after you have removed the "suexec" file. ##

        O sea, si queremos desactivar el suEXEC hay que borrar el
fichero suexec y rearrancar apache (vaya forma más bestia de
desactivarlo)."

En tu caso, como en / solo puede escribir root, el suEXEC deja que ejecutes
scripts como root allí. En cambio en /usr/lib/cgi-bin/ o chpass.pl le habrás
dado permiso de escribir a alguien mas y eso no le ha gustado a suEXEC. O lo
cambias, o desactivas suEXEC.
Generalmente el /var/log/apache/errors.log te indica porque suEXEC se ha
rehusado a ejecutar tu script.

Saludos,
Jaime

















Reply to: