su
no es un usuario es programa para ejecutar comandos/programas subsiguientes bajo una identidad alternativa de otro usuario que no sea el que ejecuta el comando. Es muy similar a sudo
en ese sentido.
A menos que se especifique otro usuario, ambos comandos se ejecutarán de manera predeterminada con la identidad alternativa de root
usuario, el superusuario/administrador.
La principal diferencia entre su
y sudo
es eso:
su
requiere que conozca la contraseña de ese usuario alternativo, dondesudo
solicitará la contraseña del usuario que ejecuta elsudo
comando y requiere configuración para que el usuario pueda ejecutar los comandos/programas solicitados.
(Cuando root
ejecuta su
o sudo
no se requiere contraseña).
Como cualquier guión de inicio, el /etc/rc.local
el script es ejecutado por el root
usuario y no necesita anteponer su
o sudo
a los comandos/programas que necesitan ejecutarse como root.
Es posible que aún necesite usar su
o sudo
en sus scripts de inicio si esos comandos deben ejecutarse no como root
pero otro usuario/cuenta de servicio...
su -
oracle
/do/something/as/oracle/user
Sí, todos los scripts y programas son llamados directamente por root.
El /etc/rc.local
archivo es llamado directamente por el proceso init.