Проведя некоторые исследования самостоятельно, я исследовал различия между ними с помощью sesearch
команды:
$ sesearch --allow -s httpd_t -b httpd_read_user_content
Найдено 5 семантических правил:
allow httpd_t user_home_dir_t: dir {ioctl read getattr lock search open}};
allow httpd_t user_home_t: file {ioctl read getattr lock open};
allow httpd_t user_home_t: dir {ioctl read getattr lock search open open};
allow httpd_t home_root_t: dir {getattr search open};
allow httpd_t home_root_t: lnk_file {read getattr};
$ sesearch --allow -s httpd_t -b httpd_enable_homedirs
Найдено 15 семантических правил:
allow httpd_t user_home_dir_t: dir {ioctl read getattr lock search open}};
allow httpd_t user_home_dir_t: lnk_file {read getattr};
allow httpd_t autofs_t: dir {ioctl read getattr lock search open}};
allow httpd_t cifs_t: file {ioctl read getattr lock open};
allow httpd_t cifs_t: dir {ioctl read getattr lock search open}};
allow httpd_t cifs_t: lnk_file {read getattr};
allow httpd_t nfs_t: file {ioctl read getattr lock open};
allow httpd_t nfs_t: dir {ioctl read getattr lock search open}};
allow httpd_t nfs_t: lnk_file {read getattr};
allow httpd_t user_home_t: file {ioctl read getattr lock open};
allow httpd_t user_home_t: dir {ioctl read getattr lock search open open};
allow httpd_t user_home_type: dir {getattr search open};
allow httpd_t user_home_type: lnk_file {read getattr};
allow httpd_t home_root_t: dir {ioctl read getattr lock search open}};
allow httpd_t home_root_t: lnk_file {read getattr};
Все правила http_read_user_content
включены в httpd_t -b httpd_enable_homedirs
. То есть сфера охвата последнего шире, чем первого.
Как правильно сказал Майкл, мы должны включить только первый, если мы просто хотим разместить корневой каталог документа в домашнем каталоге пользователя.