Cosa c'è di diverso tra root e sudo?


14

Un utente root può avere tutti i privilegi. Ma un utente normale può accedere come un root con il comando su o sudo e la propria password.

Quindi qual è la differenza?

Risposte:


7

Il sucomando (e sudo) richiede tradizionalmente la password di root . Tuttavia, è possibile configurare in sudomodo che gli utenti ordinari possano ottenere i privilegi di root con la propria password modificando /etc/sudoers(come root, preferibilmente con visudo).

Le moderne distribuzioni Linux preconfigurano il primo utente in grado di eseguire sudo con la propria password. Ciò impedisce la configurazione errata accidentale del sistema da parte dell'utente e consente loro di ottenere il pieno controllo senza la necessità di una password di root separata.


2
Dovresti usare «visudo» invece di modificare manualmente / etc / sudoers: la sintassi verrà controllata prima del salvataggio, il che potrebbe farti risparmiare qualche problema.
Nicolas,

@Nicolas Aggiornato per includerlo. Ma volevo sottolineare che il file viene scritto automaticamente dalle moderne distribuzioni.
phihag,

3

Un utente normale può ottenere l'accesso come root con sudo solo se si trova nel file sudoers (il che significa che è abbastanza affidabile per ottenere le autorizzazioni di amministratore su richiesta). In un ambiente di produzione, quasi nessuno dovrebbe essere un sudoer.


3

Lo sucomando per cambiare temporaneamente un'identità per qualsiasi utente su un sistema ed eseguire molti programmi con le sue autorizzazioni. Non deve essere la radice. Se l'utente che esegue sunon è il root, deve inserire la password dell'utente che desidera ottenere l'identità.

Il sudocomando è di eseguire un comando con le autorizzazioni di qualsiasi utente. Non deve essere anche la radice. Il comando è molto configurabile e fornisce una sorta di controllo di accesso preciso. L'immissione della propria password è facoltativa e configurabile. Una certa distribuzione consente al primo utente del sistema di eseguire sudotutto.


2

Per aggiungere alle risposte sopra,

su user1con la password dell'utente cambierà le tue credenziali in user1 fino a quando digiti exit sunon assumerai il root per impostazione predefinita.

sudocome menzionato in altre risposte, può essere concesso a utenti fidati e un set ristretto di comandi. inoltre, sudopuò essere configurato per registrare i comandi eseguiti. Questo è un buon modo per tenere traccia dell'abuso di privilegi.


1

Non tutti gli utenti normali possono usare sudo, devono trovarsi nel file sudoers e puoi controllare quali comandi o tipi di comandi l'utente può eseguire. Inoltre, solo alcuni utenti possono utilizzare su per passare all'utente root. Normalmente si avrebbero autorizzazioni sudo solo per un set limitato di comandi e autorizzazioni complete su per un periodo di tempo limitato.


3
abbastanza sicuro che tutti gli utenti possano usare su, avranno solo bisogno della password dell'utente a cui stanno passando.
Grady Player,

1
Tradizionalmente, i BSD richiedono che uno sia nel gruppo di ruote per consentire l'uso di su per diventare root. Questo può essere configurato anche su Linux, ma non è standard.
Jaap Eldering,

-2

Solo gli utenti con privilegi di superutente possono sudo o su, gli utenti normali no. Questo è configurato in / etc / sudoers, che dovrebbe sempre essere modificato con visudo.

I vantaggi di questo sistema sono:

  1. È facile per un utente privilegiato eseguire comandi come root solo quando necessario,
  2. rende più difficile indovinare il nome utente root (ad esempio, se un semplice bot ssh tentasse di accedere a un sistema rootsarebbe il primo nome di accesso da indovinare).
  3. Più utenti su un sistema condiviso possono avere i permessi di root, senza la necessità di condividere le password.
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.