variable
- Agregue el usuario:
agregue el usuario I4 al servidor web, establezca la contraseña predeterminada 123
---
- hosts: web
vars:
username: I4
tasks:
- name: create user "{
{
username}}"
user:
name: "{
{username}}"
- shell: echo 123 | passwd --stdin "{
{
username}}"
- Establecer contraseña
-solver el problema de texto sin formato de la contraseña
-por qué la contraseña del módulo de usuario no puede establecer una contraseña
-después de la prueba, se encuentra que la contraseña escribe la cadena directamente en la sombra, y no ha cambiado, y la contraseña oculta de Linux está cifrado, por lo que no se puede utilizar - Solución:
filtro variable password_hash
{ {'urpassword' | password_hash ('sha512')}} - Filtro variable
-add usuario tan al host de base de datos, establezca la contraseña predeterminada 123abc ... A
1. hosts: db
vars:
username: tan
tasks:
- name: create user "{
{
username }}"
user:
password={
{
'123abc...A '| password_hash('sha512')}}
name={
{
username}}
- Parámetros variables
-Pasando parámetros
-e parámetros
-El formato de parámetro debe ser json o yaml
-el formato yaml puede usar archivos de parámetros, por ejemplo
-args, yml
-
nombre de usuario:
haha
--e @ args, yml
Ejercicio variable
1. Practique el uso del módulo de usuario para agregar usuarios
2. Practique el uso de variables para simplificar tareas. Haga que el juego sea más versátil
3. Practique el uso de filtros
Para implementar este caso, debe seguir los pasos a continuación.
Paso 1: use el módulo de usuario para agregar un usuario y cambiar la contraseña
[root@manager ansible]# vim user.yml
---
- hosts: web1
remote_user: root
vars:
username: tan
tasks:
- name: create user "{
{
username}}"
user: group=wheel uid=1000 name={
{
username}}
- shell: echo 123456 | passwd --stdin tan
- shell: chage -d 0 {
{
username}}
[root@manager ansible]# ansible-playbook useradd.yml
JUGAR [web1] ******************************************* **********************
TAREA [Recopilación de datos] ****************************************** ************
ok: [web1]
TAREA [crear usuario "tan"] *************************************** *************
cambiado: [web1]
TAREA [comando] ******************************************* *******************
cambiado: [web1]
TAREA [comando] ******************************************* *******************
cambiado: [web1]
JUGAR RESUMEN ********************************************* *********************
web1: ok = 4 cambiado = 3 inalcanzable = 0 fallido = 0
Paso 2: filtro de variables, crear un usuario, establecer una contraseña
[root@manager ansible]# vim useradd1.yml
---
- hosts: web1
remote_user: root
tasks:
- user:
name: tan1
group: root
password: "{
{'123456' | password_hash('sha512')}}"
- shell: chage -d 0 tan1
[root@manager ansible]# ansible-playbook useradd1.yml
JUGAR [web1] ******************************************* **********************
TAREA [Recopilación de datos] ****************************************** ************
ok: [web1]
TAREA [usuario] ******************************************* **********************
cambiado: [web1]
TAREA [comando] ******************************************* *******************
cambiado: [web1]
JUGAR RESUMEN ********************************************* *********************
web1: ok = 3 cambiado = 2 inalcanzable = 0 fallido = 0
Paso 3: Defina una variable para crear un usuario
[root@ansible ansible]# vim user2.yml
---
- hosts: web1
remote_user: root
vars:
user: tan2
tasks:
- user:
name: "{
{user}}"
group: root
password: "{
{'123456' | password_hash('sha512')}}"
- shell: chage -d 0 "{
{
user}}"
[root@manager ansible]# ansible-playbook useradd2.yml
JUGAR [web1] ******************************************* **********************
TAREA [Recopilación de datos] ****************************************** ************
ok: [web1]
TAREA [usuario] ******************************************* **********************
cambiado: [web1]
TAREA [comando] ******************************************* *******************
cambiado: [web1]
JUGAR RESUMEN ********************************************* *********************
web1: ok = 3 cambiado = 2 inalcanzable = 0 fallido = 0