在Ubuntu 14.04上,我创建了禁用密码的用户,如:
sudo adduser --disabled-password myuser
我需要对Ansible user模块
做同样的事情- 残疾密码
缺少Ansible文档中的类似选项。有人可以帮助我,我怎样才能得到与用户模块相同的结果?
答案 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