问题原因: - sudoers 只配置了 /bin/systemctl 路径 - 部分系统(如 Ubuntu 22.04+)的 systemctl 位于 /usr/bin/systemctl - 路径不匹配导致 sudo 仍然需要密码 修复内容: - 同时支持 /bin/systemctl 和 /usr/bin/systemctl 两个路径 - 兼容 Debian/Ubuntu 和 RHEL/CentOS 等不同发行版
18 lines
811 B
Plaintext
18 lines
811 B
Plaintext
# Sudoers configuration for Sub2API
|
|
# This file allows the sub2api service user to restart the service without password
|
|
#
|
|
# Installation:
|
|
# sudo cp sub2api-sudoers /etc/sudoers.d/sub2api
|
|
# sudo chmod 440 /etc/sudoers.d/sub2api
|
|
#
|
|
# SECURITY NOTE: This grants limited sudo access only for service management
|
|
|
|
# Allow sub2api user to restart the service without password
|
|
# Support both /bin/systemctl (Debian/Ubuntu) and /usr/bin/systemctl (RHEL/CentOS)
|
|
sub2api ALL=(ALL) NOPASSWD: /bin/systemctl restart sub2api
|
|
sub2api ALL=(ALL) NOPASSWD: /bin/systemctl stop sub2api
|
|
sub2api ALL=(ALL) NOPASSWD: /bin/systemctl start sub2api
|
|
sub2api ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart sub2api
|
|
sub2api ALL=(ALL) NOPASSWD: /usr/bin/systemctl stop sub2api
|
|
sub2api ALL=(ALL) NOPASSWD: /usr/bin/systemctl start sub2api
|