2016-11-24 97 views
0
创建帐户后,设置密码

我有以下剧本这我使用的一个Ubuntu 16.04主机上创建一个新用户:允许用户使用Ansible

--- 
- hosts: all 
    become: yes 
    become_method: sudo 
    tasks: 
    - name: Create user guybrush 
    user: name=guybrush comment="Guybrush Threepwood" shell=/bin/bash groups=pirates append=yes 

    - name: Copy SSH key for guybrush 
    authorized_key: user=guybrush key={{ lookup("file", "/home/guybrush/.ssh/id_rsa.pub") }} 

但是当我登录的新用户尝试使用我的密码passwd我被问到我的(当前)UNIX密码。鉴于没有为用户设置密码,我不确定为什么会要求我输入密码。

如何修复我的操作手册,以便新创建的用户在第一次登录后可以轻松设置密码?

+0

您正在使用基于密钥的身份验证创建用户。你想让用户更改密码? – helloV

+0

我正在创建一个用户,可以使用他们的公钥初始登录;一旦他们登录了,如果他们可以改变他们的密码,如果他们使用'sudo',他们就会需要它。 – DanielGibbs

回答

1

你可以设置密码为空行,所以passwd不会要求输入旧密码。
您也可以将其设置为过期以强制用户在首次登录时更改密码。

- user: name=jsmith password="" 
- authorized_key: user=jsmith key={{ lookup("file", "/somepath/id_rsa.pub") }} 
- command: chage -d 0 jsmith 

如果有安全问题用空密码,你可以将其设置为一些随机的预定义的一个,并与欢迎SSH消息玩来显示它在第一次登录。

+0

这就是诀窍;谢谢。 – DanielGibbs