SELinux, což je zkratka pro Security Enhanced Linux, je další vrstva kontroly zabezpečení vytvořená pro systémy Linux. Původní verzi SELinuxu vyvinula NSA. Mezi další klíčové přispěvatele patří Red Hat, který to ve výchozím nastavení povolil ve své vlastní RHEL a jejích odvozených linuxových distribucích, včetně CentOS 7.
Přestože SELinux může chránit náš systém prostřednictvím řízení přístupu k programům a systémovým službám, není vždy nutné ji mít povolenou. Někteří uživatelé mohou dokonce zjistit, že narušuje určité programy, které se snaží nainstalovat. V tomto tutoriálu si projdeme pokyny krok za krokem k deaktivaci SELinuxu na CentOS 7 Linux.
V tomto tutoriálu se naučíte:
- Jak zkontrolovat stav SELinux
- Jak uvést SELinux do permisivního režimu
- Jak deaktivovat SELinux na CentOS 7
Kategorie | Požadavky, konvence nebo použitá verze softwaru |
---|---|
Systém | CentOS 7 |
Software | SELinux |
Jiné | Privilegovaný přístup k vašemu systému Linux jako root nebo prostřednictvím sudo příkaz. |
Konvence | # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel |
Jak zkontrolovat stav SELinux
Aktuální stav SELinuxu můžete kdykoli zkontrolovat provedením následujícího příkazu.
$ sestatus
Na našem systému CentOS 7 snímek obrazovky výše ukazuje, že „aktuální režim“ SELinuxu je vynucován.
Ještě jednodušší způsob, jak rychle zkontrolovat stav, je pomocí getenforce
příkaz, který vypíše pouze aktuální režim SELinuxu a nic jiného.
$ getenforce Enforcing
SELinux má tři možné režimy, které můžete vidět při spuštění příkazu. Jsou to:
- Vynucování – SELinux je aktivní a prosazuje svá pravidla.
- Permisivní – SELinux povoluje vše, ale zaznamenává události, které by normálně zamítl v režimu vynucení.
- Zakázáno – SELinux nevynucuje pravidla ani nic nezaznamenává.
Jak zakázat SELinux na CentOS 7 krok za krokem
V závislosti na vašich potřebách může deaktivace SELinuxu zahrnovat buď jeho změnu na permisivní režim, nebo jeho úplné zakázání.
Nastavení SELinuxu na permisivní režim deaktivuje všechny aspekty SELinuxu kromě protokolování zpráv. Aby se tato změna projevila, nemusíme restartovat náš systém a změnu můžeme provést provedením následujícího příkazu.
$ sudo setenforce 0 OR # setenforce 0
Změnu můžete ověřit opětovnou kontrolou aktuálního režimu SELinux, buď pomocí sestatus
nebo getenforce
příkaz.
Když restartujete systém, SELinux se vrátí zpět do režimu vynucení. Pokud chcete, aby změna byla trvalá, můžete pomocí následujících pokynů krok za krokem SELinux úplně deaktivovat nebo jej ponechat v permisivním režimu.
- Použijte nano nebo svůj oblíbený textový editor k otevření konfiguračního souboru SELinux umístěného v
/etc/selinux/config
. Budete to muset udělat pomocí účtu root nebo příkazu sudo.$ sudo nano /etc/selinux/config
- Změňte řádek SELINUX=enforcing buď na „permisivní“ nebo „deaktivovaný“, v závislosti na preferovaném nastavení. Poté po uložení změn tento soubor ukončete.
SELINUX=disabled
- Jakmile restartujete systém, SELinux bude zcela deaktivován. Chcete-li se vyhnout restartování nyní, spusťte
setenforce 0
příkaz, jak je vysvětleno výše, abyste získali okamžité výsledky, zatímco budete čekat do dalšího restartu.$ reboot
Úvahy na závěr
V tomto tutoriálu jsme viděli, jak deaktivovat SELinux na systému CentOS 7 Linux, a to jak nastavením aktuálního režimu na permisivní, tak úplným zakázáním SELinuxu. SELinux je užitečná funkce, která by měla být deaktivována pouze po předchozím zvážení nebo v testovacích prostředích.