Ansible ldap_entry 模块
vim /etc/ansible/ansible.cfg
[defaults]
vault_password_file = /etc/ansible/vault_password_file
ansible-vault create test.yml
New Vault password: # 输入文件密码
Confirm New Vault password: # 输入确认密码
ansible-vault encrypt test.yml # 加密文件
ansible-vault rekey test.yml # 修改加密密码
ansible-vault edit test.yml # 编辑加密文件
ansible-vault view test.yml # 查看加密文件
ansible-vault decrypt test.yml # 解密文件
ansible-vault decrypt test.yml --output=test1.yml # 解密文件并保留原加密文件
echo '123456' > pass.txt
chmod 600 pass.txt
ansible-vault encrypt --vault-id=./pass.txt test.yml
ansible-vault --vault-id=./pass.txt view test.yml
ansible-vault decrypt --vault-id=./pass.txt test.yml
ansible-playbook --ask-vault-pass playbook.yml
ansible-playbook --vault-id @prompt playbook.yml
ansible-playbook --vault-id=pass.txt playbook.yml
ansible-playbook --vault-id one@prompt --vault-id two@prompt playbook.yml
vault password (one): # 提示输入第一个密码
vault password (two): # 提示输入第二个密码
echo 123456 > = /etc/ansible/vault_password_file
ansible-vault encrypt_string 'T@123' --name 'bind_pw'
ansible-playbook --vault-id @prompt ldap.yml
Vault password (default): 123456
yum install python-ldap
---
- hosts: 127.0.0.1
connection: local
vars:
bind_pw: !vault |
$ANSIBLE_VAULT;1.1;AES256
36313737366364633338316533363161383162346236386264306662353338653863663539336436
6165343537333664393163646130363861643231613232660a353638303736306236383333636537
39633365663566396265373534313165616562613461316534333762366136643333626566383932
3234343230336464330a316238633961326261313839326335396565313631383663393861633161
6233
tasks:
- name: create ldap users
ldap_entry:
dn: uid={{ item.uid }},ou=People,dc=vimll,dc=com
server_uri: ldaps://ldap.vimll.com
bind_dn: cn=Manager,dc=vimll,dc=com
bind_pw: "{{ bind_pw }}"
objectClass:
- inetOrgPerson
- posixAccount
- shadowAccount
- ldapPublicKey
attributes:
uid: "{{ item.uid }}"
cn: "{{ item.name }}"
sn: "{{ item.name[0:1] }}"
loginShell: /bin/bash
uidNumber: "{{ item.uidNumber }}"
gidNumber: 1000
homeDirectory: /home/{{ item.uid }}
mail: "{{ item.mail }}"
sshPublicKey: "{{ item.sshPublicKey | default('') }}"
with_items:
- uid: test
name: 测试
uidNumber: 1028
mail: test@vimll.com
sshPublicKey: ssh-rsa AAAAB3NzaC1xxxxxxxxxxxxxxxxxxxMxQV7 root@home.tang.com