如何使用安塞尔的 chmod + x 一个文件?

什么是 chmod + x 文件的最佳方式。

将下面的脚本转换为可变格式。

mv /tmp/metadata.sh /usr/local/bin/meta.sh
chmod +x /usr/local/bin/meta.sh

这是目前为止我所知道的。

- name: move /tmp/metadata.sh to /usr/local/bin/metadata.sh
command: mv /tmp/metadata.sh /usr/local/bin/metadata.sh
71169 次浏览

ansiblefile模块中有 mode参数,正是为了达到这个目的。

为每个人添加执行权限(例如,命令行上的 chmod a+x) :

- name: Changing perm of "/foo/bar.sh", adding "+x"
file: dest=/foo/bar.sh mode=a+x

自1.8版本以来,符号模式就得到了支持,在之前的版本中,您需要使用八进制位。

使用 收到模块时应指定 mode参数。

例如:

- name: copy file and set permissions
copy:
src: script.sh
dest: /directory/script.sh
mode: a+x

在使用 copy模块时,一个很好且详细的方法是使用可视化 符号模式:

  copy:
src: create_rules.sh
dest: ~/rules/
owner: root
group: root
mode: u+rwx,g=,o=

上述模式相当于 chmod 0700

u+rwx表示“给拥有者(u)读(r)、写(w)和执行(x)权限”,这是八进制第二个字段“07”中的 7

你也可以做 ug+rwx,o=,相当于 chmod 0770

请注意不要在逗号后使用间距。

文件也显示 ug=rwx,o=也没问题。

您可以在不使用复制模块的情况下更改文件的权限。

- name: Change permission on myScript.sh file
file:
path: /path/to/directory/myScript.sh
state: file
owner: root
group: root
mode: 0755