ansible创建用户:没有默认值。是否创建了bashrc?
我正在创建具有以下任务的用户:ansible创建用户:没有默认值。是否创建了bashrc?,ansible,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}}
- 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不是在其主目录中创建的
有没有办法创建默认的basic.bashrc文件
谢谢我为主文件夹使用了特定路径(不同于传统的/home/user1文件夹):
/specific/path/home/user1
由于我在创建user1时遇到一个错误,即无法创建路径/specific/path/home/user1
,因此我在创建用户之前创建了主文件夹。
但是,如果创建用户时主文件夹已经存在,则不会复制默认的
.bashrc
。必须在用户命令末尾添加append=yes
用户:
从Ansible 2.0开始,您可以传递一个
框架
选项:
(可选)设置主骨架目录。需要createhome选项
这对我很有用:
- name: "Create deployment user"
user:
name: "foobar"
groups: "sudo"
append: yes
skeleton: "/etc/skel"
createhome: yes
即使未指定特定路径FWIW,也会发生此错误。
- name: "Create deployment user"
user:
name: "foobar"
groups: "sudo"
append: yes
skeleton: "/etc/skel"
createhome: yes