linux – 如何避免在sudoers文件中指定完整路径?

前端之家收集整理的这篇文章主要介绍了linux – 如何避免在sudoers文件中指定完整路径?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的/ etc / sudoers文件中(在Ubuntu 12.04 LTS服务器上)为sudotest.sh(或任何需要sudo的脚本/二进制文件)添加一个NOPASSWD条目,但为了使其工作,我必须指定完整路径.以下条目工作得很好:
%jenkins ALL=(ALL)NOPASSWD:/home/vts_share/test/sudotest.sh

问题是脚本可能会移动到另一个目录.这似乎是一个很好的机会在路径中使用*通配符(即/*/sudotest.sh),这样我的脚本可以在任何目录中,但手册指出通配符在路径中使用时与/字符不匹配.我已经确认它不起作用.

我知道我可以用“ALL”这个词代替我的脚本,但这意味着没有密码提示任何看起来不安全的命令.

我该如何解决这个问题?

解决方法

放置ALL而不是脚本将不允许它运行,除非可以在适当配置的PATH中找到它.

要在不提供完整路径的情况下运行命令,它必须位于PATH变量指定的目录中.

对于sudo,它取决于如何配置环境以使用哪个PATH.

如果在sudoers中设置了secure_path变量,那么命令必须位于其中的目录中.

您可以将用户添加到exempt_group,然后他们可以使用自己的PATH.

猜你在找的Linux相关文章