Рейтинг:0

Как установить SELINUX HTTPD User Content RW?

флаг th

Я новичок в SELINUX, у меня простой вопрос, я знаю, что есть httpd_sys_rw_content_t для /var/www/html и только для чтения httpd_user_content_t, но если я хочу, чтобы какая-то папка была RW только для этого пользователя, есть ли какие-либо httpd_user_rw_content_t ? Или я должен использовать httpd_sys_rw_content_t контекст для этого конкретного пользователя? Спасибо.

Рейтинг:0
флаг jo

Типы в SELinux не связаны с управлением пользователями так, как, как я думаю, вы думаете.

Тип SELinux для httpd_user_content_rw_t не имеет никакого отношения к его работе против конкретного пользователя. Этот тип действительно предназначен для условий, при которых пользователь имеет какой-либо корень веб-документа.

Скажем, например, в apache, если вы используете mod_userdir вы можете иметь http://website.com/~myuser как действующая ссылка.

В этом случае httpd_user_rw_content_t тип относится к данным, которые будут существовать в пути для этого пользовательского каталога.

Вместо того, чтобы рассматривать, какой конкретный пользователь имеет доступ, подумайте о куда данные сохраняются. В твоем случае /var/www/html считается системным путем для корня документа и в этой позиции должен быть помечен httpd_sys_content_rw_t.

Если вы хотите создать папку rw только для определенного пользователя (в традиционном смысле unix u/g/o), тогда просто chown/chgrp/chmod по мере необходимости, чтобы получить элементы управления доступом, которые вы хотите применить.

Benyamin Limanto avatar
флаг th
Хм, я думаю, вы неправильно поняли мой вопрос, например, с моим разрешением на файл все в порядке, просто я хочу предоставить только эту конкретную папку для fpm / любого веб-процесса, который помечен контекстом httpd, чтобы иметь возможность касаться этой папки. Могу ли я предположить, что могу использовать `httpd_sys_rw_content_t` или мне следует использовать другой контекст? поскольку мы знаем, что `httpd_user_rw_content_t` вообще не существует. Я предполагаю, что selinux использовался для предотвращения каких-то неприятных вещей, поэтому мне нужна двойная защита, с selinux и нормальным/acl-разрешением.
Matthew Ife avatar
флаг jo
Если вы хотите, чтобы этот файл был доступен для записи каким-либо внешним процессом CGI, который обрабатывает тип SELinux, вам потребуется доступ для чтения/записи к целевому типу. Вы можете запустить `search -s source_type -t target_type -A`, чтобы определить это. Но в целом системные пути все равно следует указывать как sys_content_rw_t.
Benyamin Limanto avatar
флаг th
О, тогда какой-нибудь общий системный путь, который позволяет записывать cgi, использует `httpd_sys_content_rw_t`? Хм. Хорошо. Спасибо.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.