Qual'è la differenza tra sudo e su?

Pochi giorni fa ho ricevuto una domanda da Miguel, un regolare lettore di blog e commentatore compulsivo, in merito qual è esattamente la differenza tra sudo y su. In particolare, Miguel era preoccupato se un metodo fosse più sicuro dell'altro. Succede che l'avevo letto là fuori sudo non era abbastanza sicuro e volevo saperne di più. Questo è un altro post dedicato a chi chiedeva più articoli su misteri terminali.

Su

Il programma su Consente di utilizzare la shell di un altro utente senza disconnettersi dalla sessione corrente. Viene comunemente utilizzato per ottenere i permessi di root per le operazioni amministrative senza dover disconnettersi e accedere nuovamente. Alcuni ambienti desktop, inclusi GNOME e KDE, hanno programmi che chiedono graficamente una password prima di consentire all'utente di eseguire un comando che normalmente richiederebbe tale accesso.

Il nome su viene dall'inglese ssostituto ube (utente sostitutivo). C'è anche chi lo fa derivare superuser (superutente, cioè l'utente root o amministratore) poiché viene solitamente utilizzato per adottare il ruolo di amministratore di sistema.

Quando corri su Chiede la password dell'account a cui si desidera accedere e, se viene accettata, dà accesso a quell'account.

[guy @ localhost] $ la tua password: [root @ localhost] # esci dal logout [guy @ localhost] $

Non inserendo un utente, accedi come amministratore. Tuttavia, è anche possibile passare un altro nome utente come parametro.

[guy @ localhost] $ su mongo Password: [mongo @ localhost] # esci dal logout [guy @ localhost] $

Una volta inserita la password, possiamo eseguire i comandi come se fossimo l'altro utente. Per iscritto exit, torniamo al nostro utente.

Una variante ampiamente utilizzata è quella di utilizzare su seguito da un trattino. Quindi, per accedere come root, devi entrare il suo - e per accedere come un altro utente tuo - altro utente. La differenza tra usare lo script o no? Si consiglia di utilizzare lo script perché simula che effettuerai il login con quell'utente; quindi, esegue tutti i file di avvio di quell'utente, cambia la directory corrente in HOME di quell'utente, cambia il valore di alcune variabili di sistema adattandole al nuovo utente (HOME, SHELL, TERM, USER, LOGNAME, tra gli altri), e altri più cose.

Un amministratore di sistema deve fare molta attenzione quando sceglie una password per l'account root / amministratore, per evitare un attacco da parte di un utente non privilegiato in esecuzione su. Alcuni sistemi simili a Unix hanno un gruppo di utenti chiamato ruota, che comprende gli unici che possono eseguire su. Ciò può o meno ridurre i problemi di sicurezza, poiché un intruso potrebbe semplicemente rilevare uno di quegli account. Lui su GNU, tuttavia, non supporta l'uso di quel gruppo; questo è stato fatto per ragioni filosofiche.

sudo

Un comando correlato, chiamato sudo, esegue un comando come un altro utente, ma rispettando una serie di restrizioni su cui gli utenti possono eseguire quali comandi per conto di quali altri utenti (solitamente specificati nel file / etc / sudoers).

D'altra parte, a differenza su, sudo richiede agli utenti la propria password invece dell'utente richiesto; Ciò consente la delega dei comandi agli utenti su altre macchine senza dover condividere le password, riducendo il rischio di lasciare i terminali incustoditi.

Problemi di Sudo: il periodo di grazia

Il vantaggio di sudo nel rispetto di su è che esegue solo il comando richiesto fingendo di essere l'altro utente, senza effettivamente cambiare l'utente corrente. Ciò implica che si può eseguire un comando come amministratore e, il secondo successivo, avranno i privilegi dell'utente che stavano utilizzando prima ... o quasi.

Alcuni vedono come una violazione della sicurezza il fatto che sudo concedere un "periodo di grazia" che consente all'utente di eseguire comandi come un altro utente senza la necessità di inserire ripetutamente sudo davanti al comando e alla password dopo averlo eseguito. Dopo quel "periodo di grazia", sudo ci chiederà di nuovo la password.

Questo è "cattivo", essenzialmente perché qualcuno potrebbe prendere il controllo del nostro computer dopo che abbiamo inserito la password sudo e mentre il "periodo di grazia" è attivo fare un DISASTRO.

Fortunatamente, è possibile disabilitare il "periodo di grazia", ​​che migliorerà la sicurezza del tuo sistema. Basta aggiungere una riga nel file / etc / sudoers:

sudo nano / etc / sudoers

E aggiungi la seguente riga alla fine del file:

Impostazioni predefinite: ALL timestamp_timeout = 0

La modifica ha effetto immediato, senza la necessità di riavviare il sistema.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   ciao suddetto

    Infatti, SE puoi entrare con diritti di amministratore con sudo e rimanere lì come fai con su -, per questo devi scrivere: sudo -s cambiando così l'utente corrente e lasciando il tempo di grazia per scherzo (dato che puoi rimanere come questo per tutto il tempo che vuoi, come con il tuo)

  2.   Miquel Mayol e Tur suddetto

    Grazie per la menzione, ma il vero merito va alla chat di Sabayon - che non uso più perché il mio disco rigido si è rotto e ho preferito tornare su Ubuntu -.

    Il motivo per cui mi hanno dato è che a volte quando si eseguono sudo determinate configurazioni non ottengono autorizzazioni assolute e rimangono configurate in modo errato. E che "accedendo" con su come root per le attività di aggiornamento e manutenzione si impedisce che ciò accada.

    Poi ti ho mandato un'e-mail perché avevo promesso di condividere questa scoperta che mi sembrava non banale.

    Poiché Ubuntu è installato di default senza utente root, basta eseguire

    "Sudo passwd root"

    inserire la password, confermarla e poi
    "Su root"
    per le operazioni di manutenzione, oltre ad evitare di mettere sudo con ogni ordine.

    In linea di principio, in Ubuntu l'account di root viene rimosso in modo da non accedere sempre con questo account, ma poiché mi è stato dato il consiglio quasi nel tono che usare sudo era un sacrilegio, nel caso l'avessi seguito.

  3.   Nill pointer suddetto

    È possibile accedere al file / etc / shadow e cambiare l'hash della password di root con il normale hash della password dell'utente, quindi modificare la password per root ??? In un altro momento provo lo stesso….

  4.   Usiamo Linux suddetto

    Chiaro. Non è esclusivo di Fedora.

  5.   mfcolf77 suddetto

    Quindi dei due possono essere installati? Pensavo che «SU» fosse solo in FEDORA.

  6.   Diego Kisai Alba Gallart suddetto

    Informazioni molto buone, con questa sicuramente i dubbi di molti andranno via, perché ne conosco diversi che hanno quel dubbio.

  7.   alex suddetto

    In ubunto penso di ricordare che non puoi usare il comando su (per entrare come utente root)

  8.   Hazan Perez suddetto

    Ebbene, per "recuperare" la password di root (di fatto, qualsiasi altra password), potresti fare un "attacco" al file delle password di sistema con John The Ripper. Non dirò di più su questo.

    Magari ci sono altri metodi ... Magari cambiando la password inserendo con "sudo su" e poi il comando "passwd". Sarebbe interessante vedere cosa rispondono gli altri ...

  9.   Usiamo Linux suddetto

    Esattamente!

  10.   Usiamo Linux suddetto

    Esatto ... devo ringraziare Miguel Mayol i Tur ... è stato lui ad avere l'idea. 🙂
    Saluti! Paolo.

  11.   Capo suddetto

    Grazie, come sempre un grande contributo, lo apprezziamo.

  12.   Usiamo Linux suddetto

    Grazie capo! Un abbraccio! Paolo.

  13.   Jeronimo Navarro suddetto

    La differenza tra 'su' e 'sudo' è 'do'

  14.   Erick suddetto

    Ho dimenticato la password di root, fortunatamente posso usare sudo e per usare su uso 'sudo su' e non chiede il pass (?)
    Qualcuno sa come scoprire la password di root (ho accesso a root tramite sudo)?

    1.    marvergara suddetto

      sudo password

  15.   Usiamo Linux suddetto

    Ah! Molto intelligente!

  16.   Fabiano Pais suddetto

    colui che vuole recuperare la password di root sarebbe "sudo passwd root" e lì ti chiederà di inserirne una nuova

  17.   alex-pilloku@hmail.com suddetto

    ciao come va la tua vita

  18.   Sinflag suddetto

    Scusa ma, usando il comando su, in questo modo:

    su -c "comando", equivale a usare sudo senza il periodo di grazia. Non vedo la necessità di sudo.

    Il VERO utilizzo di sudo è quello di dare ad alcuni utenti la possibilità di usare questo o quel comando, è più usato nelle aziende, in modo da non dover fare chroot, cosa che non si può fare con su.

  19.   yacardis suddetto

    Caro, devo fare un TP Linux e devo rispondere ad alcune semplici domande. Forse possono aiutarmi. Grazie fin d'ora:

    Qual è il comando che ci consente di installare / eliminare / modificare i pacchetti Debian?
    Qual è il comando che ci permette di gestire più facilmente l'installazione
    pacchetti in debian?
    Qual è il comando per poter installare i pacchetti rpm?
    Quale opzione utilizziamo per disinstallare un pacchetto?
    Qual è la directory in cui si trovano i repository yum?
    A cosa serve lo yum?
    Quale opzione utilizziamo per cercare un pacchetto con yum?
    Quale opzione utilizziamo per eliminare un pacchetto?
    Quale opzione possiamo utilizzare per aggiornare il sistema?
    Quali lettere identificano i permessi?
    Cosa significano ognuno di loro?
    Quali comandi elencano i permessi di un file?
    Quali sono i tre gruppi in cui sono suddivise le autorizzazioni?
    Quali sono i due modi per implementare le autorizzazioni?
    Quale sistema numerico usano i permessi?
    Che peso hanno queste lettere?
    Cosa sono i permessi speciali?
    Quali sono i permessi speciali esistenti ea cosa servono gli utenti?
    Quali comandi utilizzo per modificare le autorizzazioni?
    Quali parametri devo utilizzare per dare i permessi di esecuzione a un file?
    Quali parametri vengono utilizzati per concedere autorizzazioni di lettura solo a un gruppo?
    Quali parametri vengono utilizzati per concedere autorizzazioni di lettura / scrittura agli altri del gruppo e rimuovere la scrittura dall'utente proprietario del file?
    Quali autorizzazioni vengono create per impostazione predefinita per file e directory?
    Quale comando utilizziamo per verificarlo?
    Come si cambia la maschera predefinita?
    Come rendiamo diversa la maschera utilizzata? (Usa una maschera predefinita che lasci solo i proprietari con tutte le autorizzazioni.)
    Quale comando elenca i processi? Indica diversi parametri e il loro utilizzo.
    Qual è il processo che avvia tutto?
    Elenca i processi che corrispondono all'utente connesso.
    Elenca tutti i processi nel sistema.
    Quali opzioni utilizzo per ottenere informazioni aggiuntive?
    Elenca tutti i processi che vengono utilizzati in un terminale
    Quale opzione elenca i processi e le loro dipendenze?
    Spiega cos'è un processo genitore-figlio e come identificarlo
    Quale comando elenca i processi sotto forma di alberi?
    Quale comando controlla i processi in tempo reale?
    Monitora un solo processo
    Quale comando mostra l'utilizzo della memoria?
    Quale parametro mostra la memoria in megabyte?
    Quale parametro fa a intervalli?
    Quale comando mostra le informazioni relative al tempo in cui una squadra è attiva?
    Quale comando utilizzo per terminare i processi?
    Cosa gestiscono questi processi per essere finalizzati?
    Quali tipi di segnali sono i più comuni?
    Elenca i tipi di segnali supportati.
    In un terminale, esegui il test vi, quindi vai su un altro terminale, cerca il processo e uccidilo con un segnale 15. Idem ma con un segnale 9.
    Qual è la differenza tra il segnale 9 e 15?
    Quale funziona di default?
    Perché un processo viene eseguito in background? E in primo piano?
    Esegui vi test e poi premi ctrl + z, cosa è successo?
    Ripeti il ​​test vi, ctr + z, 4 volte, come posso finire quello che ho fallito?
    Passa uno dei processi in primo piano e chiudi vi.
    Quale parametro di un comando eseguiamo in modo che non occupi la shell?
    Quale comando modifica le priorità di un processo già in esecuzione? Come cambiereste la priorità del terminale in esecuzione?
    Quali sono i valori di livello e qual è la loro gerarchia?
    Apri il file / etc / passwd e guarda quale livello di priorità ha.
    Cambia il livello di priorità a 4 e poi a 25 Potresti assegnare entrambi? Perché?
    Elenca i processi con i loro valori di priorità.
    Quale comando controlla tutti i processi in esecuzione?

  20.   ecc suddetto

    Ciao, voglio disabilitare sudo, come faccio. Ottengo questo:
    [sudo] password per xxx:
    xxx non è nel file sudoers. Questo incidente verrà segnalato.

    poiché lo disabilito, poiché uso su in debian

    1.    usiamo linux suddetto

      Ciao ecc!

      Penso che sarebbe meglio se sollevi questa domanda nel nostro servizio di domande e risposte chiamato Chiedere DesdeLinux in modo che l'intera comunità possa aiutarti con il tuo problema.

      Un abbraccio, Pablo.

  21.   Berthold suddetto

    Ciao. Ho usato il comando della temperatura del disco rigido in Linux Mint: 'sudo hddtemp / dev / sda', chiede la password e mi dà il risultato atteso.
    ma, quando si esegue nello stesso terminale 'hddtemp / dev / sda', mi dice che Permission Denied.
    Quindi, il periodo di grazia non funziona su di me, perché lo è?

  22.   Berthold suddetto

    Ciao blog.
    Ho anche scoperto che quando la distro è installata (es: ubuntu, linux mint), richiede una password di amministratore.
    E nell'interfaccia grafica del centro di controllo, ho utilizzato l'opzione per modificare la password del mio utente.
    Quindi ora usando "su -" viene richiesta una password, che non è quella del mio utente attuale, ma quella che ho usato quando ho installato la distro, che è ancora l'utente root o amministratore.
    Ciò comporterebbe che molti utenti dimenticassero la vera password di amministratore.

  23.   Kendall Davila suddetto

    Ciao, la tua spiegazione è eccellente, molto chiara, breve e concisa. Grazie per l'input