/run/resolvconf/resolv.conf было отказано в доступе в режиме SELinux Enforcing в Ubuntu 16.04

Я запускаю Ubuntu Xenial 16.04 в AWS EC2, я установил SELinux и изменил его режим на Enforcing. Я настроил тип selinux ssh_port_t на порт 22. Хотя я создал перенаправление портов через ssh, я обнаружил, что туннель не работает должным образом.

В файле журнала /var/log/syslog он выдает

kernel: [ 311.860046] audit: type=1400 audit(1519664302.158:506): avc: denied { getattr } for pid=1367 comm="sshd" path="/run/resolvconf/resolv.conf" dev="tmpfs" ino=267 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:init_var_run_t:s0 tclass=file permissive=0

Команда SELinux запретила sshd /run/resolvconf/resolv.conf

$ readlink -f /etc/resolv.conf /run/resolvconf/resolv.conf $ ls -Z /etc/resolv.conf unconfined_u:object_r:etc_t:SystemLow /etc/resolv.conf $ ls -Z /run/resolvconf/resolv.conf system_u:object_r:init_var_run_t:SystemLow /run/resolvconf/resolv.conf

Файл /run/resolvconf/resolv.conf по умолчанию init_var_run_t, я попытался изменить его, чтобы ввести default_t, var_run_t, sshd_var_run_t с помощью команды

# sudo semanage fcontext -a -t $TYPE /var/run/resolvconf/resolv.conf sudo semanage fcontext -m -t $TYPE /var/run/resolvconf/resolv.conf sudo restorecon -F -R /run/resolvconf/resolv.conf

Когда я изменил ее на sshd_var_run_t, туннель работает. Но другая утилита также должна использовать файл /run/resolvconf/resolv.conf, например.

Если я изменил режим SELinux на разрешающий, туннель работал хорошо, SELinux только записывал информацию в системный журнал.

Но мое требование чтобы система работала хорошо в режиме Enforcing. Как я должен работать с файлом /run/resolvconf/resolv.conf или что делать, чтобы решить проблему.

0
задан 26 February 2018 в 23:12

0 ответов

Другие вопросы по тегам:

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