使用Ansible选项--disabled-password创建用户

时间:2016-08-18 08:52:01

标签: ubuntu passwords ansible

在Ubuntu 14.04上,我创建了禁用密码的用户,如:

  

sudo adduser --disabled-password myuser

我需要对Ansible user模块

做同样的事情
  

- 残疾密码

缺少Ansible文档中的类似选项。有人可以帮助我,我怎样才能得到与用户模块相同的结果?

2 个答案:

答案 0 :(得分:11)

user模块使用useradd命令under the hood 如果省略password模块的user参数,则在没有useradd标记的情况下回复-p
useradd的手册页说明:

  

-p, - 密码密码
             加密密码,由crypt(3)返回。默认设置是禁用密码。

这正是OP所需要的。

adduser --disabled-password test1- user: name=test2 state=present的比较:

# grep test /etc/shadow
test1:*:17031:0:99999:7:::
test2:!:17031:0:99999:7:::
# passwd -S test1
test1 L 08/18/2016 0 99999 7 -1
# passwd -S test2
test2 L 08/18/2016 0 99999 7 -1

正如您所看到的那样,密码已被锁定。

答案 1 :(得分:1)

自Ansible 2.6起,user模块具有选项password_lock,该选项将运行usermod -L(Linux),pw lock(FreeBSD)或usermod -C( ?):

usermod -L

锁定用户密码。这放一个“!”在加密的密码前面,可以有效地禁用密码。

pw lock

pw实用程序为用户提供了一种简单的密码锁定机制。它的工作方式是将字符串*LOCKED*放在master.passwd的密码字段开头,以防止成功认证。

因此您可以使用:

- name: Create password locked user
  user:
    name: myuser
    state: present
    password_lock: yes