Perché la password 'sudo' è diversa dalla password 'su root'


11

Sul mio computer personale, digito spesso sudodavanti a determinati comandi per eseguire attività amministrative. Avevo sperato di evitare di farlo durante il giorno, digitando su roote fornendo la stessa password per cui di solito faccio sudo. Tuttavia, le due password non sono uguali (non so come accedere su root). L'esecuzione di un comando è sudodiversa dall'accesso con su roote l'esecuzione dello stesso comando?

Penso sudoe su rootsono gli stessi, perché quando scrivo sudo whoami, ottengo root, al contrario di whoamidove ottengo il mio nome utente.


Mi sono imbattuto in questo thread più vecchio perché era collegato in relazione a una domanda che avevo posto. Le risposte sono molto istruttive ma lasciano una domanda. Su una macchina personale (un utente), come si ottiene una password diversa per root a seconda che si usi sudo o su root? Non esiste una singola password di root, definita quando è installato Linux?
fixer1234,

@ fixer1234 Come spiegato nella risposta di John1024 , quando si utilizza sudo, il sistema richiede la password per verificare la propria identità, quindi verifica /etc/sudoersse è consentito eseguire sudo. Quando lo usi su, il sistema richiede l'inserimento della password dell'utente a cui stai passando . (So ​​che questa è ormai una domanda molto vecchia, ma volevo aggiungere un chiarimento a beneficio dei futuri spettatori.)
anonymoose

@anonymoose, questa domanda riguardava la macchina personale dell'OP. In genere, quando installi Linux sul tuo computer, sapresti se hai dato a root una password diversa dal tuo normale utente. La domanda indica che l'OP è stato sorpreso di scoprire che root aveva una password diversa.
fixer1234

1
@ fixer1234 L'OP potrebbe non aver impostato una password di root per cominciare. Il programma di installazione di Ubuntu non richiede una password di root , e sono sicuro che altre distro non lo fanno.
anonymoose,

Risposte:


17

Contrariamente a ciò che il loro uso più comune ti farebbe pensare, sue sudonon sono pensati solo per accedere (o eseguire azioni) come root.

suti permette di cambiare la tua identità con quella di qualcun altro. Per questo motivo, quando si digita su, il sistema deve verificare di disporre delle credenziali per l'utente di destinazione in cui si sta tentando di cambiare.

sudoè un po 'diverso. L'utilizzo sudoconsente di eseguire determinati (o tutti, a seconda della configurazione) comandi come qualcun altro. La tua stessa identità viene utilizzata per determinare quali tipi di comandi sudoverranno eseguiti per te sotto l'identità di qualcun altro: se sei un utente fidato (nel senso che l'amministratore di sistema si fida di te), ti sarà concesso più spazio libero di, diciamo, uno stagista. Questo è il motivo sudoper cui è necessario verificare la propria identità piuttosto che quella dell'utente di destinazione.

In altre parole, provare a suqualcuno che non sei è come tentare di addebitare i tuoi acquisti su una carta di credito rubata mentre l'utilizzo sudoè come vendere l'auto del tuo amico tramite procura legale.

Per quanto riguarda quello che stavi cercando di fare, solo sudo su rooto anche più semplicemente sudo sue digita la tua normale password utente. Ciò equivarrebbe all'incirca alla sostituzione delle credenziali della carta di credito del tuo amico con le tue usando il proxy legale che ti hanno dato :). Naturalmente presuppone che la sudoconfigurazione ti consenta di eseguire sucon privilegi di escalation.

Inoltre, i sistemi preconfigurati con sudoaccesso in genere hanno l'account root disabilitato (nessuna password di root), è possibile abilitarlo utilizzando il passwdcomando dopo essere diventato root tramite sudo su.


Per l'utente domestico, consiglieresti di impostare la password di root oltre ad avere un utente con privilegi (come in sudo)?
Royi,

3

sudoviene utilizzato per aumentare temporaneamente le autorizzazioni utente a livello di root, mentre su rootviene utilizzato per creare una nuova shell con root come utente;


2

È configurabile * ma, per impostazione predefinita, "sudo" richiede la password. Sta solo cercando di assicurarti che sei tu, non qualcuno che usa la tastiera mentre prendevi il caffè.

Al contrario, "su root" ti chiede la password di root.


* Se targetpw in / etc / sudoers è falso (impostazione predefinita), "sudo" ti chiede la password. Se è vero, allora "sudo" ti chiede la password di root o, se hai specificato qualche altro utente con l'opzione "-u", la password di quell'utente.


1

A beneficio di alcuni nuovi arrivati ​​in questa ricerca, esiste un metodo semplice per accedere alla radice fino all'uscita:

     sudo -iE

Ti manterrà interattivo e manterrà il tuo ambiente, ma ora, come root.

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.