首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >厨师-(服务器):客户端和用户之间有什么区别?

厨师-(服务器):客户端和用户之间有什么区别?
EN

Stack Overflow用户
提问于 2014-03-07 09:40:21
回答 2查看 3.7K关注 0票数 4

我安装了开源厨师服务器(11.x)。我是厨师的新手。我可以看到有带有密码和pub/priv密钥的user(通常是小刀用户(@工作站))。还有clients (厨师-验证器,节点.)带着酒吧/贵宾钥匙。

当我使用knife configuration --initial时,它使用admin用户名和priv键来缓存新的工作站用户,例如johnnym。因此,拥有密钥的管理用户非常强大,可以创建用户、节点、客户端、...etc。

但是,当我knife bootstrap ${FQDN}时,它需要一个具有管理特权的client (厨师-验证器)能够向主厨服务器创作/创作并注册新的节点/客户端。

我的问题是:如果客户端和用户能够完成相同的任务,为什么他们要分开呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-07 15:37:42

在OSS的上下文中,就像您的情况一样,user也可以作为一个client工作,并添加了通过用户名/密码组合使用Web的功能。

您缺少的是validator客户端密钥。

validator是一个特殊的客户机,只有一个目的:允许节点将自己注册为主厨服务器上的客户端。它是在第一个主厨运行时从节点内部使用的。注册节点后,从节点中删除validator密钥是很好的做法。

运行knife bootstrap时,它会在运行chef-client之前通过SSH将密钥从工作站复制到节点。您所面临的问题可能是因为工作站上没有validator密钥,或者因为knife找不到它(检查您的knife.rb文件,看看它希望在哪里找到密钥)。

票数 8
EN

Stack Overflow用户

发布于 2014-03-18 15:15:28

我们对这个主题做了一些调试。clientuser的主要思想是区分人和程序。他们是怎么做到的,这就是我们首次亮相的地方。

在db中,您可以看到users可以有admin组标志,clients可以有admin and=or validator标志。

users可以使用webUI (与webui client),也可以使用chefAPI。

clients只能使用 chefAPI。

代码语言:javascript
运行
复制
opscode_chef=# select username,admin from osc_users;
 username | admin 
----------+-------
 admin    | t
 johnnym  | t
 leki     | t
 nemadmin | f
(4 rows)
                     name                  | admin | validator |                id                
---------------------------------------+-------+-----------+----------------------------------
 chef-validator                        | f     | t         | 0000000000006ab38d5bb2564bd91f5b
 chef-webui                            | t     | f         | 000000000000bd469d802db9a3fc3c88
 statictestXXxd.xxxxx.xxxxxxxx.private | f     | f         | 000000000000f106e5461e64a15d0662
 test-validator                        | f     | f         | 000000000000ea638b18e484e034b859
 cica                                  | f     | f         | 00000000000077dd4efbcd39a1fb10d3
(5 rows)

opscode_chef=# select name,environment,last_updated_by from nodes;
                 name                  | environment |         last_updated_by          
---------------------------------------+-------------+----------------------------------
 statictestXXxd.xxxxx.xxxxxxxx.private | _default    | 000000000000f106e5461e64a15d0662
 cica_node                             | _default    | 00000000000077dd4efbcd39a1fb10d3
(2 rows)
  1. admin成员( clientsusers)可以执行所有的命令()
  2. validator成员(仅限 clients)只能执行节点命令
  3. 普通成员( clientsusers)都可以执行客户端显示节点命令的操作,前提是节点是由来自的请求(见表上)的同一个客户机更新的。

因此,客户端具有有限的命令权限,也有有限的范围(仅限于最后更新的节点)。用户可以拥有所有特权,但不能更新节点。

我还找到了这个页面,它帮助了我们对这个话题的研究。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22246468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档