bash - 使用 Ansible 创建新用户和密码

标签 bash shell ubuntu ansible

我有一个 ansible 任务,它在 ubuntu 12.04 上创建一个新用户;

- name: Add deployment user
    action: user name=deployer password=mypassword

它按预期完成,但是当我以该用户身份登录并尝试使用我设置的密码进行 sudo 时,它总是说它不正确。我做错了什么?

最佳答案

我可能来不及回复这个问题,但最近我发现 jinja2 过滤器具有处理加密密码生成的能力。在我的 main.yml 中,我将加密密码生成为:

- name: Creating user "{{ uusername }}" with admin access
  user: 
    name: {{ uusername }}
    password: {{ upassword | password_hash('sha512') }}
    groups: admin append=yes
  when:  assigned_role  == "yes"

- name: Creating users "{{ uusername }}" without admin access
  user:
    name: {{ uusername }}
    password: {{ upassword | password_hash('sha512') }}
  when:  assigned_role == "no"

- name: Expiring password for user "{{ uusername }}"
  shell: chage -d 0 "{{ uusername }}"

“uusername”和“upassword”作为 --extra-vars 传递给剧本,注意我在这里使用了 jinja2 过滤器来加密传递的密码。

我已经在我的博客中添加了以下与此相关的教程

关于bash - 使用 Ansible 创建新用户和密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19292899/

相关文章:

linux - 为什么 'wget --page-requisites' 非常慢

linux - 从 csv 文件中删除非 ascii 特殊字符

linux - 从所有子文件夹打印到文件前两行

linux - 在 shell 中使用 "for"迭代文件中的行从不匹配目标

node.js - Semver 与 Bash

bash - Bash 中单引号和双引号的区别

linux - Bash:在行尾查找带有尾随空格的文件

node.js - 无法在 Ubuntu 中更新 Node

python - 递归查找文件夹中文件的最后一次编辑

linux - 在命令行中复制一系列文件夹