Příkaz chcon pomáhá změnit kontext SELinux nebo TYP toho, co bude nejčastěji jeden nebo možná někdy několik souborů, na které lze snadno odkazovat spolu s nějakou formou zástupného znaku. chcon spolu s semanage a restorecon lze použít k opravě nesprávného kontextu SELinux. Příkaz chcon můžete použít 2 způsoby, jak opravit nebo změnit kontext SELinux.
Ruční způsob zadání správného kontextu
Tímto způsobem můžeme použít -t možnost změnit kontext souboru. Tento způsob úpravy kontextu souboru se nedoporučuje, protože při jeho používání může dojít k chybám.
# chcon -t httpd_sys_content_t index.html
Ve výstupu ‚ls -Z‘ můžete vidět, že příkaz byl úspěšný.
# ls -Z -rw-rw-r--. apacheuser apacheuser unconfined_u:object_r:httpd_sys_content_t:s0 index.html
Referenční soubor se správným kontextem
Dalším způsobem, jak použít chcon, je odkazovat na soubor, který má správný kontext.
# chcon --reference some_file.html index.html
Použil jsem tedy –reference a zadal soubor, který jsem chtěl použít jako referenci. Soubor, který jsem chtěl změnit, je uveden na konci příkazu.
Příklady použití příkazu chcon
1. Změna typu webového adresáře
# chcon -R -t httpd_sys_content_t /web/
2. Chcete-li změnit kontext zabezpečení pomocí referenčního souboru:
# chcon --reference=/tmp/file2 /tmp/file2
3. Chcete-li rekurzivně nastavit kontext zabezpečení souborů:
# chcon -R httpd_sys_content_t /web/
4. Chcete-li změnit kontext zabezpečení uživatele souborů:
# chcon -u mike_u /file
5. Chcete-li změnit kontext zabezpečení role souborů:
# chcon -u object_r /file
6. Chcete-li změnit kontext zabezpečení typu souborů:
# chcon -u admin_home_t /file
7. Chcete-li změnit kontext zabezpečení na úrovni souborů:
# chcon -u s0 /file