7

我正在尝试了解如何在 OpenShift 企业中创建新用户。

根据文档(在https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/projects_and_users.html上):

首次登录时系统会自动创建普通用户...

这听起来不合逻辑。如果用户没有用户名和密码,他们如何登录?

有人可以澄清一下吗-我确定必须有一些命令来创建新用户,但尚不清楚。

谢谢

4

2 回答 2

10

OpenShift master-config ( /etc/openshift/master/master-config.yaml) 描述了有关身份验证的配置。默认情况下,主配置为身份验证部分显示如下内容:

 identityProviders:
  - challenge: true
    login: true
    name: anypassword
    provider:
      apiVersion: v1
      kind: AllowAllPasswordIdentityProvider

这意味着每个拥有每个密码的用户都可以进行身份​​验证。通过oc get users以 system:admin 身份执行,您将看到所有用户。不建议使用此配置。您可以配置另一种形式的身份验证(htpasswd、ldap、github、...)。

我正在使用 htpasswd。因此,您必须创建一个包含您的用户名 + 加密密码的文件(使用 htpasswd)。之后,您需要编辑您的master-config.yaml. 您必须告诉它使用HTPasswdPasswordIdentityProvider并链接到您的文件。

您可以在此处找到这些步骤。执行这些步骤后不要忘记重新启动您的 OpenShift 主节点:sudo service openshift-master restart(origin-master for origin)。

创建用户后,您可以为用户分配角色 使用默认管理员 (system:admin) 登录并分配角色

于 2016-03-24T07:35:44.250 回答
1

如果 OpenShift 使用,我正在创建一个脚本来简单地添加一个用户HTPasswdPasswordIdentityProvider

wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64
mv jq-linux64 jq && chmod 755 jq

FILE=$(cat /etc/origin/master/master-config.yaml | python -c 'import sys, yaml, json; y=yaml.load(sys.stdin.read()); print json.dumps(y,indent=4, sort_keys=True)' | ./jq '.oauthConfig.identityProviders[0].provider.file')
FILE=$(sed -e 's/^"//' -e 's/"$//' <<<"$FILE")

htpasswd $FILE user1
于 2017-11-13T10:01:00.463 回答