Rya*_*ull 6 permissions systemd
我在我的家庭服务器上设置了一个 minecraft 服务器,我想让我的任何朋友都能够自己 ssh 并启动服务器。但是,我不一定要授予他们 sudo 访问权限。
有没有办法可以将特定服务标记为可由任何人或特定组的成员启动或停止?
绝对地。虽然sudo
与作为 运行任何命令相关联root
,但它确实是一个灵活的系统,允许细粒度控制谁有权运行哪些特定命令。
例如,您可以创建一个名为的组minecraftstarters
并将您的所有朋友添加到该组中。然后您可以定义一个sudo
规则,该规则允许minecraftstarters
组中的任何人启动或重新启动 Minecraft,但不能sudo
用于其他任何事情。
然后在 中/etc/sudoers.d/minecraft
,您将添加如下语法:
Cmnd_Alias MINECRAFT_CMDS = /bin/systemctl start minecraft, /bin/systemctl restart minecraft
%minecraftstarters ALL=(ALL) NOPASSWD: MINECRAFT_CMDS
Run Code Online (Sandbox Code Playgroud)
现在您已经定义了minecraftstarters
组可以运行的一些命令sudo
(并且不需要额外的密码提示)。
提示:visudo -f /etc/sudoers.d/minecraft
用于编辑文件。它将在保存之前检查语法,避免您破坏sudo
配置的不幸状态,因此sudo
根本不起作用。