Я пишу приложение PHP и хочу иметь возможность добавлять новые списки в mailman, работающий на моем сервере ubuntu. По той или иной причине скрипту newlist mailman требуются привилегии root. Есть ли способ заставить новый список не требовать sudo? Очевидно, я не могу просто обойти sudo, но есть ли способ заставить это работать?
Спасибо, Даниэль
Я не понимаю, как вы думаете, что sudo будет препятствием. Вы можете указать это для конкретной команды и конкретного идентификатора пользователя, для которого не потребуется пароль:
username all = (root) NOPASSWD: specific-command
Если одна или ограниченное количество команд недоступны, запишите нужные функции и используйте их как команду sudo.
Другой альтернативой является создание определенных команд, необходимых как suid с правами root. Однако в зависимости от среды, в которой вы находитесь, может возникнуть угроза безопасности.
привилегии root?
По крайней мере, на Debian (на котором основана Ubuntu) Mailman работает как list
пользователь и группа по умолчанию, и когда я управляю списками из оболочки, я вхожу в систему как list
пользователь.
Я думаю, добавить вашего пользователя Apache в list
группы должно хватить.
Для большей безопасности вы также можете использовать что-то вроде suPHP и запустите своего пользователя управления списком как list
user, и пусть другие сценарии запускаются другим пользователем.