Product SiteDocumentation Site

5.10.3. Изменение контекста SELinux по умолчанию

Use the /usr/sbin/matchpathcon command to check if files and directories have the correct SELinux context. From the matchpathcon(8) manual page: "matchpathcon queries the system policy and outputs the default security context associated with the file path."[11]. The following example demonstrates using the /usr/sbin/matchpathcon command to verify that files in /var/www/html/ directory are labeled correctly:
  1. От имени пользователя root, выполните команду touch /var/www/html/file{1,2,3} для создания трёх файлов (file1, file2, и file3). Эти файлы наследуют тип httpd_sys_content_t от каталога /var/www/html/:
    # touch /var/www/html/file{1,2,3}
    # ls -Z /var/www/html/
    -rw-r--r--  root root unconfined_u:object_r:httpd_sys_content_t:s0 file1
    -rw-r--r--  root root unconfined_u:object_r:httpd_sys_content_t:s0 file2
    -rw-r--r--  root root unconfined_u:object_r:httpd_sys_content_t:s0 file3
    
  2. От имени пользователя root, выполните команду chcon -t samba_share_t /var/www/html/file1 для изменения типа файла file1 на samba_share_t. Примечание: Apache HTTP Server не может читать файлы и каталоги помеченные типом samba_share_t.
  3. Опция /usr/sbin/matchpathcon -V сверяет текущий контекст SELinux с корректным, контекстом по-умолчанию в политике SELinux. Выполните команду /usr/sbin/matchpathcon -V /var/www/html/* для проверки всех файлов в каталоге /var/www/html/:
    $ /usr/sbin/matchpathcon -V /var/www/html/*
    /var/www/html/file1 has context unconfined_u:object_r:samba_share_t:s0, should be system_u:object_r:httpd_sys_content_t:s0
    /var/www/html/file2 verified.
    /var/www/html/file3 verified.
    
Ниже показан вывод команды /usr/sbin/matchpathcon. объясняющий, что file1 помечен типом samba_share_t, а должен быть помечен типом httpd_sys_content_t:
/var/www/html/file1 has context unconfined_u:object_r:samba_share_t:s0, should be system_u:object_r:httpd_sys_content_t:s0
Для решения проблемы и предоставления доступа Apache HTTP Server к file1, от имени пользователя root, выполните команду /sbin/restorecon -v /var/www/html/file1:
# /sbin/restorecon -v /var/www/html/file1
restorecon reset /var/www/html/file1 context unconfined_u:object_r:samba_share_t:s0->system_u:object_r:httpd_sys_content_t:s0


[11] The matchpathcon(8) manual page, as shipped with the libselinux-utils package in Fedora, is written by Daniel Walsh. Any edits or changes in this version were done by Murray McAllister.