wlan密码怎么修改改keystone租户密码

&&& 前面的配置都算比较简单。接下来这个KeyStone服务算是比较难受的。我也配了好久,这里我设置我的Keystone的虚拟机IP地址为192.168.137.104.内部通信的IP 为192.168.1.104 首先第一步要做的事情肯定是安装服务。以下是我的安装脚本。keystone_install.shapt-get updateapt-get install -y keystone python-keystone python-keystoneclient python-mysqldb安装好之后修改配置文件/etc/keystone/keystone.conf在[DEFAULT]下添加一句话admin_token = grizzly然后在[database]做如下修改#connection = sqlite:////var/lib/keystone/keystone.dbconnection = mysql://keystoneUser:keystonePass@192.168.1.102/keystone把原来的connection键值对注释掉。由于它原来要用的是sqlite数据库,我们这里采用MySQL数据库,以上面的格式对应了用户名keystoneUser密码keystonePass,还有数据库的ip地址,最后我们要访问的数据库叫做keystone这些都是之前创建数据库的时候创建的如果不喜欢可以自己修改。记得对应就可以了。重启服务。service keystone restart接着要同步数据表。keystone-manage db_sync如果没有报错,同步成功。接下来要添加用户了。下面我编写脚本setting.sh 首先定义一些环境变量setting.sh#!/bin/bash#这个脚本用来定义一些环境变量#作者用的是G 版,这个算是版本代号吧export ADMIN_TOKEN=&grizzly&#OpenStack keystone service system#创建系统管理员用户名,密码,邮箱,还有租户。export KEYSTONE_SYSTEM_ADMIN_USER_NAME=&admin&export KEYSTONE_SYSTEM_ADMIN_USER_PASS=&adminPassword&export KEYSTONE_SYSTEM_ADMIN_USER_EMAIL=&&export KEYSTONE_SYSTEM_ADMIN_TENANT_NAME=&adminTenant&#这个是系统租户,Keystone,Glance,Nova这些系统用户的所属租户export KEYSTONE_SYSTEM_SERVICE_TENANT_NAME=&serviceTenant&export KEYSTONE_SYSTEM_TEST1_TENANT_NAME=&aipuTenant&export KEYSTONE_SYSTEM_TEST1_MANAGER_NAME=&aipumanager&export KEYSTONE_SYSTEM_TEST1_MANAGER_PASS=&aipu123&export KEYSTONE_SYSTEM_TEST1_MEMBER_NAME=&aipumember&export KEYSTONE_SYSTEM_TEST1_MEMBER_PASS=&aipu123&export KEYSTONE_SYSTEM_TEST2_TENANT_NAME=&maotaiTenant&export KEYSTONE_SYSTEM_TEST2_USER_NAME=&maotai&export KEYSTONE_SYSTEM_TEST2_USER_PASS=&maotai123&#系统用户的基本信息三个系统用户都是属于serviceTenant租户.export KEYSTONE_SERVER_IP=192.168.1.104export KEYSTONE_KEYSTONE_SERVICE_NAME=&keystone&export KEYSTONE_KEYSTONE_USER_NAME=&keystone&export KEYSTONE_KEYSTONE_USER_PASS=&Keystone_Pass&export GLANCE_SERVER_IP=192.168.1.105export KEYSTONE_GLANCE_SERVICE_NAME=&glance&export KEYSTONE_GLANCE_USER_NAME=&glance&export KEYSTONE_GLANCE_USER_PASS=&Glance_Pass&export NOVA_SERVER_IP=192.168.1.106export KEYSTONE_NOVA_SERVICE_NAME=&nova&export KEYSTONE_NOVA_USER_NAME=&nova&export KEYSTONE_NOVA_USER_PASS=&Nova_Pass&上面只是创建了一些环境变量。我们需要做的是把这些所需要的用户通过keystone的命令导入进去Keystone的数据库中下面是我的创建脚本我是抄作者的。不过意思我大概都理解了,添加了注释#!/bin/bash. ./settings.sh#Synchronize databasekeystone-manage db_sync#Keystone system env, support this scriptsexport SERVICE_TOKEN=$ADMIN_TOKENexport SERVICE_ENDPOINT=&http://$KEYSTONE_SERVER_IP:3&#Used to get idget_id(){
echo `$@ | awk '/ id / { print $4 }'`}#Create Tenantsecho 'create Tanants'ADMIN_TENANT_ID=$(get_id keystone tenant-create --name=$KEYSTONE_SYSTEM_ADMIN_TENANT_NAME)SERVICE_TENANT_ID=$(get_id keystone tenant-create --name=$KEYSTONE_SYSTEM_SERVICE_TENANT_NAME)#Following is for testingTEST1_TENANT_ID=$(get_id keystone tenant-create --name=$KEYSTONE_SYSTEM_TEST1_TENANT_NAME)TEST2_TENANT_ID=$(get_id keystone tenant-create --name=$KEYSTONE_SYSTEM_TEST2_TENANT_NAME)#Create Usersecho 'create users'ADMIN_USER_ID=$(get_id keystone user-create --name=$KEYSTONE_SYSTEM_ADMIN_USER_NAME /
--pass=$KEYSTONE_SYSTEM_ADMIN_USER_PASS --email=$KEYSTONE_SYSTEM_ADMIN_USER_MAIL)TEST1_MANAGER_USER_ID=$(get_id keystone user-create --name=$KEYSTONE_SYSTEM_TEST1_MANAGER_NAME /
--pass=$KEYSTONE_SYSTEM_TEST1_MANAGER_PASS --email=$KEYSTONE_SYSTEM_ADMIN_USER_MAIL)TEST1_MEMBER_USER_ID=$(get_id keystone user-create --name=$KEYSTONE_SYSTEM_TEST1_MEMBER_NAME /
--pass=$KEYSTONE_SYSTEM_TEST1_MEMBER_PASS --email=$KEYSTONE_SYSTEM_ADMIN_USER_MAIL)TEST2_USER_ID=$(get_id keystone user-create --name=$KEYSTONE_SYSTEM_TEST2_USER_NAME /
--pass=$KEYSTONE_SYSTEM_TEST2_USER_PASS --email=$KEYSTONE_SYSTEM_ADMIN_USER_MAIL)#Create Rolesecho 'create roles'ADMIN_ROLE_ID=$(get_id keystone role-create --name=admin)PROJECTMANAGER_ROLE_ID=$(get_id keystone role-create --name=projectmanager)MEMBER_ROLE_ID=$(get_id keystone role-create --name=Member)KEYSTONEADMIN_ROLE_ID=$(get_id keystone role-create --name=KeystoneAdmin)KEYSTONESERVICE_ROLE_ID=$(get_id keystone role-create --name=KeystoneServiceAdmin)echo &***************GRANT admin user on admin role to all tenant except serviceTenant*******&echo &ADMIN_TENANT_ID: & $ADMIN_TENANT_IDecho &ADMIN_USER_ID: & $ADMIN_USER_IDecho &ADMIN_ROLE_ID: & $ADMIN_ROLE_IDecho &Let admin user could manager all the tenant: Add adminuser with adminroles to all Tenants&keystone user-role-add --user $ADMIN_USER_ID --tenant_id $ADMIN_TENANT_ID --role $ADMIN_ROLE_IDkeystone user-role-add --user $ADMIN_USER_ID --tenant_id $SERVICE_TENANT_ID --role $ADMIN_ROLE_IDkeystone user-role-add --user $ADMIN_USER_ID --tenant_id $TEST1_TENANT_ID --role $ADMIN_ROLE_IDkeystone user-role-add --user $ADMIN_USER_ID --tenant_id $TEST2_TENANT_ID --role $ADMIN_ROLE_IDkeystone user-role-add --user $ADMIN_USER_ID --tenant_id $TEST1_TENANT_ID --role $PROJECTMANAGER_ROLE_IDkeystone user-role-add --user $ADMIN_USER_ID --tenant_id $TEST2_TENANT_ID --role $PROJECTMANAGER_ROLE_IDecho &******************these things, I did not know why ****************&keystone user-role-add --user $ADMIN_USER_ID --tenant_id $ADMIN_TENANT_ID --role $KEYSTONEADMIN_ROLE_IDkeystone user-role-add --user $ADMIN_USER_ID --tenant_id $ADMIN_TENANT_ID --role $KEYSTONESERVICE_ROLE_IDecho &**********************************GRANT test1 manager and member with related roles to test1tenant **********&keystone user-role-add --user $TEST1_MANAGER_USER_ID --tenant_id $TEST1_TENANT_ID --role $PROJECTMANAGER_ROLE_IDkeystone user-role-add --user $TEST1_MEMBER_USER_ID --tenant_id $TEST1_TENANT_ID --role $MEMBER_ROLE_IDkeystone user-role-add --user $TEST2_USER_ID --tenant_id $TEST2_TENANT_ID --role $PROJECTMANAGER_ROLE_IDecho &********************************create, nova , glance ......on serviceTenant ****************to tenant&NOVA_USER_ID=$(get_id keystone user-create --name=$KEYSTONE_NOVA_USER_NAME /
--pass=$KEYSTONE_NOVA_USER_PASS /
--tenant_id $SERVICE_TENANT_ID /
--email=)keystone user-role-add --tenant_id $SERVICE_TENANT_ID /
--user $NOVA_USER_ID /
--role $ADMIN_ROLE_IDGLANCE_USER_ID=$(get_id keystone user-create --name=$KEYSTONE_GLANCE_USER_NAME /
--pass=$KEYSTONE_GLANCE_USER_PASS /
--tenant_id $SERVICE_TENANT_ID /
--email=)keystone user-role-add --tenant_id $SERVICE_TENANT_ID /
--user $GLANCE_USER_ID /
--role $ADMIN_ROLE_IDKEYSTONE_USER_ID=$(get_id keystone user-create --name=$KEYSTONE_KEYSTONE_USER_NAME /
--pass=$KEYSTONE_KEYSTONE_USER_PASS /
--tenant_id $SERVICE_TENANT_ID /
--email=)keystone user-role-add --tenant_id $SERVICE_TENANT_ID /
--user $KEYSTONE_USER_ID /
--role $ADMIN_ROLE_IDecho &*************************************create service ******************** to tenant&NOVA_SERVICE_ID=$(get_id keystone service-create --name=$KEYSTONE_NOVA_SERVICE_NAME --type=compute --description=&Nova&)GLANCE_SERVICE_ID=$(get_id keystone service-create --name=$KEYSTONE_GLANCE_SERVICE_NAME --type=image --description=&Keystone&)KEYSTONE_SERVICE_ID=$(get_id keystone service-create --name=$KEYSTONE_KEYSTONE_SERVICE_NAME --type=identity --description=&Keystone&)echo &***********************************create endpoint ************************&keystone endpoint-create --region RegionOne /
--service_id=$NOVA_SERVICE_ID /
--publicurl=&http://$NOVA_SERVER_IP:8774/v2/%(tenant_id)s& /
--adminurl=&http://$NOVA_SERVER_IP:8774/v2/%(tenant_id)s& /
--internalurl=&http://$NOVA_SERVER_IP:8774/v2/%(tenant_id)s&keystone endpoint-create --region RegionOne /
--service_id=$GLANCE_SERVICE_ID /
--publicurl=http://$GLANCE_SERVER_IP:9292/v1 /
--adminurl=http://$GLANCE_SERVER_IP:9292/v1 /
--internalurl=http://$GLANCE_SERVER_IP:9292/v1keystone endpoint-create --region RegionOne /
--service_id=$KEYSTONE_SERVICE_ID /
--publicurl=http://$KEYSTONE_SERVER_IP: /
--adminurl=http://$KEYSTONE_SERVER_IP:3 /
--internalurl=http://$KEYSTONE_SERVER_IP:echo &finished&亲测可用。如果出现错误有可能是之前的服务没有做好。要根据实际情况检查下才行。简单测试一下,如果成功了。运行以下命令keystone user-list 会得到一些用户信息,一般失败的话在脚本导入的时候就已经有错误报告了。如果正常的话执行了source keystone.sh后结果会十分和谐。好了,Keystone认证服务基本上已经完成了,这个服务其实要配置的文件不多。比较多的是脚本。只要有这个脚本作为模板以后可以添加更多的用户,还有租户等等。cloud &&&&最新内容
cloud &&&&随机内容身份服务有两个主要功能:
用户管理:用户与用户行为跟踪;
服务目录:提供一个服务目录,包括服务项与相关Api的位置
身份服务有几个定义是重要的理解。
用户:用一个数字代表使用OpenStack云服务的一个人、系统、或服务。身份验证服务将会验证传入的由用户声明将调用的请求。用户如果已经登录,可就能分配令牌(tokens)访问资源。用户可能被直接分配给特定的租户,用户行为被包含在租户(tenant)。&
证书(Credentials):用户可以通过身份验证保证数据通常只被一个用户属于或拥有(因为没有其他人应该知道数据)。
以下为证书的例子:
一个匹配的用户名和密码
一个匹配的用户名和API键
自己和带照片的驾照
一个保密的私人令牌
认证(Authentication):在身份服务的环境中,认证是确认身份或识别真实性的行为。身份服务通过与用户的一组声明验证以确认传入的请求是由该用户声明过的。这些声明被初始化为一组证书&(username&password,&or&username&and&API&key)。初始确认后,身份服务将会给用户发布一个确认身份的令牌(Token),在用户随后的请求中可以使用这个令牌授权访问。
令牌(Token):令牌是一个用于访问资源的任意比特文本。每一个令牌有一个可用资源的描述范围。一个令牌可以在任意时间废除并且有一定的有效期。
&&&&身份服务支持基于令牌的认证,其意图是为了在将来支持一些附加的协议。其目的是为了让它首先成为一种集成服务,而不是一种渴望成为丰富的身份存储和管理的解决方案。
租户(Tenant):一个容器,用于组织和隔离资源,或标识对象。依赖于服务操作,一个租户可以一个客户、账户、组织、项目的映射。
服务(Service):一项OpenStack的服务,如计算(Nova)、对象存储(Swift)、或镜像服务(Glance)。一种服务通过可能获取资源或执行操作的用户提供给一个或多个末端。
末端(EndPoint):一项可用的服务,一个有效网络地址,常用URL描述。如果使用一个扩展为模板,您可以创建一个端点模板,它表示所有可跨地区的可消费的服务的模板。
角色(Role):一个人格,一个用户假设当执行一组特定的操作。一个角色包括一组权利和特权。一个用户假设角色继承这些权利和特权。
在身份服务中,一个令牌,是发送到用户包括用户可以承担角色的列表。通过用户决定他们如何解释组角色用户和哪些操作或资源每个角色授予访问,以调用服务。&
三个主要概念的身份用户管理:&    
用户    
租户    
用户代表一个人作为客户,并且相关的信息,如用户名、密码和电子邮件。这个示例创建了一个用户名为“alice”:
$&keystone&user-create&--name=alice&--pass=mypassword123&--email=
租户可以被认为是一个项目、组或组织。每当你让请求OpenStack服务,您必须指定一个租户。例如,如果您查询计算服务运行的实例的一个列表,你将在你指定查询的租户收到一个所有正在运行的实例列表。这个示例创建了一个名为“acme”租户:
$&keystone&tenant-create&--name=acme
注意:因为在早期版本的OpenStack计算的“项目(project)”被“租户(tenant)”代替,一些命令行工具使用——--project_id&instead&of&--tenant-id&or&--os-tenant-id&to&refer&to&a&tenant&ID。
一个角色代表用户在一个给定的租户能被允许执行的操作。这个示例创建一个角色命名为“compute-user”:
$&keystone&role-create&--name=compute-user
The&Identity&service&associates&a&user&with&a&tenant&and&a&role.&To&continue&with&our&previous&examples,&we&may&wish&to&assign&the&"alice"&user&the&"compute-user"&role&in&the&"acme"&tenant:
$&keystone&user-list
&&&&+--------+---------+-------------------+--------+
&&&&|&&&id&&&|&enabled&|&&&&&&&email&&&&&&&|&&name&&|
&&&&+--------+---------+-------------------+--------+
&&&&|&892585&|&&&True&&|&&|&alice&&|
&&&&+--------+---------+-------------------+--------+
$&keystone&role-list
&&&&+--------+--------------+
&&&&|&&&id&&&|&&&&&name&&&&&|
&&&&+--------+--------------+
&&&&|&9a764e&|&compute-user&|
&&&&+--------+--------------+
$&keystone&tenant-list
&&&&+--------+------+---------+
&&&&|&&&id&&&|&name&|&enabled&|
&&&&+--------+------+---------+
&&&&|&6b8fd2&|&acme&|&&&True&&|
&&&&+--------+------+---------+
$&keystone&user-role-add&--user=892585&--role=9a764e&--tenant-id=6b8fd2
注:keystone&命令使用需要权限(令牌或证书)以下为几种验证方法:
keystone&--token&xxxxx&&--endpoint&http://x.x.x.x:3&role-list
2、username+password
keystone&--os-username=admin&--os-password=secretword&--os-tenant-name=openstackDemo&--os-auth-url=http://192.168.206.130:3&token-get
3、source&/etc/keystone/keystonerc&
创建keystonerc文件,内容如下:
export&OS_USERNAME=admin
export&OS_PASSWORD=xxxx
export&OS_TENANT_NAME=openstackDemo
export&OS_AUTH_URL=
source&/etc/keystone/keystonerc
#可直接执行,如下
&keystone&user-list
more&info:http://docs.openstack.org/folsom/openstack-compute/install/yum/content/keystone-concepts.html
& 开源中国(OSChina.NET) |
开源中国社区(OSChina.net)是工信部
指定的官方社区

我要回帖

更多关于 怎么修改qq密码 的文章

 

随机推荐