Мне нужен персонал службы поддержки, чтобы открывать бреши в брандмауэре через Интернет. Я знаю, что это кошмар с разрешениями, но я должен это сделать. Я дошел до создания программы на perl, которая может это сделать, но когда я запускаю команду iptables-restore из сценария perl, запущенного из apache через Интернет, я получаю:
FATAL: Module ip_tables not found. ...
iptables-restore v1.4.3.1:
iptables-restore: unable to initialize table 'filter' ...
Я все время использую iptables на этом ящике, но, очевидно, без модуля ip_tables. Если я запускаю тот же сценарий из консоли как root, проблем не будет. Любая помощь приветствуется.
Для этого я бы развернул WebMin.
Я бы предложил запустить perl-скрипт с помощью lighthttpd или чего-то подобного, которое будет настроено для работы с правами root, а не с apache, а также прослушивать нестандартный порт, например 12345.
Вот как настроить lighthttpd с помощью perl: http://www.cyberciti.biz/tips/lighttpd-howto-setup-cgi-bin-access-for-perl-programs.html
Также не забудьте закомментировать server.username и server.groupname в lighthttpd.
Чтобы немного улучшить безопасность, было бы хорошо ввести хотя бы HTTP-аутентификацию и ограничить IP-адреса, которые могут получить доступ к этому порту.