Здравтвуйте. Написал простенький скрипт execipt.sh, вот кусочек из него:
-------------------------------------------
#!/bin/sh
sudo /sbin/iptables -I INPUT -s $REMOTE_ADDR -p tcp --match multiport --dports 1\:65535 -j DROP
-------------------------------------------
Его права и SELinux:
$ ls -alrZ execipt.sh
-rwxr-xr-x root root system_u:object_r:httpd_sys_content_t execipt.sh
В файле /etc/sudoers есть запись
apache ALL=(ALL) NOPASSWD: /sbin/iptables -I INPUT -s * -p tcp --match multiport --dports 1\:65535 -j DROP
До этого момента все работает. Апач запускает скрипт, команда из скрипта разрешена на выполнение в sudoers, срабатывает без ошибок
Все работает при условии если SELinux в файле /etc/sysconfig/selinux стоит как permissive. Само собой выключать SELinux не есть гуд
Вопрос: как запустить всю эту кухню с включенным (enforcing) SELinux
Да, еще, когда он включен, вылетает ошибка:
sudo: unable to change to sudoers gid: Operation not permitted
Буду рад услышать любые идеи
CentOS 5.4 iptables v1.3.5
Форум —
Admin


