У нас есть rsyncd, работающий как демон на наших интерфейсных веб-серверах. Мы отправляем обновления веб-приложений через rsync.
Мы стремимся снизить уровень шума в auditd и исправить некоторые проблемы с SELinux (чтобы однажды мы могли правильно его включить).
На данный момент при запуске rsync мы получаем следующие сообщения:
type=AVC msg=audit(1580772908.749:172148): avc: denied { write } for pid=33806 comm="rsync" path="/public_html/docs/cg/html/1/.file.html.o9GVX9" dev="sda3" ino=37341 scontext=system_u:system_r:rsync_t:s0-s0:c0.c1023 tcontext=system_u:object_r:httpd_user_content_t:s0 tclass=file permissive=1
Как я могу разрешить rsync записывать в эти файлы с помощью SELinux?
У вас есть разные варианты; от более простого (но более грубого) к более сложному (но более конкретному):
setsebool -P rsync_full_access 1
: предоставить rsync полный доступ к файловой системе;httpd
контекст файла для public_content_rw_t
;cat audit.log | audit2allow
.Наконец, вы также можете установить rsyncd
в разрешительном режиме выдача semanage permissive -a rsync_t
, но я настоятельно рекомендую избегать этого (не в последнюю очередь, потому что это не избавляет от журналов аудита selinux).
Я бы использовал первое решение, поскольку изменение логического значения selinux является наименее инвазивным, но более очевидным и немедленным изменением.