首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式使用visudo编辑sudoers?

以编程方式使用visudo编辑sudoers?
EN

Unix & Linux用户
提问于 2013-06-13 21:46:35
回答 2查看 7.2K关注 0票数 6

我有一个sudoers文件存储在我们的svn回购。我想将其svn export/etc/sudoers,但不能这样做,因为sudo检测到它没有被visudo编辑,并抛出语法错误。visudo -f到底是做什么的,我可以做以下工作:

代码语言:javascript
复制
cd /tmp && svn export <URL>/sudoers &&  visudo < /tmp/sudoers

不需要人工干预?

EN

回答 2

Unix & Linux用户

发布于 2013-06-13 22:00:41

这可能不是因为它没有被visudo编辑,而是因为它确实存在语法错误。还检查权限。不使用/etc/sudoers完全可以编辑visudo。在提交到实际文件之前,visudo只是为了保证独占访问和检查语法。话虽如此,为了回答你的问题,你可以:

代码语言:javascript
复制
VISUAL="cp /tmp/sudoers" visudo

visudo/etc/sudoers.tmp调用您的首选编辑器,在编辑器返回后检查文件新内容的语法,并在高兴时提交给/etc/sudoers。通过将首选编辑器设置为cp /tmp/sudoers,实际上是告诉它执行cp /tmp/sudoers /etc/sudoers.tmp

(将sudoers临时文件存储在/tmp这样的世界可写目录中听起来很危险)

票数 11
EN

Unix & Linux用户

发布于 2013-06-14 05:11:39

我一直在编辑和部署sudoers。请确保执行以下操作:

  • 在将语法签入到svn之前,请使用visudo -c -f <filename>检查语法。
  • 部署时,请确保权限为0440,并由root:root (或BSD衍生产品上的root:wheel )拥有。

如果您用来签入的主机运行的操作系统与部署到的操作系统不同,那么在将其复制到适当的位置之前,您还应该在目标系统上运行visudo -c -f <filename>

票数 7
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/79338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档