Назад | Перейти на главную страницу

Настройте SElinux, чтобы разрешить rsync с удаленного компьютера

Я установил машину Debian с SElinux и кроме rsync с удаленной машины все работает нормально. Я уже создал какой-то модуль с дополнительными правами, используя audit2allow, и теперь все ошибки в журнале аудита исчезли. Когда я пытаюсь выполнить rsync на машине, но, к сожалению, соединение все еще не разрешено. Установив selinux на permissive, все работает, как ожидалось.

Я не запускаю rsync в качестве демона, который обычно вызывает больше проблем, согласно отчетам о проблемах в сети. rsync просто находится в конфигурации Debian 7 по умолчанию.

Удаленный rsync не работает с этим сообщением:

user1@othermachine:~$ rsync -vv servermachine:/home/user1/some/file .
opening connection using: ssh servermachine rsync --server --sender -vve.Lsf . /home/user1/some/file 
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [Receiver=3.0.9]

Вот так выглядят права на rsync:

root@host:~# ls -Z /usr/bin/rsync
system_u:object_r:rsync_exec_t:SystemLow /usr/bin/rsync

Когда я запускаю удаленный rsync и сервер в разрешающем режиме, я вижу процесс следующим образом:

root@host:~# ps aux|grep rsync
user1   22948  1.0  0.0  26680  5156 ?        Ds   11:08   0:00 rsync --server --sender -vlogDtpre.iLsf . /home/user1/some/file
root     22954  0.0  0.0  11292   924 pts/0    S+   11:09   0:00 grep rsync

root@host:~# ps -eZ | grep rsync
unconfined_u:system_r:rsync_t:s0-s0:c0.c1023 22948 ? 00:00:00 rsync

scp например без проблем работает с тем же файлом. Дополнительные права, которые я уже дал rsync, выглядят следующим образом. Я не уверен, слишком ли они щедры или что-то в этом роде, но они, по крайней мере, исправили проблемы, появляющиеся в audit.log.

allow rsync_t user_home_t:file { read write getattr open };
allow rsync_t sshd_t:fifo_file { write read };
allow setfiles_t device_t:filesystem getattr;
allow setfiles_t devpts_t:filesystem getattr;
allow setfiles_t tmpfs_t:filesystem getattr;
allow setfiles_t sysfs_t:filesystem getattr;

Итак, что меня больше всего беспокоит, так это то, что я не вижу записей AVC, но он все еще не работает. Есть ли что-нибудь, чтобы увеличить многословие? Как это возможно, что некоторые права не предоставлены, но нет записи AVC? Во-вторых, я немного удивлен, что я не смог найти в сети никакой ссылки на проблему, только проблемы с запуском selinux / rsync как демона. Но я бы также не знал, что такого особенного в моей конфигурации. Так что любые дальнейшие идеи по поводу диагностики приветствуются!

Я столкнулся с аналогичной проблемой с SELinux и MySQL. Выполнение «semodule -B -D» сбрасывает все, чтобы я мог видеть оставшиеся проблемы аудита.

Исходный вопрос Вот.