Безопасно ли делать ssmtp SUID root?

Я использую ssmtp, и я бы не хотел, чтобы мой /etc/ssmtp/ssmtp.conf был доступен для чтения во всем мире, потому что он содержит пароль моего шлюза в открытом тексте. Но если это режим 600, то ssmtp запускается как непривилегированный пользователь с ошибками с "ssmtp: Cannot open mailhub:25", потому что он не может прочитать файл конфигурации.

В этой статье рекомендуется создать специального пользователя ssmtp и сделать его SUID, но прежде чем добавить такую ​​сложность в мой сценарий развертывания, я хочу спросить:

Безопасно ли (за исключением дыр в безопасности в ssmtp) просто сделать двоичный SUID ssmtp корневым, чтобы он мог прочитать файл конфигурации?

(Я знаю об опасности SUID в целом - пожалуйста, никаких общих ответов! Мой вопрос касается, в частности, ssmtp, потому что мне интересно, написан ли он с учетом безопасности для SUID-root).

1 ответ

Решение

Прочитать статью снова. Он не рекомендует запускать ssmtp от имени пользователя root. В нем говорится, чтобы файл был отдан специальному пользователю ssmtp и использовался SUID для запуска программы от имени этого пользователя. Это даже не близко к тому, что вы предлагаете.

Также: имейте в виду, что вы читаете руководство по FreeBSD; который не Linux. Не следует слепо предполагать, что эти указания будут работать для системы Linux (они почти наверняка не будут).

Другие вопросы по тегам