Cosa fa Su in Linux e come usarlo?

Cosa fa Su in Linux e come usarlo?
UNIX/LINUX Su (Utente sostitutivoIl comando) consente agli utenti di diventare altri utenti. Si pensava che questo comando aumenti i privilegi diventando un utente privilegiato; Pertanto, l'utente predefinito è il root se non viene specificato alcun utente.

Eseguindo il comando SU, puoi diventare root o passare a qualsiasi altro utente. Questo tutorial spiega tutto Su usi e le differenze con il sudo comando.

Come detto in precedenza, se si esegue il Su Comando senza un utente, diventerai root per impostazione predefinita, come mostrato nello screenshot seguente.

Su

Se esegui il Su Comando seguito da un utente, diventerai quell'utente. Naturalmente, se sei root quando si esegue Su, Non ti verrà richiesto di digitare la password dell'utente.

Su

Come puoi vedere nell'esempio sopra, l'utente è cambiato da root all'utente specificato Linuxhint. Tuttavia, la directory attuale rimane. Puoi implementare il -l Flag per modificare la directory corrente per la directory home dell'utente target, spostando automaticamente dalla directory corrente a casa dell'utente.

Su -l

Quando si implementa il -l flag, non solo la directory corrente cambia. Altre caratteristiche di questa bandiera sono:

  • Le variabili di ambiente vengono cancellate tranne il termine variabile per la gestione del terminale e le variabili whitelisted.
  • Carica variabili di ambiente utente, logname, home, shell e percorso.
  • Trasforma la shell in una shell di accesso.
  • Modifica la directory corrente per la casa dell'utente target.

Un altro modo per riprodurre lo stesso comportamento è sostituire il -l bandiera solo per un trattino (-), come mostrato di seguito.

Su -

Come puoi vedere, l'utente è cambiato e anche la directory corrente.

IL Su Il comando può essere utilizzato per eseguire i comandi come un altro utente. Come mostrato negli esempi seguenti, l'aggiunta del flag -c (comando) consente di eseguire i comandi con privilegi senza trasformarsi in root.

Innanzitutto, vediamo cosa succede se proviamo a leggere il contenuto della directory principale senza essere root:

Come puoi vedere, l'utente non ha autorizzazioni per leggere la directory di root. Come mostrato di seguito, questo può essere fatto con il comando SU con il flag -c (comando).

root su -c 'ls /root'

Come vedi nella sintassi, devi invocare il comando SU con il -C Flag, seguito dai comandi che si desidera eseguire tra le virgolette e seguito dall'utente si desidera eseguire il comando come, in questo caso, l'utente root.

IL runuser comando:

C'è un'alternativa per il Su comando nominato runuser. La differenza tra questi due comandi è che RunUser può essere utilizzato solo dalla radice. Il comando runuser non richiede una password e ha una diversa configurazione PAM (moduli di autenticazione Linux Pluggable).

Come forse saprai, l'esecuzione dei browser come root è proibito, una cattiva pratica; Il tuo sistema deve impedirti di farlo.

Se sei root e vuoi avviare un'applicazione non sicura come root, puoi usare sia il Su comando, seguito dal -C bandiera come spiegato in precedenza o il runuser comando mostrato nell'esempio seguente, seguito da -u flag, l'utente in cui si desidera eseguire il comando come e il comando che desideri essere eseguito.

Runuser -u Linuxhint Firefox

IL sudo comando:

IL sudo Il comando è l'alternativa più utilizzata per eseguire i comandi come utente privilegiato. È un metodo limitato per ottenere privilegi. Quando usi sudo, non diventerai root, ma otterrai il permesso di eseguire un comando specifico.

Quando si utilizza il precedentemente spiegato Su comando, è necessario compilare la password dell'utente di destinazione. Quando si utilizza Sudo, invece di digitare la password dell'utente di destinazione, è necessario digitare la password utente corrente; Se l'utente è in Sudoers Gruppo, sarà in grado di eseguire il comando; Se l'utente non è in Sudoers gruppo, non sarà in grado.

Eseguire un comando come sudo è piuttosto semplice; Basta digitare sudo prima del comando come mostrato di seguito.

sudo ls /root

Affinché un utente sia in grado di eseguire comandi con Sudo, è necessario aggiungerlo al gruppo Sudoers. Per aggiungere un utente al gruppo Sudoers, eseguire il comando seguente.

usermod -ag sudo

Ora l'utente può eseguire comandi che richiedono privilegi digitando sudo.

Conclusione:

I comandi SU, Runuser e Sudo sono facili da implementare e sono tra i comandi Linux più elementari che qualsiasi utente deve sapere. Imparare come utilizzare questi comandi aumenterà la sicurezza dal lato dell'utente (il più vulnerabile). Il prefisso sudo per i comandi privilegiati è la migliore alternativa per mantenere il tuo sistema al sicuro. Alcune distribuzioni Linux disabilitano automaticamente l'accesso al root, lasciando sudo come metodo predefinito.

Spero che questo tutorial stia mostrando ciò che fa il comando su e come implementarlo è stato utile. Continua a seguire questo blog per ulteriori suggerimenti e tutorial di Linux.