ansible创建用户:没有默认.bashrc创建?

时间:2014-02-02 07:58:07

标签: ansible

我正在使用这些任务创建用户:

- name: ensure home directory
  sudo: yes
  file: path={{item.home}} state=directory
  with_items: users

- name: create user {{item.name}}
  sudo: yes
  user: name={{item.name}} home={{item.home}} shell=/bin/bash group={{item.group}} groups={{item.groups}} password={{item.password}} state=present
  with_items: users

但似乎每个用户的〜/ .bashrc未在其主目录中创建。

有没有办法创建默认的基本.bashrc文件?

由于

3 个答案:

答案 0 :(得分:1)

我使用了主文件夹的特定路径(与traditionnal / home / user1文件夹不同):/specific/path/home/user1

由于我在创建user1时遇到无法创建路径/specific/path/home/user1的错误,因此我在创建用户之前创建了主文件夹。 但是,如果在创建用户时主文件夹已存在,则不会复制默认.bashrc

答案 1 :(得分:1)

从Ansible 2.0开始,您可以传递skeleton选项:

  

(可选)设置主骨架目录。需要createhome选项!

这对我有用:

- name: "Create deployment user"
  user:
    name: "foobar"
    groups: "sudo"
    append: yes
    skeleton: "/etc/skel"
    createhome: yes

答案 2 :(得分:0)

您必须在用户命令的末尾添加append=yes 用户:

- name: Add users
  add_user:
    name: '{{item.name}}'
    home: '{{item.home}}'
    shell: /bin/bash
    group: '{{item.group}}'
    groups: '{{item.groups}}'
    password: '{{item.password}}'
    state: present
    append: yes 
with_items: users