Pregunta

Quiero que un usuario privilegiado (no root) proceso para el lanzamiento de nuevos procesos como usuario nobody.He intentado una recta llamada a setuid que se produce -1 EPERM en Ubuntu 8.04:

#include <sys/types.h>
#include <unistd.h>

int main() { 
       setuid(65534);
       while (1);
       return 0;
}

¿Cómo debo hacer en este lugar?

¿Fue útil?

Solución

Usted se requieren de ayuda y de mucha confianza por parte de su administrador de sistema.Los usuarios normales no son capaces de ejecutar el archivo ejecutable de su elección en nombre de otros usuarios, y punto.

Ella puede agregar la aplicación a /etc/sudoers con la configuración adecuada y usted será capaz de ejecutar como con sudo -u nobody.Esto funcionará para secuencias de comandos y ejecutables binarios.

Otra opción es que ella va a hacer chown nobody y chmod +s en su binario ejecutable y usted será capaz de ejecutar directamente.Esta tarea debe ser repetido cada vez que su ejecutable cambios.

Esto podría funcionar también para las secuencias de comandos si vas a crear un pequeño ayudante ejecutable que simplemente no exec("/home/you/bin/your-application").Este ejecutable puede ser hecho suid-nadie (véase más arriba), y usted puede modificar libremente your-application.

Otros consejos

Que yo sepa, no se puede a menos que seas root o tener sudo configurado para permitir la conmutación de los usuarios.O, usted puede tener su ejecutable tiene activado el bit suid en él, y es propiedad de nadie.Pero que requiere acceso de root también.

La 'nadie' usuario es todavía un usuario.No estoy seguro de lo que su razonamiento está en que el programa se ejecute como nadie, no va a ser añadir seguridad adicional.Es más probable que se abren a otros problemas.

Me gustaría seguir squadette la recomendación de uso de una aplicación de ayuda.

calife es una alternativa a sudo.

Calife es pequeño programa que permiten a un sistema UNIX administrador para convertirse en root (u otro usuario) en sus máquinas sin dar la contraseña de root, pero su propio.

Corrí a través de la setuid-sandbox el proyecto de hoy, mientras que la lectura de LWN, que hace lo que yo estoy buscando la manera apropiada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top