Als systeembeheerder zult u onvermijdelijk geplande systeemonderhoud op enig moment uitvoeren. Een paar keer kan uw systeem ook enkele probleem(punten) tegenkomen en zult u het moeten uitschakelen om het probleem op te lossen. Wat de situatie ook is, het is een goed idee om te voorkomen dat niet-root (normale) gebruikers verbinding maken met het systeem.
Zie ook: SSH-rootinloggen uitschakelen of inschakelen en SSH-toegang beperken in Linux
In dit artikel zullen we beschrijven hoe u niet-rootgebruikerslogins kunt blokkeren met behulp van het /etc/nologin-bestand en een nologin-shell in Linux. We zullen bekijken hoe u een bericht instelt dat aan gebruikers uitlegt wat er eigenlijk gebeurt.
Hoe u gebruikerslogins blokkeert met behulp van het /etc/nologin-bestand
De primaire functie van het /etc/nologin-bestand is om een bericht (opgeslagen in het bestand) weer te geven aan gebruikers die proberen in te loggen op een systeem tijdens het afsluitproces.
Zodra het bericht aan de gebruiker is weergegeven, wordt het aanmeldingsproces beëindigd, waardoor de gebruiker wordt verhinderd om in te loggen op het systeem.
Dit kan worden gebruikt om gebruikersaanmelding te blokkeren door het bestand handmatig aan te maken zoals hieronder.
# vi /etc/nologin
Voeg het onderstaande bericht toe aan het bestand, dat wordt weergegeven aan gebruikers die proberen in te loggen op het systeem.
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].
Nu kunt u testen of alles werkt; zoals u kunt zien op de onderstaande schermafbeelding, kan een normale gebruiker tecmint
niet inloggen.

Hoe gebruikersaanmeldingen blokkeren met behulp van nologin Shell
Deze methode werkt een beetje anders: het blokkeert alleen een gebruiker om toegang te krijgen tot een shell. Maar hij of zij kan wel inloggen op het systeem via programma’s zoals ftp die niet noodzakelijkerwijs een shell vereisen om verbinding te maken met een systeem.
Bovendien kunt u hiermee de shelltoegang blokkeren voor specifieke gebruikers in speciale scenario’s.
Op RHEL/CentOS/Fedora
Gebruik eenvoudigweg het chsh (wijzig shell) commando om de shell van de gebruikers in het bestand /etc/passwd te wijzigen van bijvoorbeeld /bin/bash
of /bin/sh
naar /sbin/nologin
wat betekent dat inloggen geweigerd wordt.
# chsh -s /bin/nologin tecmint
Op Debian/Ubuntu
Hier moet u het bestand /bin/false gebruiken. De onderstaande opdracht wijzigt de shell van de gebruiker tecmint naar /bin/false
wat betekent niets doen (nadat de gebruiker inloggegevens heeft verstrekt):
$ sudo chsh -s /bin/false tecmint
U kunt ook de onderstaande gerelateerde artikelen lezen.
- Hoe Root aanmelding in Ubuntu inschakelen en uitschakelen
- Het herstellen/herbereiken van vergeten Root gebruikersaccount wachtwoord in RHEL/CentOS 7
- Hoe SFTP-gebruikers beperken tot de home-directories met behulp van chroot-gevangenis
- Hoe lokale, gebruikers- en systeembrede omgevingsvariabelen instellen en verwijderen in Linux
Dat is alles voor nu! Als je vragen hebt of extra ideeën wilt delen over dit onderwerp, maak dan gebruik van het opmerkingenveld hieronder.
Source:
https://www.tecmint.com/block-or-disable-normal-user-logins-in-linux/