sudoers 条目

sudoers 条目

有没有办法让 sudoers 条目只允许执行特定命令,而无需任何额外参数?我似乎找不到描述命令匹配如何与 sudoers 配合使用的资源。

假设我想授予 sudo /path/to/executable arg

是否输入如下内容:

user ALL=(ALL) /path/to/executable arg

是否严格允许 sudo 访问与该命令完全匹配的命令?也就是说,它不授予用户 sudo 权限/path/to/executable arg arg2

答案1

man sudoers我在 Cmnd_List 定义附近找到以下内容:

 A simple filename allows the user to run the command with any arguments
 he/she wishes.  However, you may also specify command line arguments
 (including wildcards).  Alternately, you can specify "" to indicate
 that the command may only be run without command line arguments.

这似乎意味着明确允许“arg”将禁止“arg arg2”。另一方面,我发现 sudoers 文件在不同的操作系统(例如 Linux 和 Solaris)上的处理方式存在一些不一致。因此您应该针对自己的环境进行测试。

一个有点丑陋的解决方法:创建一个单独的可执行脚本,仅使用所需的参数运行指定的命令,并授予该脚本而不是原始命令的 sudo 访问权限。

 #!/bin/bash
 /path/to/executable arg

相关内容