su
non è un utente è programma per eseguire comandi/programmi successivi sotto un'identità alternativa di un altro utente rispetto a quello che esegue il comando. È molto simile a sudo
al riguardo.
A meno che non venga specificato un altro utente, entrambi i comandi eseguiranno per impostazione predefinita il comando con l'identità alternativa di root
utente, il superutente/amministratore.
La principale differenza tra su
e sudo
è quello:
su
richiede di conoscere la password di quell'utente alternativo, dovesudo
richiederà la password dell'utente che eseguesudo
comando e richiede l'installazione in modo che l'utente sia autorizzato a eseguire i comandi/programmi richiesti.
(Quando root
esegue su
o sudo
non è richiesta alcuna password.)
Come qualsiasi script init, il /etc/rc.local
lo script viene eseguito dal root
utente e non è necessario anteporre su
o sudo
ai comandi/programmi che devono essere eseguiti come root.
Potrebbe essere ancora necessario utilizzare su
o sudo
nei tuoi script init se quei comandi devono essere eseguiti non come root
ma un altro account utente/di servizio...
su -
oracle
/do/something/as/oracle/user
Sì, tutti gli script ei programmi vengono richiamati direttamente da root.
Il /etc/rc.local
file viene chiamato direttamente dal processo init.