1
可以在sudo'ing之前检查sudo的功能吗?
我正在编写一个小型实用程序。我希望它可以尝试sudo在需要时运行某些程序。 那就是:如果文件许可不允许当前用户对特定文件进行操作(sudo规则会允许它),我希望我的实用程序以sudo文件所有者的身份运行某些文件。 我希望事先检查一下此功能,因为我希望系统日志不会充满sudo尝试失败带来的噪音。由于sudo自身故障时的报道:“这件事会报”。 因此,我希望以编程方式检查:可以通过?user <x>运行。command <y>sudo 问题在于:尽管/etc/sudoers包含该映射,但它是根目录拥有的,普通用户无法读取。 我正在考虑产生一个要运行的子进程sudo -l(该子进程输出当前用户可以sudo运行的命令)。然后,我将解析此输出。但是,这似乎有些脆弱。输出包含我想要的信息,但它似乎是供人类阅读的(而不是供程序使用)。我不知道是否可以保证将来输出的格式相同或跨平台使用。 以编程方式解析sudo -l输出是否安全?如果没有,是否有更好的选择来提前确定sudo命令是否成功? (X / Y上的背景:此实用程序供受限访问角色帐户使用。我希望其他一些用户有效地选择加入,以允许受限访问帐户通过sudo规则对其文件进行操作。但是,我赢了无法提前知道其他哪些用户已设置了相关的sudo规则)
11
sudo