Перезапустите rspamd.service как не-root пользователь.

Перезапустите rspamd.service как не-root пользователь.

У меня есть веб-страница с кнопкой, когда пользователь нажимает на кнопку, restart.shвыполняется скрипт на сервере. Этот скрипт содержит:

#!/bin/bash
systemctl restart rspamd.service

После нажатия на кнопку restart.shвыполняется, но rspamd.service не перезапускается:«Не удалось перезапустить rspamd.service: Доступ запрещен»Поскольку скрипт выполняется нажатием кнопки на веб-странице, реальный пользователь, который запускает его на сервере, — www-data. Я пытался установить бит suid для запуска скрипта от имени пользователя root, но это не работает. Как мне перезапустить rspamd.service от имени www-dataпользователя?

решение1

Решено ссудо. Я пробовал раньше, но я написал в неправильном порядке. Редактироватьsudoersи visudoдобавьте это в конец файла:

www-data ALL = NOPASSWD: /bin/systemctl restart rspamd.service

Тогда я смогу просто бежать sudo systemctl restart rspamd.serviceи все будет хорошо. Спасибо.

Связанный контент