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:
surequiere que conozca la contraseña de ese usuario alternativo, dondesudosolicitará la contraseña del usuario que ejecuta elsudocomando 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.