Ansible技术咨询:用户组分配及chown操作对应模块查询
嘿,这两个Ansible相关的问题我来给你捋清楚:
1. 如何在Ansible中将用户分配至用户组?
咱常用的是Ansible的user模块,它能轻松处理用户和组的关联,分两种常见场景:
创建新用户时直接指定主组或附加组
如果是要新建用户并同时分配组,直接在playbook里这样写:- name: 创建用户并分配主组和附加组 user: name: john group: developers # 这是用户的主组 groups: devops, admins # 这是附加组,多个用逗号分隔 append: yes # 加上这个参数,避免覆盖用户原本可能有的其他附加组 state: present给已存在的用户添加附加组
如果用户已经存在,只想新增附加组,同样用user模块,重点是append: yes必须加上,不然会清空用户原有的所有附加组:- name: 给已有用户添加附加组 user: name: john groups: qa append: yes state: present
2. 执行命令
chown -R vmail:vmail /var/mail需使用Ansible的哪个模块? 这个操作对应Ansible的file模块,它专门用来管理文件/目录的所有者、权限等属性,递归处理的话只需要加上recurse: yes参数就行,比直接用command模块更符合Ansible的幂等性原则。
示例playbook代码如下:
- name: 递归修改/var/mail的所有者和组 file: path: /var/mail owner: vmail group: vmail recurse: yes # 开启递归,对应命令里的-R参数 state: directory # 明确这是一个目录,也可以省略,Ansible会自动识别
内容的提问来源于stack exchange,提问作者laurajaime
相关产品推荐
相关产品推荐

