使用“sudo -l -u -U cmd”查询 sudoers 检查权限是否始终有效?

使用“sudo -l -u -U cmd”查询 sudoers 检查权限是否始终有效?

场景:我的 shell 运行为user_A.我想检查是否user_B有权限运行该命令sample_cmduser_C

我正在使用sudo -n -l -u user_C -U user_B sample_cmd来实现这一点。所有用户都没有 root 权限。

这总是有效吗?还是我错过了可能失败的情况?

答案1

其中之一,手册页说-U

安全策略可能会限制列出其他用户的权限。 sudoers 策略仅允许 root 或当前主机上具有 ALL 权限的用户使用此选项。

user_A因此,如果没有足够的权限,它似乎会失败。

例如我得到

$ sudo -l -u foo -U root ls
Sorry, user ilkkachu is not allowed to execute '/bin/ls' as root on thishost.

该错误消息也有点令人困惑,因为它指的是不允许我运行该命令,而不是指是否foo允许用户运行该命令。

相关内容