GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire un comando come amministratore di sistema (root)?

Devo eseguire un comando con privilegi di amministratore. Qualcuno ha detto che dovrei eseguire un comando come root. Come faccio?

Risposta accettata:

Le due principali possibilità della riga di comando sono:

  • Usa su e inserisci la password di root quando richiesto.
  • Metti sudo davanti al comando e inserisci la tua password quando richiesto.

Esecuzione di un comando shell come root

sudo (preferito quando non si esegue un display grafico)

Questo è il metodo preferito sulla maggior parte dei sistemi, inclusi Ubuntu, Linux Mint, (probabilmente) Debian e altri. Se non conosci una password di root separata, usa questo metodo.

Sudo richiede di digitare la tua password. (Lo scopo è limitare i danni se lasci la tastiera incustodita e sbloccata, e anche assicurarti di veramente desidera eseguire quel comando e non era ad es. un errore di battitura.) Spesso è configurato per non chiedere di nuovo per alcuni minuti in modo da poter eseguire diversi sudo comandi in successione.

Esempio:

sudo service apache restart

Se devi eseguire diversi comandi come root, anteponi a ciascuno di essi sudo . A volte, è più conveniente eseguire una shell interattiva come root. Puoi usare sudo -i per quello:

$ sudo -i
# command 1
# command 2
...
# exit

Invece di sudo -i , puoi usare sudo -s . La differenza è che -i riio inizializza l'ambiente per sanificare i valori predefiniti, mentre -s usa i tuoi file di configurazione nel bene e nel male.

Per ulteriori informazioni, visita il sito Web sudo o digita man sudo sul tuo sistema. Sudo è molto configurabile; ad esempio può essere configurato per consentire a un determinato utente di eseguire solo determinati comandi come root. Leggi i sudoers pagina man per maggiori informazioni; usa sudo visudo per modificare il file sudoers.

su

Il su comando esiste sulla maggior parte dei sistemi simili a Unix. Ti consente di eseguire un comando come un altro utente, a condizione che tu conosca la password di quell'utente. Se eseguito senza l'utente specificato, su verrà impostato automaticamente sull'account root.

Esempio:

su -c 'service apache restart'

Il comando da eseguire deve essere passato usando il -c opzione. Nota che hai bisogno di virgolette in modo che il comando non venga analizzato dalla tua shell, ma passato intatto alla shell radice che su corre.

Per eseguire più comandi come root, è più conveniente avviare una shell interattiva.

$ su
# command 1
# command 2
...
# exit

Su alcuni sistemi, devi essere nel gruppo numero 0 (chiamato wheel ) per utilizzare su . (Il punto è limitare i danni se la password di root viene divulgata accidentalmente a qualcuno.)

Accesso come root

Se è stata impostata una password di root e ne sei in possesso, puoi semplicemente digitare root al prompt di login e inserire la password di root. Fai molta attenzione ed evita di eseguire applicazioni complesse come root in quanto potrebbero fare qualcosa che non avevi intenzione. L'accesso direttamente come root è utile principalmente in situazioni di emergenza, come guasti del disco o quando ti sei bloccato fuori dal tuo account.

Modalità utente singolo

La modalità utente singolo, o run-level 1, ti dà anche i privilegi di root. Questo è inteso principalmente per situazioni di manutenzione di emergenza in cui non è possibile eseguire l'avvio in un livello di esecuzione multiutente. Puoi avviare in modalità utente singolo passando single o emergency sulla riga di comando del kernel. Si noti che l'avvio in modalità utente singolo non equivale all'avvio normale del sistema e all'accesso come root. Piuttosto, il sistema avvierà solo i servizi definiti per il livello di esecuzione 1. In genere, questo è il numero minimo di servizi necessari per avere un sistema utilizzabile.

Correlati:come creare una partizione nello spazio libero usando GNU Parted?

Puoi anche accedere alla modalità utente singolo usando il comando telinit:telinit 1; tuttavia, questo comando richiede che tu abbia già ottenuto i privilegi di root tramite qualche altro metodo per poter essere eseguito.

Su molti sistemi, l'avvio in modalità utente singolo consentirà all'utente di accedere a una shell di root senza richiedere una password. In particolare, systemd -based ti chiederà la password di root quando avvii in questo modo.

Altri programmi

California

Calife ti consente di eseguire comandi come un altro utente digitando la tua password, se autorizzato. È simile al sudo molto più diffuso (vedi sopra). Calife è più leggero di sudo ma anche meno configurabile.

Op

Op ti consente di eseguire comandi come un altro utente, incluso root. Questo non è uno strumento completo per eseguire comandi arbitrari:digita op seguito da un mnemonico configurato dall'amministratore di sistema per eseguire un comando specifico.

Super

Super ti consente di eseguire comandi come un altro utente, incluso root. Il comando deve essere stato autorizzato dall'amministratore di sistema.

Esecuzione di un comando grafico come root

PolicyKit (preferito quando si utilizza GNOME)

Basta anteporre il comando desiderato con il comando pkexec . Tieni presente che mentre funziona nella maggior parte dei casi, non funziona universalmente.

Vedi man pkexec per ulteriori informazioni.

KdeSu, KdeSudo (preferito quando usi KDE)

kdesu e kdesudo sono front-end grafici per su e sudo rispettivamente. Ti consentono di eseguire i programmi X Window come root senza problemi. Fanno parte di KDE. Digita

kdesu -c 'command --option argument'

e inserisci la password di root, oppure digita

kdesudo -c 'command --option argument'

e inserisci la tua password (se autorizzato a eseguire sudo ). Se selezioni l'opzione "mantieni password" in KdeSu, dovrai digitare la password di root solo una volta per sessione di accesso.

Altri programmi

Ktsuss

Ktsuss ("keep the su simple, stupid") è una versione grafica di su.

Besu

Beesu è un front-end grafico per il comando su che ha sostituito Gksu nei sistemi operativi basati su Red Hat. È stato sviluppato principalmente per RHEL e Fedora.

Metodi obsoleti

gksu e gksudo

gksu e gksudo sono front-end grafici per su e sudo rispettivamente. Ti consentono di eseguire i programmi X Window come root senza problemi. Fanno parte di Gnome. Digita

gksu command --option argument

e inserisci la password di root, oppure digita

gksudo command --option argument

e inserisci la tua password (se autorizzato a eseguire sudo ).

gksu e gksudo sono obsoleti. Sono stati sostituiti da PolicyKit in GNOME e molte distribuzioni (come Ubuntu) non li installano più per impostazione predefinita. Non dovresti dipendere dalla loro disponibilità o dal loro corretto funzionamento.

Manualmente tramite uno dei metodi basati su shell

Utilizzare uno dei metodi nella sezione "esecuzione di un comando shell come sezione radice". Dovrai assicurarti che né il DISPLAY variabile di ambiente né XAUTHORITY l'ambiente viene ripristinato durante la transizione a root. Ciò potrebbe richiedere una configurazione aggiuntiva di quei metodi che non rientrano nell'ambito di questa domanda.

Nel complesso, questa è una cattiva idea, soprattutto perché le applicazioni grafiche leggeranno e scriveranno i file di configurazione come root e quando proverai a utilizzare nuovamente tali applicazioni come utente normale, tali applicazioni non avranno l'autorizzazione per leggere le proprie configurazioni.

Correlati:Macos:eseguire il comando all'avvio del terminale (macOS)?

Modificare un file come root

Vedi Come si modifica un file come root?


Linux
  1. Come usare il comando Linux grep

  2. Come usare il comando cronologia in Linux

  3. Come utilizzare il comando basename?

  4. Come installo uno script da eseguire ovunque dalla riga di comando?

  5. Come utilizzare nohup per continuare a eseguire un comando dopo il logout dell'utente?

Come utilizzare il comando di lettura Bash

Come utilizzare il comando xargs di Linux

Come utilizzare il comando tee di Linux

Come utilizzare il comando superiore in Linux

Come eseguire Dolphin come root?

Come utilizzare il comando fd sul sistema Linux