루트가 아닌 사용자로 rspamd.service를 다시 시작하십시오.

루트가 아닌 사용자로 rspamd.service를 다시 시작하십시오.

버튼이 있는 웹페이지가 있는데, 사용자가 버튼을 클릭하면 restart.sh서버의 스크립트가 실행됩니다. 이 스크립트에는 다음이 포함됩니다.

#!/bin/bash
systemctl restart rspamd.service

버튼을 클릭하면 restart.sh실행되지만 rspamd.service는 다시 시작되지 않습니다."rspamd.service를 다시 시작하지 못했습니다: 액세스가 거부되었습니다"웹페이지에서 버튼을 클릭하면 스크립트가 실행되기 때문에 서버에서 이를 실행하는 실제 사용자는 입니다 www-data. 스크립트를 루트로 실행하기 위해 suid 비트를 설정하려고 했지만 작동하지 않습니다. 사용자 로 rspamd.service를 어떻게 다시 시작할 수 있나요 www-data?

답변1

다음으로 해결됨sudo. 예전에 시도해봤는데 순서를 잘못 썼네요. 편집하다sudoers이것을 사용하여 visudo파일 끝에 추가하십시오.

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

그러면 그냥 달릴 수 있고 sudo systemctl restart rspamd.service모든 것이 잘 될 것입니다. 감사해요.

관련 정보