introduzione
Il comando sudo di Linux sta per Super utente . Generalmente viene applicato come prefisso di alcuni comandi che il superutente può eseguire.
Se prefiggiamo il comando insieme ad altri comandi, quel comando verrà eseguito con privilegi elevati. In altre parole, consentirà all'utente con la corretta autorizzazione di mangiare un comando come altri utenti come il superutente.
È uguale all'opzione 'Esegui come amministratore' in Windows. L'opzione sudo ci consente di avere più di un amministratore. Gli utenti che possono applicare il comando sudo richiedono di avere la voce all'interno del file sudoers posizionato in '/etc/sudoers/' .
Nota: per visualizzare o modificare il file dobbiamo applicare il comando sudo. Per modificare il file si consiglia di applicare il comando 'visudo'.
Per impostazione predefinita, il comando sudo richiede che gli utenti si verifichino insieme a una password che è la password dell'utente, non la password di root stessa.
Sintassi del comando sudo
La sintassi del comando sudo è menzionata di seguito:
sudo OPTION... COMMAND
Opzione nel comando sudo
Alcune delle opzioni importanti nel comando sudo sono spiegate di seguito:
1. -In: Sta per versione . Questa opzione abilita il comando sudo per stampare il numero della versione ed uscire. L'opzione -V stamperebbe la pausa predefinita dell'elenco sudo se l'utente richiedente è già root.
2. -l: Sta per elenco . Questa opzione aiuterà a stampare i vari comandi consentiti all'utente sull'host corrente.
Mostra che l'utente corrente potrebbe applicare ogni comando come sudo.
attore ekta kapoor
3. -h o -aiuto: La h sta per aiuto in questa opzione. Questa opzione abilita il comando sudo per stampare un messaggio di utilizzo ed uscire.
4. -in: Sta per convalidare . Se il comando sudo aggiorna il timestamp dell'utente, la convalida richiederà la password dell'utente, se necessario. Estende il timeout del comando sudo per gli altri 5 minuti ma non esegue un comando. Non fornisce alcun risultato.
5. -k: Sta per uccisione . Questa opzione invalida il timestamp dell'utente per sudo. Pertanto, la prossima volta che verrà eseguito il comando sudo verrà richiesta una password. L'opzione -k non necessita di alcuna password ed è stata inclusa per consentire agli utenti di revocare i permessi del comando sudo tramite il comando .disconnettersi file.
6. -b: Sta per sfondo . Questa opzione informa il comando sudo di eseguire i comandi forniti in background.
Nota: se applichiamo questa opzione non possiamo applicare il controllo del lavoro di shell per manipolare il processo.
7. -K: Questa opzione è uguale all'opzione -k. Tuttavia, sta per certo che uccidi . Questa opzione viene applicata per rimuovere completamente il timestamp dell'utente. Allo stesso modo non è necessaria alcuna password.
8. -p: Sta per richiesta . Questa opzione ci consente di sovrascrivere la richiesta della password (predefinita) e applicarne una personalizzata. Sono consentite fughe di una piccola percentuale, come segue:
- %u viene sviluppato con il nome di accesso dell'utente invocante.
- %U è sviluppato con il nome di accesso dell'utente
- %h è sviluppato nel nome host (locale) senza alcun nome di dominio.
- %H viene sviluppato nel nome host (locale) con il nome del dominio (solo quando il nome host della macchina è completamente qualificato)
- %% (due caratteri consecutivi) può essere suddiviso in un singolo carattere %.
9. -n: Questa opzione eseguirà il comando senza richiedere la password. È molto utile se desideriamo eseguire alcuni comandi come attività in background (o all'interno dello script di shell), dove non desideriamo che il comando sudo chieda la password. Questa opzione è l'abbreviazione di non interattivo.
modem contro router
10. -in: Sta per utente . Questa opzione consente al comando sudo di eseguire i comandi descritti diversi da root come utente. Per specificare a fluido invece del nome utente, possiamo usare il file #uido .
11. -H: Sta per CASA . Questa opzione può impostare a Variabile d'ambiente HOME a noi directory principale dell'utente root come descritto all'interno del file passwd. Il comando sudo per impostazione predefinita non cambia HOME.
12. -s: Sta per il conchiglia . Questa opzione esegue la shell descritta tramite a Variabile d'ambiente SHELL quando è impostato o questa shell come descritto all'interno del file password file.
stato git -s
13. -S: Sta per stdin . Questa opzione abilita il comando sudo per leggere la password tramite input standard anziché dal dispositivo terminale.
14. -: Questa opzione illustra che il comando sudo deve interrompere l'elaborazione degli argomenti della riga di comando. È molto utile insieme al flag -s.
15. -a: Sta per Tipo di autenticazione . Questa opzione abilita il comando sudo per l'utilizzo del tipo di autenticazione descritto se si convalida un utente, come consentito da /etc/login/.config .
L'amministratore del sistema potrebbe descrivere l'elenco dei metodi di autenticazione specifica sudo includendo il file 'auto-sudo' ingresso all'interno del /etc/login/.config .
Variabili d'ambiente nel comando sudo
Di seguito sono riportate alcune delle variabili di ambiente applicate dal comando sudo:
Si No. | Etichetta | Descrizione |
---|---|---|
1. | EDITORE | È un editor predefinito che può essere utilizzato nella modalità -e (sudoedit) quando VISUAL non è corretto. |
2. | CASA | Verrà impostato sulla homedir dell'utente (destinazione) in modalità -H o -s (o quando il comando sudo è stato formato con l'opzione, ovvero -enable-shell-sets-home). |
3. | SENTIERO | Viene impostato sul valore corretto quando l'opzione, ovvero secure_path sudoers, è corretta. |
4. | CONCHIGLIA | Può essere utilizzato per determinare la shell da eseguire con l'opzione -s. |
5. | SUDO_COMANDO | Imposta su un comando eseguito dal comando sudo. |
6. | SUDO_PROMPT | Può essere utilizzato come richiesta di password (impostazione predefinita). |
7. | SUDO_USER | Imposta l'accesso dell'utente che richiede il comando sudo. |
8. | SUDO_UID | Imposta l'uid dell'utente che richiede il comando sudo. |
9. | SUDO_GID | Imposta il gid dell'utente che richiede il comando sudo. |
10. | SUD_PS1 | PS1 verrebbe fissato al suo valore se impostato. |
undici. | UTENTE | Viene impostato sull'utente (root a meno che non venga descritta l'opzione, ovvero -u). |
12. | VISIVO | È un editor predefinito e viene utilizzato all'interno della modalità -e (sudoedit). |
Storia del comando sudo
Cliff Spencer e Robert Coggeshall scrissero il sottosistema vero e proprio nel 1980 alla SUNY/Buffalo presso il Dipartimento di Informatica. Robert Coggeshall portò con sé sudo all'Università del Colorado Boulder. Sostanzialmente, le caratteristiche e il codice sono stati modificati dai membri IT del College of Engineering e del Dipartimento di informatica e scienze applicate dell'Università del Colorado Boulder con Todd C. Miller tra il 1986 e il 1993.
Pubblicamente, l'ultima versione è gestita dal 1994 da Todd .C Miller (sviluppatore OpenBSD) ed è condivisa dal 1999 con licenza in stile ISC.
Thomas Claburn ha definito tali incertezze esagerate nel novembre 2009 in risposta alla questione secondo cui Microsoft aveva il privilegio sudo. In senso stretto, le affermazioni erano inquadrate in una GUI specifica anziché nell'approccio sudo.
Progettazione del comando sudo
Gli utenti possono fornire la propria password a sudo quando necessario anziché a un superutente, a differenza del comando su. Consente agli utenti accessibili di esercitare privilegi qualificati senza mantenere la segretezza della password dell'altro account.
- Quando il file di configurazione consente l'accesso dell'utente, dopo l'autenticazione il sistema richiede il comando richiesto.
- Il comando sudo conserva i diritti di invocazione dell'utente per un periodo di grazia (solitamente 5 minuti) per pseudo-terminale e consente all'utente di eseguire vari comandi successivi come utente richiesto senza dover fornire nuovamente alcuna password.
- Il comando sudo potrebbe essere configurato per registrare ogni comando eseguito come funzionalità di controllo e sicurezza.
- Nel momento in cui un utente spara invocando il comando sudo senza essere elencato nel file di configurazione, all'utente viene presentata un'illustrazione dell'eccezione che informa che lo scatto è stato registrato.
- Una voce verrebbe salvata all'interno del sistema e l'utente root verrebbe informato via e-mail.
Configurazione del comando sudo
IL /etc/sudoers il file include i gruppi di utenti o l'elenco di utenti con l'autorizzazione per eseguire una serie di comandi pur contenendo i diritti di un utente root o di un altro utente elencato. Il programma potrebbe essere configurato per richiedere una password.
Impatto del comando sudo
In alcune distribuzioni di sistema, il comando sudo ha soppiantato l'uso (predefinito) di un login diverso del superutente per varie operazioni amministrative, soprattutto in alcune distribuzioni macOS e Linux di Apple.
dhl significa cosa
Previene alcuni exploit e consente anche una registrazione più protetta dei comandi di amministrazione.
RBAC
Il comando sudo potrebbe essere utilizzato per il transito tra vari tipi di ruoli all'interno del controllo degli accessi basato sui ruoli in collaborazione con SELinux.
Programmi e strumenti simili
Il visudo è un'utilità della riga di comando che consente di modificare il file di configurazione di sudo in modo sicuro. Esegue controlli di sintassi e integrità e impedisce anche più di una modifica simultanea insieme ai blocchi.
Il programma runas facilita le stesse prestazioni in Microsoft Windows; tuttavia, non può passare le lunghe righe di comando attuali a un figlio, a variabili di ambiente o directory.
Non supporta l'elevazione generale mentre aiuta a giustiziare il bambino come qualsiasi altro utente. Per Windows, vengono aggiunti un vero sudo e su in grado di trasferire ciascuno di questi dettagli di stato e iniziare il bambino come un altro utente o con privilegi elevati Conchiglia Hamilton C .
La GUI è disponibile per sudo ( gksudo in particolare) ma è deprecato in Debian e non più in Ubuntu. Vari altri tipi di interfacce utente non sono progettati direttamente su sudo, ma facilitano la stessa elevazione dei privilegi (temporanea) per obiettivi amministrativi come Servizi di autorizzazione di Mac OS X, Controllo dell'account utente all'interno di Microsoft Windows , E pkexec all'interno dei sistemi operativi simili a Unix .
Dalla versione 5.8 di OpenBSD (ottobre 2015), donare è disponibile. È stato specificato di sostituire il comando sudo all'interno del sistema base di OpenBSD.
il suo contro sudo
Se siamo abituati a una configurazione Linux più classica, allora siamo abituati ad applicare il comando su per ottenere i privilegi di root. Possiamo anche emettere il comando su per accedere effettivamente come root (la home del root diventa la nostra casa).
Utilizzando questo tipo di distribuzioni possiamo accedere anche come utente del percorso. Ma non è una buona idea accedere come utente root. Se stiamo applicando una distribuzione che dipende dal comando su e consente l'accesso all'utente root, allora accedi come utente standard e il comando su all'utente root.
Molto probabilmente, noteremo che non possiamo accedere come utente root utilizzando distribuzioni basate su sudo. Infatti, in alcune distribuzioni come Ubuntu, l'account dell'utente root è stato disabilitato.
Non possiamo accedere come utente root e utilizzare il comando su per diventare un utente root. Potremmo semplicemente impartire questi comandi utilizzando il comando sudo per ottenere privilegi amministrativi.
Utilizzo del comando sudo
Esistono due modi diversi per eseguire applicazioni amministrative con Linux. O possiamo cambiare il superutente o l'utente root usando il comando su oppure possiamo trarre vantaggio dal comando sudo.
Quando utilizziamo il nostro tempo sul terminale, sudo è uno dei comandi importanti che utilizzeremo abbastanza frequentemente. Usare il comando sudo invece di accedere come utente root è più protetto perché possiamo concedere solo pochi privilegi amministrativi a un singolo utente senza che lui/lei sia a conoscenza della password root.
scanner Java
Il modo in cui lo implementiamo dipende dalla distribuzione che utilizziamo. Alcune distribuzioni consentono all'utente root (come OpenSUSE, RedHat , O Fedora ), mentre alcuni no (come Debian E Ubuntu ).
Usare il comando sudo è semplice nella sua forma base. Ad esempio, dobbiamo eseguire dpkg per installare un pezzo di software. Se eseguiamo semplicemente il file dpkg -isoftware.deb comando come utente standard riceveremo un messaggio di errore che indica che l'utente non dispone delle autorizzazioni per eseguire il comando.
Ecco perché per impostazione predefinita gli utenti standard non possono installare varie applicazioni su una macchina Linux. Se vogliamo installare qualsiasi applicazione sulla macchina Linux dobbiamo avere i privilegi di superutente.
Eseguiremo invece il file sudo dpkg -i software.deb comando in modo da poter eseguire l'installazione con successo.
Installazione del comando sudo
Il pacchetto del comando sudo è preinstallato sulla maggior parte delle distribuzioni Linux. Per confermare che il pacchetto è installato sul nostro sistema, è necessario seguire i passaggi seguenti:
- Prima di tutto, apri il nostro terminale.
- Digita sudo e fai clic sul pulsante Invio.
- Se abbiamo il pacchetto sudo installato sul nostro sistema, mostrerà un breve messaggio.
- Altrimenti, avviseremo tramite un messaggio, ovvero comando sudo non trovato.
- Se il pacchetto non è installato, possiamo installarlo facilmente applicando il gestore pacchetti di overdistribution.
Installa Sudo su Fedora e CentOS
$ yum install sudo
Installa Sudo su Debian e Ubuntu
$ apt install sudo