我有以下手册用于在Ubuntu 16.04主机上创建新用户:
---
- 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密码。鉴于没有为用户设置密码,我不确定为什么要求我这样做。
如何修复我的Playbook,以便新创建的用户可以在第一次登录后轻松设置密码?
答案 0 :(得分:2)
您可以将密码设置为空行,因此passwd
不会要求输入旧密码
您也可以将其设置为已过期,以强制用户在首次登录时更改密码。
- user: name=jsmith password=""
- authorized_key: user=jsmith key={{ lookup("file", "/somepath/id_rsa.pub") }}
- command: chage -d 0 jsmith
如果存在空密码的安全问题,您可以将其设置为某个随机预定义密码并使用welcome ssh消息在首次登录时显示。