In some cases, you might want to block all users from logging in to the system or just after you login, you want to prevent everyone else from connecting to the server. During server maintenance, this could be helpful or there are use cases where only one actively logged in user has to do some work if the username is a shared account.
Solution – create the /etc/nologin file, and put the text notice as the body of the file. If a user attempts to log in to a system where this file exists, the contents of the nologin file is displayed, and the user login is terminated.
[root@kauai ~]# echo 'System is under maintenance till Dec. 24, 2PM EST.' > /etc/nologin
Now try to login to the server under non super user –
daniel@linubuvma:~$ ssh ns2 System is under maintenance till Dec. 24, 2PM EST. Connection closed by 192.168.10.103
If your ssh configuration allows it, root user can login to the server though, the root user will still be greeted with the contents of /etc/nologin file though –
daniel@linubuvma:~$ ssh root@ns2 root@ns2's password: System is under maintenance till Dec. 24, 2PM EST. Last login: Sat Dec 12 01:11:35 2015 from linubuvma.home.net [root@kauai ~]#