Quali sono i vantaggi di sudo su su?

17

Qual è il vantaggio effettivo ottenuto da Ubuntu (o derivati ​​Debian) disabilitando l'utente root?

Ovunque io legga, dice per prevenire danni involontari per utenti inesperti. Voglio sapere che cosa esattamente, dato che sudo può eseguire tutti i comandi (che io conosco / utilizzo).

Quindi in quale caso root può causare danni mentre sudo non può?

PS: so come funziona sudo .

    
posta Web-E 11.05.2012 - 12:26

7 risposte

28
  

Quindi in quale caso root può causare danni laddove sudo non può?

Dato che di solito devi invocare sudo ogni volta che vuoi fare qualcosa che richiede privilegi, il ragionamento è che ti "penserai prima di saltare", cioè non solo attaccare sudo di fronte a qualcosa senza pensare per un secondo cosa il comando che stai per eseguire è

Con su d'altra parte, quando sei dentro, sei dentro. Hai carta bianca (una licenza aperta) per fare qualsiasi cosa e tutto, e il ragionamento è che potresti dimenticare per un momento che tu avere questi privilegi e se sei sfortunato, esegui qualcosa che possa seriamente danneggiare / danneggiare il tuo sistema - se non avessi i privilegi di su, il comando non avrebbe fatto nulla di serio.

    
risposta data ish 11.05.2012 - 12:29
16

IMO i principali vantaggi di sudo su su sono che sudo ha una registrazione superiore di quali comandi sono stati eseguiti e sudo offre un controllo più preciso su ciò che gli utenti possono fare.

su è tutto o nessuno, ma sudo può essere configurato per consentire l'accesso ad alcuni, ma non a tutti i comandi.

Vedi link per una discussione più completa, inclusi vantaggi e svantaggi.

    
risposta data Panther 11.05.2012 - 14:24
10

su -

Una volta effettuato l'accesso come root , qualsiasi attività avviata, un'azione che si attiva o un evento casuale causato dalla visita di un determinato sito Web, ecc .. verrà eseguita come super-utente .

sudo

Quando invochi sudo mentre esegui un comando, solo quel comando verrà eseguito come super-utente .

Ti verrà chiesto la tua password , prima che il comando venga eseguito. Pertanto, l'interazione dell'utente di te è anche richiesta .

Anche i tentativi di invocare sudo possono essere registrati .

    
risposta data david6 11.05.2012 - 12:41
3

Riguarda la gestione di utenti / password per amministratori di sistema.

Se hai più utenti, tutti dovrebbero avere account separati e dovrebbero essere in grado di essere tracciati usando quegli account. Ciò significa che le persone non possono nascondere la propria identità. Inoltre, se è necessario revocare autorizzazioni specifiche per gli utenti, non è necessario reimpostare la password di root. Per dare a ogni persona in un ambiente con più di 2 amministratori la password di root rende un incubo quando una persona esce. Non devi solo cambiarlo, ma comunicarlo, ecc. Tutto questo deve accadere anche quando uno di loro ha rubato un laptop o cose del genere. Un account con una password per persona semplifica l'amministrazione. È simile alla filosofia alla base del motivo per cui ogni servizio dovrebbe avere un proprio account. Se un account è compromesso, non è necessario riconfigurare un'altra dozzina di servizi (come le attività di backup) per utilizzare un account diverso.

Trovo anche personalmente conveniente non avere ancora un'altra password per tenere traccia di, perdere e compromessi. Su RHEL ho disabilitato specificamente l'account di root dopo aver configurato sudo, quindi non devo seguirlo. Una volta ogni tanto un utente esegue il backup del file sudo, ma è risolvibile in modalità utente singolo. (Naturalmente, di solito è una macchina di produzione.)

NOTA: 'sudo bash' ti permetterà di saltare digitando sudo per ogni comando ...

    
risposta data flickerfly 16.05.2012 - 04:54
2

Inoltre ci sono considerazioni sulla registrazione da considerare tra sudo e su. Essere su fa semplicemente tutto come root senza una voce diversa da una riga nel log di autenticazione che dice che sei diventato root.

Sudo d'altra parte - viene sempre registrato come ID utente con privalees escalated.

    
risposta data kd1s 16.08.2014 - 15:40
1

Penso innanzitutto, dobbiamo esaminare in che modo sudo e sudo sono

su - sta per Utente sostituto. Si utilizza questo per passare a una shell come un altro utente che utilizza la password dell'utente. Comunemente usato con root.  Non richiede una password se eseguita come root.

sudo - consente a un utente autorizzato di eseguire un comando specificato come un altro utente. Anche comunemente usato con la radice. Tuttavia, questo ti permette di gestire in modo specifico quali comandi possono essere eseguiti come un altro uso. (Ad esempio, potresti dare a un utente la possibilità di eseguire uno script init.d ma nient'altro.)

Nota, puoi sempre eseguire sudo su o sudo -i e questo ti darà una shell di root. Tuttavia, nessuna password di root significa non accedere direttamente come root ... il che significa che nessuno può entrare in quell'utente.

EDIT: quindi forse questa risposta è la tua ricerca: non avere una password di root ti costringe a usare sudo , che a sua volta ti allinea naturalmente con la filosofia sudo che ti suggerisce di imporre un maggiore controllo sulle azioni eseguite come root.

    
risposta data user606723 11.05.2012 - 19:36
0

In genere, accedere come su è più semplice quando si eseguono attività amministrative. Tuttavia, vi è almeno un'eccezione: quando la proprietà dei file è importante. Se hai bisogno che un utente sia il proprietario di un file, accedi come tale utente e usa sudo per scaricare o copiare i file. Esempi semplici sono i file di segnalibri e sfondi. Se un utente non possiede il file, i segnalibri "Ripristina" di Firefox "Da file" non funzioneranno. Quando si imposta uno sfondo del desktop, potrebbe non funzionare se non si possiede il file. A volte puoi semplicemente impostare i privilegi o abilitare come file eseguibile, ma alcune impostazioni o programmi falliscono se non sei il proprietario di un file.

    
risposta data DotheMath45 16.05.2012 - 04:44

Leggi altre domande sui tag