¿Qué usuario ejecuta los comandos definidos en /etc/rc.local?

13

Son los comandos en /etc/rc.localla maneja sude forma predeterminada?
¿Debo especificar sudoantes de cada comando o se ejecutarán suindependientemente?

SK '
fuente

Respuestas:

17

suno es un usuario , es un programa para ejecutar comandos / programas posteriores bajo una identidad alternativa de otro usuario que el que ejecuta el comando. Es muy similar a sudoese respecto.

A menos que se especifique otro usuario, ambos comandos ejecutarán el comando de manera predeterminada bajo la identidad alternativa del rootusuario, el superusuario / administrador.

La principal diferencia entre suy sudoes que:

  • su requiere que sepas la contraseña de ese usuario alternativo, donde
  • sudosolicitará la contraseña del usuario que ejecuta el sudocomando y requiere configuración para que el usuario pueda ejecutar los comandos / programas solicitados.

(Cuando se rootejecuta suo sudono se requiere contraseña).


Al igual que cualquier script de inicio, el /etc/rc.localscript se ejecuta por el rootusuario y no deberán estar precedidos bien suo sudopara los comandos / programas que deben ejecutarse como root.

Es posible que aún necesite usar suo sudoen sus scripts de inicio si esos comandos deben ejecutarse no comoroot otro usuario / cuenta de servicio ...

su -oracle/do/something/as/oracle/user

HBruijn
fuente
¿Qué debo hacer si pongo su - user /path/to/script.sh en rc.local, y cuando lo obtengo me pide la contraseña del usuario (y luego cierra el terminal)? ¿Cómo hago para que no me pida la contraseña del usuario?
Alonso s
10

Sí, todos los scripts y programas son llamados directamente por root.

El /etc/rc.localarchivo es llamado directamente por el proceso init.

dmourati
fuente
1
Entonces, ¿no necesitábamos agregar sudocomandos antes /etc/rc.local?
Benyamin Jafari