我目前正在安装安装的主机上工作。我已经创建了与Nologin的组一起创建了2个应用程序帐户,在该组中,我想添加用户,以便每个部门都有自己的Ansible目录。
我的var看起来像下面:
---
- hosts: localhost
become: yes
vars:
ansible_groupuser:
- name: "ansible-dictators"
ansible_groupuser_uid: "3000"
ansible_users:
- idia
- josefs
- donaldt
- kimjongu
- name: "ansible-druglords"
ansible_groupuser_uid: "3001"
ansible_users:
- pabloe
- javierg
- frankl
- rossu
现在我有2场比赛。1创建组用户:
# This creates the groupuser
- name: Play 1 Create central ansible user and group per department
user:
name: "{{ item.name }}"
shell: "/sbin/nologin"
home: "/home/{{ item.name }}"
comment: "{{ item.name }} Group Account"
uid: "{{ item.ansible_groupuser_uid }}"
append: "yes"
with_items:
- "{{ansible_groupuser}}"
和1创建"普通"用户:
- name: Play 2 Create users
user:
name: "{{ item.1 }}"
shell: "/bin/bash"
home: "/home/{{ item.1 }}"
comment: "{{ item.1 }}"
groups: "{{ item.0.name }}"
append: "yes"
with_subelements:
- "{{ ansible_groupuser }}"
- ansible_users
如果我运行此剧本,它会在3000和3001上的3000和Ansible-druglords上创建groupuser ansible-dictators。,它开始在第一个可用的UID(3010(开始计数。我想要的是将群体用户和普通用户放在2个不同的范围内(例如2000和3000(
当我在第一部比赛中使用_together时,如下所示,它有效:
- name: Play1 Create central ansible user and group per department
user:
name: "{{ item.0.name }}"
shell: "/sbin/nologin"
home: "/home/{{ item.0.name }}"
comment: "{{ item.0.name }} Group Account"
uid: "{{ item.1 }}"
append: "yes"
with_together:
- "{{ansible_groupuser}}"
- "{{ range(3000,3020)|list }}"
when: item.0 != None
但是,当我在第二次戏中使用_together时,它不起作用:
- name: Create users
user:
name: "{{ item.1 }}"
shell: "/bin/bash"
home: "/home/{{ item.1 }}"
comment: "{{ item.1 }}"
groups: "{{ item.0.name }}"
append: "yes"
uid: "{{ item.2 }}"
with_together:
- "{{ ansible_groupuser }}"
- ansible_users
- "{{ range(2000,2020)|list }}"
有人得到了一个建议,如何使第二场戏剧在特定范围内使用UID?还是另一个建议如何将UID分为不同的组?在VAR中给分组者一个UID是没有问题的。但是我希望有很多"常见"用户添加( 50(,我不想为所有这些用户指定一个UID。
希望这是有道理的。预先感谢。
我认为range(...)
方法有一个缺陷:如果将来将某些用户从列表中删除,那么后续条目的ID将会更改,您最终可以在系统上获得混乱的文件权限。
您可以修补user
模块以支持--firstuid
/--lastuid
基础adduser
命令的参数,因此您可以为UID生成设置不同的范围。
但我建议您为vars文件中的顶级用户定义"静态" UID(来自某些预定范围的范围,例如:3000..30xx
( - 这样,您可以在未来。
并留下"通用"用户自动获取其ID,因此添加/删除它们不会弄乱您的ID。如果您希望它们来自某些特定范围,则可以使用FIRST_UID=5000
/LAST_UID=6000
。
/etc/adduser.conf