我的英语不太好,对不起
我使用可靠的ad-hoc设置一些用户的密码使用:
python -c“from passlib.hash import sha512_crypt; import getpass; print sha512_crypt.using(rounds = 5000).hash(getpass.getpass())”
生成encryption的密码,我得到这个:
$ 6 $ 3k8DQBapvmIOZu4W $ JMWhRB8kfqttNBI9NuRFZlPFpo6g4cb5v7obrqNaGZepxQ1AFCXdYv5IEU5lJFeHJXouyaQlJADcMtdMCjhXz0
运行可靠的特别的
ansible localhost -m user -a“name = testuser password ='$ 6 $ 3k8DQBapvmIOZu4W $ JMWhRB8kfqttNBI9NuRFZlPFpo6g4cb5v7obrqNaGZepxQ1AFCXdYv5IEU5lJFeHJXouyaQlJADcMtdMCjhXz0'state = present”
运行好,但在/ etc / shadow
[root @ localhost roles_test]#grep testuser / etc / shadow testuser:k8DQBapvmIOZu4W:17420:0:99999:7 :::
糟糕,只有密码的一部分,而不是一个完整的string
anonymous localhost -m user -a“name = testuser password ='\ $ 6 \ $ 3k8DQBapvmIOZu4W \ $ JMWhRB8kfqttNBI9NuRFZlPFpo6g4cb5v7obrqNaGZepxQ1AFCXdYv5IEU5lJFeHJXouyaQlJADcMtdMCjhXz0'state = present”
工作正常,但它看起来不聪明。
那么,如何解决这个问题? 谢谢
这是因为bash
variablesreplace。
尝试:
ansible localhost -m user -a 'name=testuser password=$6$3k8DQBapvmIOZu4W$JMWhRB8kfqttNBI9NuRFZlPFpo6g4cb5v7obrqNaGZepxQ1AFCXdYv5IEU5lJFeHJXouyaQlJADcMtdMCjhXz0 state=present'