1

我尝试通过厨师/刀在远程系统上创建用户,但出现问题......这是我的步骤:

  1. 安装“用户”食谱

刀食谱网站安装用户

  1. 为其创建数据包

刀数据包创建用户

  1. 创建带有选项的 json 文件

cat data_bags/users/fatal.json
{
“id”:“fatal”,
“uid”:“1002”,
“home”:“/home/fatal”,
“groups”:“sudo”,
“shell”:“/ bin/bash",
"密码": "$6$wkWXnXUk$xjaISNyG3cDGU2XYBAf。"
}

  1. 将其导出到我的数据包中

来自文件用户 data_bags/users/fatal.json 的刀数据包

  1. 将配方“用户”添加到我的远程节点

刀节点厨师测试客户端显示
节点名称:厨师测试客户端
环境:_default
FQDN:厨师测试客户端
IP:192.168.16.777
运行列表:食谱[组],食谱[用户]
角色:
食谱:组,用户
平台:debian 7.1
标签:

  1. 上传到刀服务器

刀菜谱上传用户

  1. 在我的远程节点上同步

chef-client
正在启动 Chef 客户端,版本 11.8.0
为运行列表解析说明书:[“group::data_bag”,“user::data_bag”]
同步说明书:
-用户
- 组正在
编译说明书...
融合 0 个资源
Chef 客户端已完成, 0 个资源已更新

所以什么也没有发生,用户没有被创建;我做错了什么?,请大家帮我处理它

更新:

http://fnichol.github.io/chef-user/的使用部分

要使用 recipe[user::data_bag],请将其包含在 run_list 中并有一个名为 >"users" 的数据包

所以我将我的运行列表设置更改为:

knife node show chef-test-client  
Node Name:   chef-test-client  
Environment: _default  
FQDN:        chef-test-client   
IP:          192.168.16.777  
Run List:    recipe[user::data_bag], recipe[group::data_bag]  
Roles:         
Recipes:     user::data_bag, group::data_bag  
Platform:    debian 7.1  

和我的数据包:

knife data bag show users fatal  
groups:   sudo  
home:     /home/fatal  
id:       fatal  
password:  >$6$wkWXnXUk$xjaISNyG3cDGU2X  
shell:    /bin/bash  
uid:      1002  

并且什么都没有再发生:(

4

2 回答 2

3

You are using this cookbook: http://fnichol.github.io/chef-user/

According to that description, I think that you have to explicitly add the fatal user to node[:users].

于 2013-11-18T11:31:39.437 回答
1

斯蒂芬金是对的。您必须将: default["users"] = ["users", "to", "load"] 添加到您的属性中。我认为这个想法是数据包具有所有域用户,但每个节点决定按名称从数据包中加载哪些用户。

于 2013-11-18T17:08:57.283 回答