SELinux znamená „Security-Enhanced Linux “. Standardní zabezpečení Linuxu je založeno na Discretionary Access Control (DAC). S DAC je přístup k souborům a zařízením založen výhradně na identitě a vlastnictví uživatele. Každý soubor může mít oprávnění ke čtení, zápisu a spouštění pro vlastníka souboru, pro skupinu a pro ostatní uživatele.
SELinux byl vytvořen americkou Národní bezpečnostní agenturou, aby poskytoval jemnější úroveň kontroly nad soubory, procesy, uživateli a aplikacemi v systému. Jedná se o vylepšení linuxového jádra a implementuje jiný typ zabezpečení nazývaný Mandatory Access Control (MAC). Zásady MAC jsou spravovány centrálně, nikoli uživatelem.
SELinux běží v jednom ze tří režimů:
- Vynucování :Přístup je odepřen uživatelům a programům, pokud to nepovolují pravidla bezpečnostní politiky SELinux.
- Povolné :Pravidla bezpečnostní politiky nejsou vynucována, ale SELinux odesílá zprávy o zamítnutí do souboru protokolu.
- Zakázáno :SELinux nevynucuje bezpečnostní politiku, protože v jádře není zavedena žádná politika. Pro řízení přístupu se používají pouze pravidla DAC.
Zobrazení režimu SELinux
Můžete použít stav příkaz k zobrazení režimu SELinux a také některých dalších informací o SELinuxu.
# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: enforcing Mode from config file: enforcing Policy MLS status: enabled Policy deny_unknown status: allowed Max kernel policy version: 28
Můžete použít getenforce příkaz pro zobrazení režimu SELinux. Tento příkaz zobrazí aktuální režim:„Vynucování “, „Povolné “,” nebo “Zakázáno "." Například:
# getenforce Enforcing
Změna režimu SELinux
Většinu času byste viděli, jak lidé mění režim „vynucování“ na „povolující“, aby vyřešili problém související s oprávněními k souboru/procesu. Toto není nejlepší postup, ale je to jeden z nejpoužívanějších a nejrychlejších způsobů, jak problém v Linuxu překonat. Pomocí příkazu setenforce můžete změnit režim buď na „Vynucování (1) “ nebo „Permisivní (0) “. Například:
# setenforce 0 # getenforce Permissive
Booleovské hodnoty
SELinux také poskytuje „Booleans “, které umožňují měnit části zásad SELinux za běhu, aniž by bylo nutné znovu načítat nebo znovu kompilovat zásady SELinux. Spuštěním následujícího příkazu můžete zobrazit seznam logických hodnot, informace o stavu a popis logických hodnot:
# semanage boolean -l SELinux boolean State Default Description privoxy_connect_any (on , on) Allow privoxy to connect any smartmon_3ware (off , off) Allow smartmon to 3ware mpd_enable_homedirs (off , off) Allow mpd to enable homedirs xdm_sysadm_login (off , off) Allow xdm to sysadm login ....
Stav konkrétní logické hodnoty můžete změnit na zapnuto nebo vypnuto pomocí setsebool příkaz. Chcete-li například zapnout ftp_home_dir Boolean:
# setsebool ftpd_use_nfs on
Použijte getsebool příkaz k zobrazení stavu konkrétního booleanu. Příklad:
# getsebool ftpd_use_nfs ftpd_use_nfs --> on