如何允许非root用户使用实例控制systemd服务?
我需要允许dba组中的用户控制database@服务。这个相关问题的答案是仅列出systemctl我要允许在sudoers文件中使用的所有“动词” ,但是,这不适用于我的情况,因为我事先不知道系统中可能存在哪些数据库。例如,如果我列出 %dba = /usr/bin/systemctl start database@awsesomeapp %dba = /usr/bin/systemctl start database@anotherawsesomeapp %dba = /usr/bin/systemctl start database@yetanotherawsesomeapp %dba = /usr/bin/systemctl start database@wowyetanotherawsesomeapp # ... other "verbs" omitted for brevity 它不包括将来可能存在的实例,因此dba将无法 $ sudo systemctl start database@omgwowyetanotherawsesomeapp 无论如何,我在包装方面的想法比在特定系统上的想法更多。 请注意,正如对另一个相关问题的惊人回答所示,为此使用sudo glob最终是不安全的: %dba ALL = /usr/bin/systemctl start database@[a-z]* # UNSAFE! 确实允许 $ sudo systemctl …