En Linux, ¿cómo puedo cambiar el EUID del proceso en ejecución desde la línea de comandos (siempre que tenga acceso de root)?
linux
security
process
privileges
Jackhab
fuente
fuente
Si está hablando de un proceso que cambia su propio EUID, hay muchas maneras de hacerlo.
Dependiendo del UID efectivo del programa y de si hay un UID guardado, puede cambiar entre dos valores EUID en un programa no root. Con un programa privilegiado de root, debe tener cuidado: debe decidir si el cambio debe ser irreversible y utilizar la función correcta para el trabajo. (Usar setuid () como root es irreversible).
Si está intentando cambiar un proceso que ya se está ejecutando desde un proceso separado, entonces no hay una forma estándar de hacerlo, y tampoco estoy seguro de que haya muchas formas no estándar. Es posible que pueda obtener alguna información en / dev / kmem, pero me viene a la mente la expresión 'hielo delgado'.
fuente
No hay forma de hacer esto "desde la línea de comandos" a cualquier proceso en ejecución.
Puedo decir eso con cierta seguridad; el único "tal vez" fue / proc y busqué allí (literalmente y a través de google) y me encontré con un callejón sin salida con respecto a cualquier cosa en / proc que permitiera cambiar el EUID. Puede APRENDER cuáles son las configuraciones de UID y GID en / proc / {pid} / status, pero no puede cambiarlas usando nada en / proc, al menos por lo que puedo decir.
Pero es bastante fácil hacer que algo así funcione, una forma de cambiar el EUID de un proceso, desde la línea de comandos, si controla el código fuente del proceso que desea cambiar. Puede implementar un controlador de señal para decir SIGUSR1 y hacer que el proceso cambie su propio EUID, sin embargo, lo necesita cuando recibe esa señal. Luego, simplemente enviaría el proceso con esa señal SIGUSR1, a través de "kill" ... desde la línea de comandos, como ha pedido ... y cambiaría su EUID por usted.
Puede que esto no sea lo que estabas pensando, pero ... es una respuesta a tu pregunta sobre cómo hacerlo ... y es la única respuesta en la que puedo pensar.
fuente