Wyszukiwanie w witrynie

Jak zablokować lub wyłączyć normalne logowanie użytkowników w systemie Linux


Jako administrator systemu nieuchronnie będziesz w pewnym momencie przeprowadzać zaplanowane prace konserwacyjne systemu. Kilka razy Twój system może również napotkać pewne problemy i będziesz zmuszony odłożyć go, aby rozwiązać problemy. Niezależnie od sytuacji, dobrym pomysłem jest uniemożliwienie użytkownikom innym niż root (normalnym) łączenia się z systemem.

Przeczytaj także: Wyłącz lub włącz logowanie root SSH i ogranicz dostęp SSH w systemie Linux

W tym artykule opiszemy, jak blokować logowanie użytkowników innych niż root przy użyciu pliku /etc/nologin oraz powłoki nologin w systemie Linux. Przyjrzymy się, jak ustawić komunikat wyjaśniający użytkownikom, co się właściwie dzieje.

Jak blokować logowanie użytkowników za pomocą pliku /etc/nologin

Podstawową funkcją pliku /etc/nologin jest wyświetlanie komunikatu (przechowywanego w pliku) użytkownikom próbującym zalogować się do systemu podczas procesu zamykania.

Po wyświetleniu użytkownikowi komunikatu procedura logowania zostaje zakończona, uniemożliwiając użytkownikowi zalogowanie się do systemu.

Można tego użyć do zablokowania logowania użytkownika poprzez ręczne utworzenie pliku w następujący sposób.

vi /etc/nologin

Dodaj do pliku poniższy komunikat, który będzie wyświetlany użytkownikom próbującym zalogować się do systemu.

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 . 

Teraz możesz sprawdzić, czy wszystko działa; jak widać na zrzucie ekranu poniżej, zwykły użytkownik tecmint nie może się zalogować.

Jak blokować logowanie użytkowników za pomocą powłoki nologin

Ta metoda działa trochę inaczej: blokuje jedynie użytkownikowi dostęp do powłoki. Może jednak zalogować się do systemu za pomocą programów takich jak ftp, które niekoniecznie wymagają powłoki, aby użytkownik mógł połączyć się z systemem.

Dodatkowo może pozwolić na zablokowanie dostępu do powłoki określonym użytkownikom w specjalnych scenariuszach.

W RHEL/CentOS/Fedorze

Po prostu użyj polecenia chsh (zmień powłokę), aby zmienić powłokę użytkownika w pliku /etc/passwd z czegoś takiego jak /bin/bash lub /bin/sh na /sbin/nologin, co oznacza odmowę logowania.

chsh -s /bin/nologin tecmint

Na Debianie/Ubuntu

Tutaj musisz użyć pliku /bin/false. Poniższe polecenie zmienia powłokę użytkownika tecmint na /bin/false, co oznacza nic nie robić (po podaniu przez użytkownika danych logowania):

sudo chsh -s /bin/false tecmint

Możesz także przeczytać następujące powiązane artykuły.

  1. Jak włączyć i wyłączyć logowanie roota w Ubuntu
  2. Resetowanie/odzyskiwanie zapomnianego hasła do konta użytkownika root w RHEL/CentOS 7
  3. Jak ograniczyć użytkowników SFTP do katalogów domowych za pomocą chroot Jail
  4. Jak ustawiać i rozbrajać zmienne środowiskowe lokalne, użytkownika i całego systemu w systemie Linux

To wszystko na teraz! Jeśli masz jakieś pytania lub dodatkowe pomysły na ten temat, którymi chcesz się podzielić, skorzystaj z poniższego formularza komentarza.