获取用户可以从 /etc/sudoers 运行的命令?

获取用户可以从 /etc/sudoers 运行的命令?

sudo我需要一个可以在本地执行的 shell (ksh) 脚本,该脚本将返回有权访问服务器的用户列表以及他们可以运行的命令。

例如,我想知道用户“mfly”可以运行/etc/init.d/mysqld.

我正在尝试使其尽可能与系统无关,因为我正在使用从 Solaris 9 到 HP/UX 以及基于 Debian 的系统的所有系统。如果我能在什么系统上找到正确的方向,我相信我可以让它变得可移植。

答案1

当用户调用时,sudo -l它会列出 sudo 将允许他们执行的操作,因此您可以运行一个脚本,root通过 /etc/passwd 和 sudo 传递给每个用户,调用sudo -l,将输出定向到/tmp/${USER}_sudo_i_can_do.txt

但如果你没有 root 访问权限,你将无法做你想做的事情;权限列表只能由 root 读取。并且用户只能看到自己的权限。

相关内容