引用:http://unix.stackexchange.com/questions/210939/what-user-runs-the-commands-defined-in-etc-rc-local
Like any init script, the /etc/rc.local script is executed by the root user and you do not need to prepend either su or sudo to the commands/programs that need to run as root.
You may still need to use su or sudo in your init scripts if those commands need to be executed not as root but another user/service-account...
su - oracle /do/something/as/oracle/user