Результатом должно быть добавление некоего IP адреса в таблицу iptables, но это не происходит. Другие команды спокойно выполняются, например top работает отлично. Iptables работает корректно из консоли, всё отлично добавляется. Этот же код кстати корректно работает на другом сервере с такими же настройками как и тот на котором не получается его выполнить. Никаких ошибок не выводится, про права ничего не пишется. Что можно попробовать? Куда копать?
Но вы не написали: "Другие команды из-под sudo выполняются через exec()". exec('sudo top'); и exec('top') - две большие разницы. Так что вопрос актуален.