linux – 如何避免在sudoers文件中指定完整路径?
发布时间:2020-12-13 16:52:57 所属栏目:Linux 来源:网络整理
导读:我想在我的/ etc / sudoers文件中(在Ubuntu 12.04 LTS服务器上)为sudotest.sh(或任何需要sudo的脚本/二进制文件)添加一个NOPASSWD条目,但为了使其工作,我必须指定完整路径.以下条目工作得很好: %jenkins ALL=(ALL)NOPASSWD:/home/vts_share/test/sudotest.s
我想在我的/ 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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |