La differenza più grande è che con sudo
te non hai bisogno della password di root per eseguire un comando come root, come faresti su
. È necessaria la password di root per aggiungere qualcuno al sudoers
file, ma in seguito quella persona può eseguire tutti o alcuni (se l'hai limitato) come root senza richiedere un'altra password.
L'altra differenza è, come hai notato, che sudo
consente un controllo molto più preciso su quali comandi possono essere eseguiti.
Per i dettagli sul formato del sudoers
file eseguito man sudoers
. Qui troverai esempi di come eseguire solo alcuni comandi come root. La struttura di base di ogni linea è:
user_list host_list = cmd_list
cmd_list può includere dettagli su quale utente è autorizzato a passare all'utente reale. Ad esempio, potresti consentire a un webmaster di passare a wwwroot per riavviare apache ma non per root. Può anche includere altre opzioni, ad esempio se è richiesta la password dell'utente prima di passare (questa è l'impostazione predefinita).
Una riga di esempio potrebbe essere:
joe ALL=(ALL) ALL
il che significa: lascia che joe esegua qualsiasi comando su qualsiasi host come qualsiasi utente. Una linea più stretta potrebbe essere:
joe ALL=(operator) /usr/local/ops/
il che significa: lascia che joe esegua qualsiasi comando nella directory / usr / local / ops come "operatore" dell'utente.
Ci sono molti esempi alla fine della pagina man sudoers.
È necessario modificare /etc/sudoers
con il comando visudo
. Questo verifica che il file sia legale e ti aiuta a impedirti di romperlo accidentalmente.
sudo
è una fantastica invenzione