我想根据以下内容更改 sudo 会话超时this https://superuser.com/a/149740/775166回答。我可以编辑普通文件:
lineinfile:
path: /etc/sudoers
regexp: ^Defaults env_reset
line: Defaults env_reset,timestamp_timeout=60
但在我的第一行/etc/sudoers
书面:# This file MUST be edited with the 'visudo' command as root.
怎么处理呢?
P.S.
尽管简短的答案是肯定的,但人们必须阅读康斯坦丁·苏沃洛夫 回答 https://stackoverflow.com/a/46723428/4249707关于正确的做法lineinfile
并且非常有趣技术拉夫答案 https://stackoverflow.com/a/46720791/4249707关于这种方式可能存在的陷阱
对于这种情况,有一个安全网选项:validate
.
复制到位之前要运行的验证命令。要验证的文件的路径通过“%s”传入,该路径必须存在,如下例所示。该命令是安全传递的,因此扩展和管道等 shell 功能将不起作用。
如果您查看示例部分文件行 https://docs.ansible.com/ansible/latest/collections/ansible/builtin/lineinfile_module.html#examples模块,您将准确地看到您需要的内容:
# Validate the sudoers file before saving
- lineinfile:
path: /etc/sudoers
state: present
regexp: '^%ADMIN ALL='
line: '%ADMIN ALL=(ALL) NOPASSWD: ALL'
validate: '/usr/sbin/visudo -cf %s'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)