Я настроил машину 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, работающим как демон. Но я также не знаю, что такого особенного в моей конфигурации. Так что любые дальнейшие идеи по диагностике этого будут приветствоваться!
решение1
Я столкнулся с похожей проблемой с SELinux и MySQL. Запуск 'semodule -B -D' сбросил настройки до состояния, когда я мог видеть оставшиеся проблемы аудита.
Первоначальный вопрос:здесь.