我正在使用这些任务创建用户:
- 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文件?
由于
答案 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