如何使用generic-users Chef cookbook创建用户?

时间:2012-09-24 21:30:54

标签: chef

我正在尝试使用带有自制服务器的'generic-users'配方向我的web_app角色添加'deploy'用户。我创建了一个deploy.json数据库,其中包含:

{
  "id": "deploy",
  "group": "deploy",
  "shell": true
}

我已将数据包上传到我的服务器。

我还上传了我的所有食谱和角色。

最后,这是我的app角色:

name "app_server"
description "application"
run_list(
  "recipe[generic-users]",
)
default_attributes "users" => { "active_groups" => "deploy" }

当我尝试使用此角色配置我的服务器时,我看到以下内容:

[2012-09-24T22:17:53+01:00] INFO: Active groups: deploy, sysadmin

但它实际上并没有创建我的部署用户。

创建我的用户需要做些什么?

此外,我想指定不同的用户,并且只能根据需要在特定角色上创建特定帐户。我怎么能这样做?

2 个答案:

答案 0 :(得分:7)

您是否查看了User ResourceGroup Resource

您可以以声明方式创建组和用户:

group "magrathean" do
  gid 42
end

user "slartibartfast" do
  home "/home/slartibartfast"
  gid 42
  shell "/bin/bash"
  password "hashed password" 
end

查看有关散列密码的部分。

我们运行自定义用户指南,允许我们设置特定的配置文件,例如.alias.bashrc等。

答案 1 :(得分:0)

你可能会想到由Chef(以前的Opscode)维护的'用户'食谱,它就是你所说的。 给定一个数据包'users'和'deploy'项(使用你声明的json),它将创建用户。它还可以删除用户,或者从Tilman提到的“用户”资源中调用任何操作。 https://github.com/opscode-cookbooks/users