Chef:初始化新的linux用户,如果它还不存在的话

时间:2014-07-21 00:49:44

标签: linux chef

我尝试使用Chef创建新用户,并在用户不存在的情况下使用户的密码失效。

我设法通过使用bash脚本并在代理服务器上执行它来实现它,但我想要更清洁的方式。

当前的Bash脚本:

http://i.gyazo.com/fdd49630f58f9b0e0acdc324143e3481.png

希望在食谱中使用:

inituser do
    username => "username"
    password => "password"
    group => "group":
end

如果以上代码创建了新用户,如果它尚未存在且密码过期。

谢谢!

更新:对不起我的沟通不畅,但我想要做的就是拥有自己的自定义资源,这将解析""解析"用户名,密码和我上面预先写好的bash资源的组。

1 个答案:

答案 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"

了解更多信息:http://docs.opscode.com/resource_user.html