Come amministratore di sistema, prima o poi dovrai eseguire manutenzioni programmate di sistema. Alcune volte, il tuo sistema potrebbe anche incontrare qualche problema e potresti essere costretto a spegnerlo per risolvere il problema. Qualunque sia la situazione, è una buona idea impedire agli utenti non-root (normali) di connettersi al sistema.
Leggi anche: Disabilitare o Abilitare l’Accesso Root SSH e Limitare l’Accesso SSH in Linux
In questo articolo, descriveremo come bloccare i login degli utenti non-root utilizzando il file /etc/nologin e una shell nologin in Linux. Vedremo come impostare un messaggio che spiega agli utenti cosa sta effettivamente accadendo.
Come Bloccare i Login degli Utenti Utilizzando il File /etc/nologin
La funzione principale del file /etc/nologin è quella di mostrare un messaggio (memorizzato nel file) agli utenti che tentano di accedere a un sistema durante il processo di spegnimento.
Una volta che il messaggio è stato mostrato all’utente, la procedura di accesso termina, impedendo all’utente di accedere al sistema.
Questo può essere utilizzato per bloccare il login degli utenti creando manualmente il file come segue.
# vi /etc/nologin
Aggiungi il messaggio di seguito al file, che verrà mostrato agli utenti che tentano di accedere al sistema.
The Server is down for a routine maintenance. We apologize for any inconvenience caused, the system will be up and running in 1 hours time. For more information, contact the system admin [email protected].
Ora puoi testare se tutto funziona; come puoi vedere dalla schermata sottostante, un utente normale tecmint
non è in grado di effettuare il login.

Come Bloccare gli Accessi degli Utenti Utilizzando la Shell nologin
Questo metodo funziona in modo leggermente diverso: blocca solo un utente dall’accesso a una shell. Ma lui o lei possono comunque accedere al sistema tramite programmi come ftp che non richiedono necessariamente una shell per connettersi a un sistema.
Inoltre, ti consente di bloccare l’accesso alla shell a utenti specifici in scenari speciali.
Su RHEL/CentOS/Fedora
Basta usare il comando chsh (cambia shell) per cambiare la shell degli utenti nel file /etc/passwd da qualcosa come /bin/bash
o /bin/sh
a /sbin/nologin
significando rifiuto di accesso.
# chsh -s /bin/nologin tecmint
Su Debian/Ubuntu
Qui, devi usare il file /bin/false. Il comando seguente cambia la shell dell’utente tecmint in /bin/false
significando non fare nulla (dopo che l’utente fornisce le credenziali di accesso):
$ sudo chsh -s /bin/false tecmint
Potresti anche essere interessato a leggere questi articoli correlati seguenti.
- Come Abilitare e Disabilitare il Login di Root in Ubuntu
- Reimpostare/Recuperare la Password dell’Account Utente Root Dimenticata in RHEL/CentOS 7
- Come limitare gli utenti SFTP alle directory home utilizzando la prigione chroot
- Come impostare e annullare le variabili d’ambiente locali, utente e di sistema in Linux
Questo è tutto per ora! Se hai domande o idee aggiuntive da condividere su questo argomento, utilizza il modulo dei commenti qui sotto.
Source:
https://www.tecmint.com/block-or-disable-normal-user-logins-in-linux/