requieren asistencia y mucha confianza del administrador del sistema. Los usuarios ordinarios no pueden ejecutar el ejecutable que elijan en nombre de otros usuarios, punto.
Puede agregar su aplicación al /etc/sudoers
con la configuración adecuada y podrá ejecutarla como con sudo -u nobody
. Esto funcionará tanto para scripts como para ejecutables binarios.
Otra opción es que ella hará chown nobody
y chmod +s
en su ejecutable binario y podrá ejecutarlo directamente. Esta tarea debe repetirse cada vez que cambie su ejecutable.
Esto también podría funcionar para las secuencias de comandos si va a crear un pequeño ejecutable auxiliar que simplemente hace exec("/home/you/bin/your-application")
. Este ejecutable puede hacerse suid-nobody (ver arriba) y puede modificar libremente your-application
.
creo que sirve,
Gracias. Un comentario adicional: parece que también necesita usar seteuid(), ya que setuid está reservado para root. Administro mi propio escritorio de Ubuntu, pero agradezco la preocupación de quienes no lo hacen. – jldugger
seteuid() también tiene un uso muy limitado por parte del usuario no root. Las páginas Man en seteuid() y setreuid() tienen casi todos los detalles. – squadette
Marque la respuesta como "aceptada" si es así. Gracias, – squadette