GNU/Linux >> Linux Esercitazione >  >> Linux

Come usare Sudo e il file Sudoers

Il comando sudo consente agli utenti non root di eseguire altri comandi Linux che normalmente richiederebbero i privilegi di super utente, mentre il file sudoers indica al sistema come gestire il comando sudo. In questo tutorial, ti mostreremo tutte le basi del comando sudo e come modificare il file sudoers.

Capire Sudo

Per mostrare come funziona sudo, accedi prima al tuo VPS tramite SSH. In caso di problemi, dai un'occhiata al tutorial PuTTY.

Per impostazione predefinita, l'utente root non ha bisogno di utilizzare il prefisso sudo. Hanno già tutti i privilegi possibili. Nel frattempo, se un utente non root desidera aggiungere un altro utente, dovrebbe aggiungere il prefisso sudo al comando useradd, in questo modo:

sudo useradd edward

Se l'utente non utilizza il prefisso sudo, riceverà un Autorizzazione negata uscita.

Il file Sudoers

Il comando sudo viene configurato tramite un file che si trova in /etc/ chiamati sudoers .

Attraverso il comando sudo fornisci privilegi di livello amministrativo agli utenti regolari. Normalmente il primo utente che crei durante l'installazione di Ubuntu ha i diritti sudo. In un ambiente VPS che è l'utente root predefinito. Puoi configurare altri utenti in modo che possano anche eseguire il comando sudo. Questo può essere fatto modificando sudoer.

Sintassi del file Sudoers

Puoi aprire il file con il tuo editor di testo preferito. Useremo vi :

vi /etc/sudoers

Il nostro file VPS si presenta così:

Diamo un'occhiata ad alcuni dei formati e delle regole da seguire durante la modifica dei sudoer:

  • Tutte le righe che iniziano con # sono commenti
  • root TUTTI=(TUTTI:TUTTI) TUTTI – questa riga significa che l'utente root ha privilegi illimitati e può eseguire qualsiasi comando sul sistema
  • %admin TUTTI=(TUTTI) TUTTI – il segno % specifica un gruppo. Chiunque nel gruppo admin ha gli stessi privilegi dell'utente root
  • %sudo TUTTI=(TUTTI:TUTTI ) TUTTI – tutti gli utenti nel gruppo sudo hanno i privilegi per eseguire qualsiasi comando

Un'altra linea di interesse è #includedir /etc/sudoers.d, questo significa che possiamo aggiungere configurazioni al file sudoers.d e collegarlo qui.

Modifica del file Sudoers

Per modificare /etc/sudoers file, usa il seguente comando:

sudo visudo -f /etc/sudoers

Si consiglia di utilizzare visudo per modificare il file sudoers. Visudo fa in modo che sudoers venga modificato da un utente alla volta e fornisce i necessari controlli della sintassi.

Per vedere quali utenti sono nel gruppo sudo possiamo usare un comando grep:

grep ‘sudo’ /etc/group

Questo produrrà un elenco di nomi utente.

Per aggiungere un utente chiamato bill al gruppo sudo, utilizziamo adduser comando nella riga di comando, in questo modo:

adduser bill sudo

Se utilizziamo il comando grep per controllare chi è nel gruppo, vedremo la fattura del nome utente.

Se vuoi concedere a qualcuno i privilegi di root, aggiungilo a sudo.

Per rimuovere un utente da sudo:

deluser bill sudo

Il comando deluser rimuoverà Bill dal gruppo sudo.

Ora la fattura utente non può più eseguire azioni che richiedono privilegi sudo.

Utilizza il file Sudoers per concedere privilegi specifici

E se vogliamo che Bill sia in grado di eseguire solo tipi specifici di comandi con privilegi sudo, come il networking?

Per farlo creiamo un file di configurazione in /etc/sudoers.d/ chiamato rete.

Utilizzare il comando seguente per creare il file:

sudo visudo -f /etc/sudoers.d/networking

Aggiungi il seguente testo nel file:

Cmnd_Alias     CAPTURE = /usr/sbin/tcpdump
Cmnd_Alias     SERVERS = /usr/sbin apache2ctl, /usr/bin/htpasswd
Cmnd_Alias     NETALL = CAPTURE, SERVERS
%netadmin ALL=NETALL

Quello che abbiamo fatto nel file sopra è creare un gruppo netadmin. Gli utenti nel gruppo netadmin possono eseguire i comandi specificati in NETALL. NETALL a sua volta include tutti i comandi sotto gli alias CAPTURE e SERVERS. Il comando tcpdump è sotto l'alias CAPTURE, ad esempio /usr/sbin/tcpdump.

Successivamente aggiungiamo la fattura utente al gruppo netadmin:

sudo adduser bill netadmin

Ora il conto utente sarà in grado di eseguire il comando tcpdump insieme ad altri comandi relativi alla rete.

Conclusione

Se stai lavorando con più utenti, comprendere il comando sudo e il file sudoers è un must assoluto. In questo tutorial, hai appreso tutte le nozioni di base per assumere il controllo dei privilegi del tuo sistema!


Linux
  1. Come utilizzare il comando Tar in Linux

  2. Come creare un alias e utilizzare il comando alias in Linux

  3. Come utilizzare il comando basename?

  4. Come installare e utilizzare il comando Ping in Linux

  5. Come utilizzo le righe di un file come argomenti di un comando?

Come usare e sfruttare al meglio il comando fusore in Linux

Come utilizzare il comando ftp di Linux per caricare e scaricare file sulla shell

Come utilizzare il comando Gzip in Linux?

Come installare e utilizzare il comando dello schermo Ubuntu 20.04

Come installare e utilizzare il comando Ack in Linux

Linux perf:come utilizzare il comando e il profiler