Tutorials

su

Il comando su sta per "substitute user" ed è utilizzato per avviare una shell con i privilegi di un altro utente. In genere, il comando su viene utilizzato per passare a un altro utente, in particolar

#linux

Comando su in Kali Linux

Il comando su sta per "substitute user" ed è utilizzato per avviare una shell con i privilegi di un altro utente. In genere, il comando su viene utilizzato per passare a un altro utente, in particolare l'utente root, che ha privilegi amministrativi completi sul sistema. È uno degli strumenti fondamentali per la gestione dei privilegi utente in un sistema Linux.


Sintassi del Comando su

La sintassi base del comando su è la seguente:

su [opzioni] [utente]

  • [opzioni]: Le opzioni per modificare il comportamento del comando.
  • [utente]: Il nome dell'utente a cui passare. Se omesso, il comando su tenterà di passare all'utente root.

Funzionamento del Comando su

Quando si esegue il comando su, il sistema avvia una nuova shell come l'utente specificato. Se non viene specificato alcun utente, si tenta di diventare l'utente root.

1. Cambio utente: Se si esegue su nome_utente, il sistema cambia l'utente corrente a nome_utente. L'ambiente e i permessi di quel nuovo utente vengono caricati. 2. Diventare root: Eseguendo semplicemente su o su -, l'utente corrente diventa root (se la password è corretta). L'argomento - (meno) è utile perché simula l'accesso completo come se l'utente root avesse effettuato il login, includendo il caricamento dell'ambiente dell'utente root (variabili di ambiente, variabili di shell, ecc.).


Opzioni Comuni di su

  • - o --login: Forza l'avvio di una shell di login. Questo significa che vengono caricati tutti i file di configurazione e le variabili di ambiente dell'utente root o dell'utente specificato.
su - root
  • -c: Permette di eseguire un comando specifico come l'utente target. In questo caso, dopo il comando su -c, puoi passare un singolo comando che verrà eseguito come l'utente specificato, quindi la sessione su terminerà.
su -c 'comando' nome_utente
  • -s: Consente di specificare una shell diversa da quella predefinita per l'utente.
su -s /bin/bash nome_utente

Esempi di Utilizzo del Comando su

1. Passare a root senza caricare l'ambiente: su Questo comando cambia l'utente corrente a root, ma non carica l'ambiente di login, quindi le variabili di ambiente non verranno caricate come se l'utente root avesse effettuato un login. Non è consigliato usare questo comando per operazioni amministrative critiche, poiché non si ottiene un ambiente completamente configurato. 2. Passare a root con ambiente completo: su - Con questo comando, su -, il sistema carica tutte le variabili di ambiente e la configurazione di login dell'utente root, simulando un login completo come root. 3. Eseguire un comando come root: Se vuoi eseguire un singolo comando come utente root senza dover entrare nella shell root, puoi usare l'opzione -c: su -c 'apt update' Questo comando esegue apt update come utente root, e poi termina la sessione su. 4. Passare a un altro utente: Per passare a un altro utente, ad esempio john, esegui: su john Questo cambia l'utente corrente a john, ma non carica l'ambiente di login di john. 5. Eseguire un comando come altro utente: Se desideri eseguire un comando come l'utente john, puoi usare: su -c 'comando' john


Differenza tra su e sudo

Sebbene su e sudo siano utilizzati per ottenere privilegi elevati, ci sono alcune differenze significative tra i due comandi:

  • su: Cambia l'intero ambiente dell'utente corrente per diventare un altro utente, di solito root. Una volta diventato root, hai accesso completo a tutte le risorse di sistema finché non esci dalla shell. È meno sicuro, poiché l'utente rimane root per tutta la sessione.
  • sudo: Permette di eseguire comandi come root senza cambiare l'ambiente utente. Viene generalmente utilizzato per eseguire comandi privilegiati senza la necessità di fare il login come root. sudo è più sicuro poiché ogni comando viene eseguito singolarmente con privilegi elevati e non implica il mantenimento di una sessione di root.

Vantaggi dell'uso di su

1. Accesso completo all'ambiente utente: Se necessario, puoi passare all'utente root e ottenere pieno accesso al sistema, compreso l'ambiente di login. 2. Flessibilità: Puoi passare facilmente tra gli utenti senza la necessità di eseguire singoli comandi come root.


Sicurezza e Considerazioni

  • Sicurezza: Il comando su deve essere usato con attenzione, specialmente quando si passa all'utente root. L'utilizzo del comando su - (login shell) è sempre preferibile in quanto imposta correttamente tutte le variabili di ambiente di root.
  • Gestione delle password: Quando si usa su, è necessario inserire la password dell'utente (root o un altro utente). È fondamentale utilizzare una password forte e gestirla correttamente.
  • Audit e traccia dei comandi: Le operazioni eseguite con su possono non essere tracciate facilmente come quelle eseguite tramite sudo, che registra ogni comando nel log di sistema.

Conclusione

Il comando su è uno strumento potente per passare tra gli utenti, in particolare per acquisire i privilegi di root in Kali Linux. Sebbene sia utile per amministrare un sistema, è importante comprendere come utilizzarlo correttamente per mantenere la sicurezza e tracciare adeguatamente le operazioni eseguite. Per un uso quotidiano e sicuro, è spesso preferibile sudo per eseguire comandi specifici con privilegi elevati, piuttosto che rimanere in una shell root per lunghi periodi.