GNU/Linux >> Znalost Linux >  >> Cent OS

Porozumění označování souborů SELinux a kontextu SELinux

Označení souborů SELinux

Všechny soubory, adresáře, zařízení a procesy mají přidružený bezpečnostní kontext (nebo štítek). U souborů je tento kontext uložen v rozšířených atributech systému souborů. Problémy se SELinuxem často vznikají z nesprávného označení souborového systému. Pokud se zobrazí chybová zpráva obsahující file_t , což je obvykle dobrý indikátor toho, že máte problém s označováním systému souborů.

Existuje několik způsobů, jak přejmenovat systém souborů:

  • Vytvořte soubor /.autorelabel a restartujte počítač.
  • Zobrazení stavu v GUI SELinux poskytuje možnost přejmenování při příštím restartu.
  • Tři obslužné programy příkazového řádku, restorecon, setfiles a fixfiles, soubory přejmenování.

Kontext SELinux

Kontext SELinux obsahuje další informace, jako je uživatel SELinux, role, typ a úroveň. Rozhodnutí o řízení přístupu k procesům, uživatelům Linuxu a souborům jsou založena na těchto kontextových informacích. Řízení přístupu je založeno na níže uvedených informacích:

  • Uživatel SELinux :Uživatelé Linuxu jsou mapováni na uživatele SELinux.
  • Role :Atribut RBAC, který funguje jako prostředník mezi doménami a uživateli SELinux
  • Typ :Atribut TE, který definuje doménu pro procesy
  • Úroveň :Volitelné Informace; atribut MLS a MCS

Zobrazení kontextových informací SELinux

Zobrazení kontextových informací SELinux o souborech
Chcete-li zobrazit kontextové informace systému souborů z příkazového řádku, použijte „ls –Z ” příkaz:

# ls -Z
-rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg
-rw-r--r--. root root system_u:object_r:admin_home_t:s0 initial-setup-ks.cfg
POZNÁMKA :Tyto informace jsou také uloženy v adresáři /etc/selinux/[SELINUXTYPE]/contexts/files.

Zobrazení kontextových informací SELinux o procesech
Chcete-li zobrazit kontextové informace SELinux o procesech, použijte „ps –Z ” příkaz:

# ps -Z
LABEL                              PID TTY          TIME CMD
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 6617 pts/0 00:00:00 sudo
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 6623 pts/0 00:00:00 su
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 6624 pts/0 00:00:00 bash
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 8188 pts/0 00:00:00 ps

Zobrazení kontextových informací SELinux o uživatelích
Chcete-li zobrazit kontext SELinux spojený s vaším uživatelem systému Linux, použijte „id –Z ” příkaz:

# id -Z
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

Kontext SELinux je zobrazen pomocí následující syntaxe:

user:role:type:level

Změna typu kontextového souboru

Obrazy disků virtuálního počítače KVM se vytvářejí v /var/lib/libvirt/images adresář ve výchozím nastavení. SELinux vyžaduje, aby obrazové soubory měly virt_image_t štítek aplikovaný na ně. Pomocí příkazu „ls –dZ“ můžete potvrdit, že tento štítek je použit pro adresář /var/lib/libvirt/images:

# ls -dZ /var/lib/libvirt/images
drwx--x--x. root root system_u:object_r:virt_image_t:s0 /var/lib/libvirt/images

Pro obrazy virtuálního počítače můžete použít jiný adresář, ale musíte nový adresář přidat do zásad SELinux a nejprve jej přejmenovat. Následující kroky se používají k přidání adresáře /kvmimages do cílené zásady SELinux a přejmenování adresáře:

# semanage fcontext -a -t virt_image_t "/kvmimages(/.*)?"

Výše uvedený příkaz přidá adresář /kvmimages do zásady SELinux připojením řádku k následujícímu souboru:

# cat /etc/selinux/targeted/contexts/files/file_contexts.local
/kvmimages(/.*)?    system _u:object_r:virt_image_t:s0

Stále musíte nastavit nový kontext zabezpečení pro adresář a všechny soubory v adresáři. Ke změně kontextů SELinux v adresáři /kvmimages můžete použít kterýkoli z následujících příkazů:

  • soubory oprav :Opravuje kontext zabezpečení v souborových systémech
  • obnovení :Obnoví kontext zabezpečení u jednoho nebo více souborů
  • setfiles :Inicializuje kontext zabezpečení u jednoho nebo více souborů

Každý z těchto příkazů čte soubory v /etc/selinux/targeted/contexts/files adresář. Následující příklad ukazuje kontexty SELinux před spuštěním příkazu restorecon:

# ls -dZ /kvmimages
drwx--x--x. root root system_u:object_r:unlabeled_t:s0 /var/lib/libvirt/images

Všimněte si, že typ SELinux je nastaven na unlabeled_t . Následující příklad spustí příkaz restorecon pro změnu typu, jak je definován v /etc/selinux/targeted/contexts/files/file_contexts.local soubor:

# restorecon -R -v /kvmimages
# ls -dZ /var/kvmimages
drwx--x--x. root root system_u:object_r:virt_image_t:s0 /kvmimages

Existují také SELinux Booleans, které ovlivňují KVM při spuštění libvirt. Dva z těchto booleovských hodnot jsou uvedeny následovně:

  • virt_use_nfs :Povolit virtu spravovat soubory NFS.
  • virt_use_samba :Povolit virtu spravovat soubory CIFS.

Tyto logické hodnoty je třeba povolit, když používáte sdílené složky NFS nebo SAMBA pro ukládání obrazů disků virtuálních strojů. Existují další SELinux Booleans, které ovlivňují KVM. Některé z nich jsou uvedeny následovně:

# getsebool -a | grep virt
staff_use_svirt --> off
unprivuser_use_svirt --> off
virt_read_qemu_ga_data --> off
virt_rw_qemu_ga_data --> off
virt_sandbox_use_all_caps --> on
virt_sandbox_use_audit --> on
virt_sandbox_use_fusefs --> off
virt_sandbox_use_mknod --> off
virt_sandbox_use_netlink --> off
virt_sandbox_use_sys_admin --> off
virt_transition_userdomain --> off
virt_use_comm --> off
virt_use_execmem --> off
virt_use_fusefs --> off
virt_use_nfs --> on
virt_use_rawip --> off
virt_use_samba --> off
virt_use_sanlock --> off
virt_use_usb --> on
virt_use_xserver --> off
Co jsou uživatelé SELinuxu a jak mapovat uživatele Linuxu na uživatele SELinux


Cent OS
  1. Přesměrování a výstup potrubí?

  2. Rozumíte Tc Qdisc a Iperf?

  3. Pochopení nástroje logrotate

  1. Instalace a konfigurace vsFTPD

  2. Pochopení SELinux Booleans

  3. Pochopení zásad SELinux v Linuxu

  1. Linux – Rozumíte unixovým oprávněním a typům souborů?

  2. Pochopení časových razítek souborů Mac

  3. Pochopení oprávnění UNIX a typů souborů