我正在尝试了解如何在 OpenShift 企业中创建新用户。
根据文档(在https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/projects_and_users.html上):
首次登录时系统会自动创建普通用户...
这听起来不合逻辑。如果用户没有用户名和密码,他们如何登录?
有人可以澄清一下吗-我确定必须有一些命令来创建新用户,但尚不清楚。
谢谢
我正在尝试了解如何在 OpenShift 企业中创建新用户。
根据文档(在https://docs.openshift.com/enterprise/3.0/architecture/core_concepts/projects_and_users.html上):
首次登录时系统会自动创建普通用户...
这听起来不合逻辑。如果用户没有用户名和密码,他们如何登录?
有人可以澄清一下吗-我确定必须有一些命令来创建新用户,但尚不清楚。
谢谢
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) 登录并分配角色。
如果 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