我尝试使用Chef创建新用户,并在用户不存在的情况下使用户的密码失效。
我设法通过使用bash脚本并在代理服务器上执行它来实现它,但我想要更清洁的方式。
当前的Bash脚本:
http://i.gyazo.com/fdd49630f58f9b0e0acdc324143e3481.png
希望在食谱中使用:
inituser do
username => "username"
password => "password"
group => "group":
end
如果以上代码创建了新用户,如果它尚未存在且密码过期。
谢谢!
更新:对不起我的沟通不畅,但我想要做的就是拥有自己的自定义资源,这将解析""解析"用户名,密码和我上面预先写好的bash资源的组。
答案 0 :(得分:7)
您只需使用用户资源即可创建新用户。
user "newuser" do
supports :manage_home => true
home "/home/newuser"
shell "/bin/bash"
password "$1$JJsvHslV$szsCjVEroftprNn4JHtDi."
not_if "getent passwd newuser"
end
请注意,密码是密码阴影哈希,可以按如下方式生成:
openssl passwd -1 "theplaintextpassword"