GNU/Linux >> Znalost Linux >  >> Linux

4 způsoby, jak zakázat účet root v Linuxu

kořen účet je konečný účet na Linuxu a dalších operačních systémech podobných Unixu. Tento účet má přístup ke všem příkazům a souborům v systému s plnými oprávněními pro čtení, zápis a spouštění. Používá se k provádění jakéhokoli druhu úlohy v systému; pro vytváření/aktualizaci/přístup/mazání účtů jiných uživatelů, instalaci/odebírání/upgrade softwarových balíčků a mnoho dalšího.

Protože kořen uživatel má absolutní pravomoci, veškeré akce, které provádí, jsou pro systém kritické. V tomto ohledu všechny chyby root uživatel může mít obrovské důsledky pro normální provoz systému. Kromě toho může být tento účet také zneužit jeho nesprávným nebo nevhodným používáním, ať už náhodně, se zlým úmyslem, nebo v důsledku vykonstruované neznalosti zásad.

Proto je vhodné zakázat přístup root na vašem linuxovém serveru, místo toho vytvořit účet správce, který by měl být nakonfigurován tak, aby získal oprávnění uživatele root pomocí příkazu sudo, aby mohl na serveru provádět kritické úkoly.

V tomto článku vysvětlíme čtyři způsoby, jak zakázat přihlášení k uživatelskému účtu root v Linuxu.

Pozor :Než zablokujete přístup ke rootu účet, ujistěte se, že jste vytvořili administrátorský účet, který je schopen pomocí příkazu sudo získat oprávnění uživatele root pomocí příkazu useradd a přidělte tomuto uživatelskému účtu silné heslo. Příznak -m znamená vytvořit domovský adresář uživatele a -c umožňuje zadat komentář:

# useradd -m -c "Admin User" admin
# passwd admin

Dále přidejte tohoto uživatele do příslušné skupiny systémových administrátorů pomocí příkazu usermod, kde přepínač -a znamená připojit uživatelský účet a -G určuje skupinu, do které se má uživatel přidat (kolečko nebo sudo v závislosti na vaší distribuci Linuxu):

# usermod -aG wheel admin    #CentOS/RHEL
# usermod -aG sudo admin     #Debian/Ubuntu 

Jakmile vytvoříte uživatele s právy správce, přepněte se na tento účet, abyste zablokovali přístup root.

# su admin

1. Změňte prostředí uživatele root

Nejjednodušší způsob, jak zakázat přihlášení uživatele root, je změnit jeho shell z /bin/bash nebo /bin/bash (nebo jakýkoli jiný shell, který umožňuje přihlášení uživatele) do /sbin/nologin , v /etc/passwd soubor, který můžete otevřít pro úpravy pomocí libovolného z vašich oblíbených editorů příkazového řádku, jak je znázorněno.

  
$ sudo vim /etc/passwd

Změňte řádek:

root:x:0:0:root:/root:/bin/bash
to
root:x:0:0:root:/root:/sbin/nologin

Uložte soubor a zavřete jej.

Od této chvíle, kdy rootovat se uživatel přihlásí, zobrazí se mu zpráva „Tento účet momentálně není dostupný. ” Toto je výchozí zpráva, ale můžete ji změnit a nastavit vlastní zprávu v souboru /etc/nologin.txt .

Tato metoda je účinná pouze u programů, které vyžadují shell pro přihlášení uživatele, jinak sudo , ftp a e-mail klienti mají přístup k účtu root.

2. Zakázat přihlášení uživatele root prostřednictvím zařízení konzoly (TTY)

Druhá metoda využívá PAM modul s názvem pam_securetty , který povoluje přístup root pouze v případě, že se uživatel přihlašuje pomocí „zabezpečeného“ TTY , jak je definováno v seznamu v /etc/securetty .

Výše uvedený soubor vám umožňuje určit, který TTY zařízení, ke kterým se uživatel root může přihlásit, vyprázdnění tohoto souboru zabrání přihlášení root na všech zařízeních připojených k počítačovému systému.

Chcete-li vytvořit prázdný soubor, spusťte.

$ sudo mv /etc/securetty /etc/securetty.orig
$ sudo touch /etc/securetty
$ sudo chmod 600 /etc/securetty

Tato metoda má určitá omezení, týká se pouze programů, jako je přihlášení, správce zobrazení (např. gdm , kdm a xdm ) a další síťové služby, které spouštějí TTY. Programy jako su, sudo, ssh a další související openssh nástroje budou mít přístup k účtu root.

3. Zakázat přihlášení SSH root

Nejběžnější způsob přístupu ke vzdáleným serverům nebo VPS je přes SSH a chcete-li pod ním zablokovat přihlášení uživatele root, musíte upravit /etc/ssh/sshd_config soubor.

$ sudo vim /etc/ssh/sshd_config

Poté odkomentujte (pokud je zakomentována) direktivu PermitRootLogin a nastavte jeho hodnotu na no jak je znázorněno na snímku obrazovky.

Jakmile budete hotovi, uložte a zavřete soubor. Poté restartujte sshd službu použít poslední změnu v konfiguracích.

$ sudo systemctl restart sshd 
OR
$ sudo service sshd restart 

Jak již možná víte, tato metoda ovlivňuje pouze sadu nástrojů openssh, programům jako ssh, scp, sftp bude zablokován přístup k účtu root.

4. Omezit root přístup ke službám prostřednictvím PAM

Zásuvné moduly ověřování (PAM zkrátka) je centralizovaná, zásuvná, modulární a flexibilní metoda ověřování na systémech Linux. PAM prostřednictvím /lib/security/pam_listfile.so modul, umožňuje velkou flexibilitu při omezování oprávnění konkrétních účtů.

Výše uvedený modul lze použít jako odkaz na seznam uživatelů, kteří nemají povoleno se přihlásit prostřednictvím některých cílových služeb, jako je přihlášení, ssh a jakékoli programy podporující PAM.

V tomto případě chceme zakázat přístup uživatele root k systému omezením přístupu ke službám přihlášení a sshd. Nejprve otevřete a upravte soubor pro cílovou službu v /etc/pam.d/ adresář, jak je znázorněno.

$ sudo vim /etc/pam.d/login
OR
sudo vim /etc/pam.d/sshd

Dále přidejte konfiguraci níže do obou souborů.

auth    required       pam_listfile.so \
        onerr=succeed  item=user  sense=deny  file=/etc/ssh/deniedusers

Až budete hotovi, uložte a zavřete každý soubor. Poté vytvořte prostý soubor /etc/ssh/deniedusers který by měl obsahovat jednu položku na řádek a neměl by být světově čitelný.

Přidejte do něj kořenový název, poté jej uložte a zavřete.

$ sudo vim /etc/ssh/deniedusers

Také pro to nastavte požadovaná oprávnění.

$ sudo chmod 600 /etc/ssh/deniedusers

Tato metoda ovlivní pouze programy a služby, které znají PAM. Můžete blokovat root přístup k systému přes ftp a e-mailové klienty a další.

Další informace naleznete na příslušných manuálových stránkách.

$ man pam_securetty
$ man sshd_config
$ man pam

To je vše! V tomto článku jsme vysvětlili čtyři způsoby, jak zakázat přihlášení (nebo účet) uživatele root v Linuxu. Máte nějaké připomínky, návrhy nebo dotazy, neváhejte nás kontaktovat prostřednictvím formuláře zpětné vazby níže.


Linux
  1. Úvod do monitorování uživatelských účtů v Linuxu

  2. Jak přizpůsobit uživatelská prostředí Linuxu

  3. Zakažte přihlášení pomocí účtu root

  1. Metody deaktivace účtu root v systému Linux Ubuntu 20.04 LTS

  2. Povolte a zakažte účet uživatele root na Ubuntu 20.04 – Udělejte to nyní?

  3. Jak zakázat vzdálené přihlášení pro uživatele root na počítači se systémem Linux

  1. 11 způsobů, jak najít informace o uživatelském účtu a přihlašovací údaje v systému Linux

  2. Nainstalujte WordPress na uživatelský účet jako root

  3. Nelze odemknout linuxový uživatelský účet