Но, похоже, это не очень хорошо для безопасности.Любое другое, лучшее решение?
Да, это угроза безопасности.Я не знаю, насколько динамичной должна быть эта информация;если вы просто используете его время от времени и не возражаете, что он может быть немного устаревшим, вы можете написать cronjob, который выполнит команду и запишет вывод во временный файл, который может прочитать apache.
Если вам крайне необходимо, чтобы эта информация была точной на 100% и в режиме реального времени, вы можете выбрать другой способ определения количества новых сообщений.Если почтовый ящик читается с использованием, например, imap или чего-либо еще, в PHP есть функции, которые могут выполнять вычисления без необходимости использования sudo.В общем, мне все равно кажется, что это самый повторно используемый и «самый чистый» способ работы.
Добавление apache в файл sudo'ers - это риск для безопасности, но если вы добавите, он может толькоВыполните команду, которую хотите, чтобы она могла выполняться, как описано в Quillion, риски уменьшаются.