У меня есть Ожидать сценарий, который хорошо работает, если я выполняю его вручную, но сбои, когда выполнено как действие от Fail2ban. Сообщение об ошибке следующие:
spawn /usr/bin/telnet 192.168.242.1
The system has no more ptys. Ask your system administrator to create more.
while executing
"spawn /usr/bin/telnet $hostname"
С соответствующим сообщением в audit.log:
type=AVC msg=audit(1407894085.867:54862): avc: denied { read write } for pid=14748 comm="ciscoacl.exp" name="ptmx" dev=devtmpfs ino=5288 scontext=unconfined_u:system_r:fail2ban_t:s0 tcontext=system_u:object_r:ptmx_t:s0 tclass=chr_file
Сценарий работает как корень (подтвержденный путем выполнения whoami
из сценария), таким образом, я ожидал не иметь любые проблемы. Что, во всяком случае, я могу сделать для фиксации этого? (Нет, я не хочу отключать SELinux!)
Я не думаю, что сам сценарий имеет значение здесь, но я могу отправить его в случае необходимости.
Вы должны будете сделать пользовательскую политику с audit2allow, чтобы позволить fail2ban читать запись в chr_file. Возможно, это будет выглядеть следующим образом:
require {
type ptmx_t;
type fail2ban_t;
class chr_file { read write };
}
#============= fail2ban_t ==============
allow fail2ban_t ptmx_t:chr_file { read write };
Вы уверены, что больше нет отрицаний?
.