Quale utente esegue i comandi definiti in /etc/rc.local?


13

I comandi sono /etc/rc.localeseguiti sudi default?
Devo specificare sudoprima di ogni comando o verranno eseguiti suindipendentemente?

Risposte:


17

sunon è un utente è un programma per eseguire comandi / programmi successivi con un'identità alternativa di un altro utente rispetto a quello che esegue il comando. È molto simile a sudoquesto riguardo.

A meno che non venga specificato un altro utente, entrambi i comandi eseguiranno per impostazione predefinita il comando con l'identità alternativa rootdell'utente, il superutente / amministratore.

La differenza principale tra sue sudoè che:

  • su richiede di conoscere la password di tale utente alternativo, dove
  • sudorichiederà la password dell'utente che esegue il sudocomando e richiede l'installazione in modo tale che l'utente sia autorizzato a eseguire i comandi / programmi richiesti.

(Quando rootviene eseguito uno suo sudonon è richiesta alcuna password.)


Come ogni script di init, lo /etc/rc.localscript viene eseguito dal rootutente e non è necessario anteporre sia suo sudoai comandi / programmi che devono eseguito come root.

Potrebbe essere necessario utilizzare suo sudonegli script init se tali comandi devono essere eseguiti non comeroot ma un altro account utente / servizio ...

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


Cosa devo fare se inserisco su - user /path/to/script.sh in rc.local e quando lo approvo mi richiede la password dell'utente (e successivamente chiude il terminale). Come faccio a non chiedermi la password dell'utente?
alonso s

10

Sì, tutti gli script e i programmi sono chiamati direttamente da root.

Il /etc/rc.localfile viene chiamato direttamente dal processo init.


1
Quindi, non abbiamo dovuto aggiungere sudoprima i comandi in /etc/rc.local?
Benyamin Jafari,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.