linux – 如何以编程方式在sudoers文件中添加secure_path

我正在尝试为从 github构建节点和npm的EC2实例构建用户数据脚本,然后启动服务.为了润滑这些轮子,我需要补充:
:/usr/local/bin

到/ etc / sudoers中的行开头:

Defaults        secure_path="

https://superuser.com/questions/927512/how-to-set-path-for-sudo-commands讨论使用visudo实现这一点,但我想在EC2用户数据中以编程方式进行.

https://stackoverflow.com/questions/16282789/adding-sudo-permissions-to-sudoers-for-user-via-shell-script讨论了编辑sudoers文件,但是我想要实现的目标看起来非常糟糕.

我认为这条线路很容易取而代之,但我很难过.不仅仅是因为那个烦人的倒闭逗号!

解决方法

如果您可以使用替换secure_path值而不是附加它,则可以使用更简单的解决方案.通常sudo有一个像/etc/sudoers.d这样的配置目录,您可以在其中删除其他配置文件.

只需使用完整的secure_path值创建一个文件:

Defaults secure_path="<default value>:/usr/local/bin"

这会覆盖主配置中的值.如果所有计算机的路径值相同,则可以使用脚本或程序包轻松部署.

这还有一个额外的好处,即在将来更新sudo包时,您不必检查并可能合并配置文件.

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...