Ricerca nel sito web

Come disabilitare l'accesso "su" per gli utenti Sudo


Il comando su è uno speciale comando Linux che consente di eseguire un comando come un altro utente e gruppo. Consente inoltre di passare all'account root (se eseguito senza argomenti) o a un altro account utente specificato.

Per impostazione predefinita, tutti gli utenti possono accedere al comando su. Ma come amministratore di sistema, puoi disabilitare l'accesso su per un utente o un gruppo di utenti, utilizzando il file sudoers come spiegato di seguito.

Il file sudoers guida il plug-in della politica di sicurezza sudo che determina i privilegi sudo di un utente. Il comando sudo consente agli utenti di eseguire programmi con i privilegi di sicurezza di un altro utente (per impostazione predefinita, come utente root).

Per passare a un altro account utente, un utente può eseguire il comando su dalla sessione di accesso corrente come mostrato. In questo esempio, l'utente aaronk sta passando a un account testuser. All'utente aaronk verrà richiesto di inserire la password per l'account testuser:

su testuser

Per passare all'account root, un utente deve avere la password root o avere i privilegi per invocare il comando sudo. In altre parole, l'utente deve esistere nel file sudoers. In questo esempio, l'utente aaronk (un utente sudo) sta passando all'account root.

Dopo aver invocato sudo, all'utente aaronk viene richiesto di inserire la propria password, se è valida, all'utente viene concesso l'accesso a una shell interattiva come root:

sudo su

Disabilita l'accesso su per un utente Sudo

Per disabilitare l'accesso a su per un utente sudo, ad esempio l'utente aaronk sopra, eseguire innanzitutto il backup del file sudoers originale situato in /etc/sudoers come segue:

sudo cp /etc/sudoers /etc/sudoers.bak

Quindi apri il file sudoers utilizzando il seguente comando. Tieni presente che non è consigliabile modificare manualmente il file sudoers, utilizza sempre il comando visudo:

 
sudo visudo

Nella sezione del comando alias, crea il seguente alias:

Cmnd_Alias DISABLE_SU = /bin/su

Aggiungi poi la seguente riga alla fine del file, sostituisci il nome utente aaronk con l'utente per il quale desideri disattivare l'accesso su:

aaronk ALL=(ALL) NOPASSWD: ALL, !DISABLE_SU

Salva il file e chiudilo.

Quindi testare per verificare che la configurazione funzioni come segue. Il sistema dovrebbe restituire un messaggio di errore come questo: "Spiacenti, l'utente aaronk non è autorizzato a eseguire '/bin/su' come root su tecmint.".

sudo su

Disabilita l'accesso su per un gruppo di utenti Sudo

Puoi anche disabilitare l'accesso su per un gruppo di utenti sudo. Ad esempio per disabilitare l'accesso su per tutti gli utenti del gruppo admin, modificare la riga:

%admin ALL=(ALL) ALL

a questa:

%admin ALL=(ALL) ALL, !DISABLE_SU

Salva il file e chiudilo.

Per aggiungere un utente al gruppo admin, esegui il comando usermod (sostituisci il nome utente con l'utente effettivo):

sudo usermod -aG  admin  username

Per ulteriori informazioni su su, sudo e sudoer, controlla le relative pagine man:

man su
man sudo
man sudoers