Безопасно ли делать 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 (они почти наверняка не будут).