En general, ¿un usuario debe iniciar sesión para ejecutar un proceso y convertirse en su propietario (ruid o euid)? ¿Esto se aplica a cualquier usuario o usuario no root?
Por ejemplo:
-
En la secuencia de inicio de Linux, el kernel inicia el sistema de inicio como el primer proceso, y luego el proceso de inicio ejecuta
login
para que cada usuario pueda iniciar sesión.
El proceso init es propiedad deroot
, y el usuarioroot
tiene que iniciar sesión antes de iniciar elinit
¿proceso? Consulte ¿Por qué hay un proceso `systemd` propiedad de cada usuario que ha iniciado sesión? -
Al usar
ssh
para ejecutar un comando sin iniciar un shell interactivo, ¿tenemos que iniciar sesión primero o no ejecutar el comando?
Si no necesito iniciar sesión para ejecutar un proceso como su propietario, ¿cómo puedo hacerlo?
Gracias.
Respuesta aceptada:
No, no necesita iniciar sesión para iniciar un proceso que se ejecuta como un usuario determinado. Iniciar sesión es una construcción de espacio de usuario; al núcleo no le importa eso. Hay múltiples ejemplos de esto; por ejemplo, los trabajos cron pueden ejecutarse como cualquier usuario, sin que ese usuario haya iniciado sesión.
Para abordar sus preguntas específicas:
- no, root no necesita iniciar sesión para iniciar el
init
proceso, afortunadamente (imagine manejar una flota de miles de servidores y millones de máquinas virtuales de lo contrario); - conectarse usando SSH cuenta como iniciar sesión.