httpd не может записать в папку/файл из-за SELinux

Как я могу извлечь только строки со специальной строкой в нем?

Я только обращусь к этому. На Солярисе или системах HP-UX grep, egrep и fgrep существуйте как отдельные файлы и каждое использование различного алгоритма. Большинство дистрибутивов Linux просто имеет GNU grep и символьные ссылки на каждое из 3 имен. Если Вы не должны соответствовать шаблону метасимволу ('.* ', '?', и т.д.) в нем, просто соответствуют простой строке, затем fgrep будет, несомненно, работать быстрее. Даже если fgrep выполнения быстрее для Вас, 8 ГБ журнала являются очень большим количеством текста для обработки. Как насчет того, чтобы разделить его на меньший, файлы полуконцерта?

32
21.08.2017, 14:28
4 ответа

Ни один из них, по крайней мере, не отдельно. Необходимо или дать структуре каталогов контекст httpd_sys_rw_content_t, или дайте им контекст public_content_rw_t и включите allow_httpd_anon_write и/или allow_httpd_sys_script_anon_write. Посмотрите httpd_selinux(8) страница справочника для деталей.

35
27.01.2020, 19:37
  • 1
    Ну, я работал chcon -R -t httpd_sys_rw_content_t user и это работало. Просто немного взволнованный, потому что я заменил user_home_dir_t и последствия. –  Christian 12.10.2012, 01:41
  • 2
    Это заменяет существующий контекст. Но если Вы не выполняете строгую политику, это не имеет значения начиная с пользовательских процессов, выполненных в unconfined_t, который может получить доступ ко всем контекстам, учитывая соответствующее *, отклоняют полномочия. –  Ignacio Vazquez-Abrams 12.10.2012, 01:42
  • 3
    Привет Inacio. Хотя я теперь могу выполнить веб-сайт без любых проблем, я не могу загрузить по FTP, если я не установил chcon назад к user_home_dir_t. Любые другие идеи :) Я использую vsftpd. –  Christian 12.10.2012, 17:10
  • 4
    выполнил команду restorecon, и это теперь работает :) –  Christian 12.10.2012, 20:29
  • 5
    я работал chcon -R -t httpd_sys_rw_content_t /path и это работало, затем делало изменения персистентными с semanage fcontext -a -t httpd_sys_rw_content_t "/path(/.*)?" согласно документации –  DWils 26.05.2015, 23:27

Хотя лучше помечать файлы и папки с помощью httpd_sys_rw_content_t там, где это необходимо, для полноты картины я решил упомянуть, что вы также можно изменить seboolean httpd_unified на 1, чтобы SELinux игнорировал это конкретное требование контекста, что все же намного лучше, чем отключение SELinux, как советуют многие в Интернете.

На странице руководства:

httpd можно настроить так, чтобы не различать элементы управления файлами на основе контекста, то есть все файлы, помеченные как контекст httpd, могут быть прочитаны / записаны / exe - мило . Установка для этого логического значения false позволяет настроить политику безопасности таким образом, чтобы одна служба httpd не могла мешать работе другой.

setsebool -P httpd_unified 0

9
27.01.2020, 19:37
semanage permissive -a httpd_t

сделал трюк для меня

-3
27.01.2020, 19:37

В RedHat вы найдете очень хорошую документацию на selinux, 180-страничное руководство в формате .pdf, которое вы можете скачать, но лучший способ справиться с проблемами selinux - открыть терминал и ввести его, используя автоматизированные инструменты.

Попробуйте:

aureport -a (как root)

Затем повторите проблему, вызывающую поведение. Вы получите хорошее представление о проблеме и способах ее устранения (в моем случае это была папка, в которую apache не мог писать).

aureport запускает программу отчетов, которая предложит вам несколько альтернатив, если что-то пойдет не так. Их четко объясняют люди, говорящие по-английски. Я потратил часы на проблему с selinux, затем дошел до этой маленькой жемчужины в документации по redhat, и проблема была исправлена ​​за 30 секунд. Один из вариантов оказался правильным.

/ Len

3
20.08.2021, 13:21

Теги

Похожие вопросы