On Thu, 2 Oct 2003, Nerox NRX wrote:
> Hola, me gustar�a saber si existe alguna funci�n para usar con el lenguaje
> C, que le permita obtener al
> programa que la llama privilegios de root, sin tener que usar SUID, por
> supuesto proporcion�ndole la contrase�a de root.
>
> Gracias
No es posible.
Existe la funci�n setuit(2). Est� pensada para ser usada desde root
para bajar privilegios no para subirlos. Ni siquiera se permite
recuperar los privilegios al proceso despu�s de bajarlos.
La forma de subir privilegios temporalmente a un usuario es usar
un ejecutable con permisos setuit y owner de root. Aun as� son un
peligro ya que algunas deficiencias muy normales en la mayor�a de
los programas se convierten en agujeros de seguridad en el caso de
estos ejecutables.
Es decir:
1) Haz un ejecutable y revisa bien el c�digo evitando cualquier
posibilidad de desbordamiento de buffer.
2) Hazlo setuit y propiedad de root.
3) Ya puedes usarlo con un execl() o un system() desde un programa
C o desde otros programas.
--
Un saludo
Antonio Castro
/\ /\ Ciberdroide Inform�tica
\\W// << http://www.ciberdroide.com >>
_|0 0|_
+-oOOO-(___o___)-OOOo---------------------+
| . . . . U U . Antonio Castro Snurmacher |
| . . . . . . . [EMAIL PROTECTED] |
+()()()---------()()()--------------------+