随笔-49  评论-67  文章-27  trackbacks-0

1 安装GT 4.0

1.用root用户登录并创建“globus”的用户,通过运行下面的命令为该用户建立目录并赋予globus用户对其目录的所有权限:

root#[1] mkdir /usr/local/globus-4.0.1

root# chown globus:globus /user/local/globus-4.0.1

2.下载附录 软件先决条件里面的软件。

注:正确设置JAVA_HOME环境变量,在/etc/profile里面加入

export JAVA_HOME=/usr/local/jdk1.5.0_04

同时在/etc/ant.conf文件里面只需要加入

ANT_HOME=/usr/local/ant-1.6.5

3.最为globus用户登录,运行命令:

globus$ export GLOBUS_LOCATION=/user/local/globus-4.0.1

globus$ ./configure –prefix=$GLOBUS_LOCATION

同时可以使用./configure –help获得更多帮助信息。

注:为了方便执行,可以将上面第一个语句加入到/etc/profile文件里面,或者加入到用户自己HOME目录下的.bashrc文件中。

4.执行命令:

globus$ make

也可以用下面的命令对安装过程进行日志记录:

globus$ make 2>&1 | tee build.log

5.最后运行:

globus$ make install

来完成安装。

2 安全配置

       标准的安装文档的结构设置存在问题,如果按照它的顺序无法完整安装。这里我们对结构进行了调整。这部分包含了标准安装文档的567章的内容。

2.1 设置环境变量

1.  作为globus登录,设置GLOBUS_LOCATION指向Globus Toolkit的安装路径:

globus$ export GLOBUS_LOCATION=/usr/local/globus-4.0.1

注:如果上面你以及在/etc/profile里面进行了设置,这里就不需要再执行这一步骤。

2.  执行$GLOBUS_LOCATION/ect/gobus-user-env.sh(我们这里使用的是BShell。如使用的是C Shell,需要执行后缀是csh的文件)。

globus$ . $GLOBUS_LOCATION/ect/globus-user-env.sh

注:在点“.”和$GLOBUS_LOCATION/ect/globus-user-env.sh之间有一个空格。

2.2 得到主机证书(host certificates

为了运行GT 4.0,必须为主机分配证书。其中:

l         证书必须包含两个文件:hostcert.pemhostkey.pem

l         同时,这两个文件必须放在正确的目录下:/etc/grid-security/

l         主机在DNS上必须具有一个固定的域名,不可以运行在使用了DHCP服务的服务器上。

为此,可以选择:

l           从一个以及存在的CA处申请一个证书。

l           安装SimpleCA,并使之为我们分配证书。

l           使用globus提供的low-trust证书。

这里,我们选择一个比较容易实现的方法,就是安装SimpleCA。在下面一节里面我们将介绍如何安装和配置SimpleCA

2.3 安装和配置SimpleCA

1.创建用户

       保证系统中存在这样的用户:

l           普通的用户账号,用来执行客户端的程序。

l           一个globus账号,用来执行管理的任务。如启动、停止容器,部署服务等。同时,这个用户还负责管理SimpleCA。为此,需要保证该用户对$GLOBUS_LOCATION目录有读写权限。在第1章中我们以及创建了这样一个用户。

2.运行安装脚本

       对每个网格,只需运行一次下面的脚本即可。

globus$ GLOBUS_LOCATION/setup/globus/setup-simple-ca

在此过程中,程序会提醒你关于你想创建的CA的信息,如:

The unique subject name for this CA is:

cn=Globus Simple CA, ou=simpleCA-mci.uestc.edu.cn, ou=GlobusTest, o=Grid

Do you want to keep this as the CA subject (y/n) [y]:

推荐默认选项,按y继续。接下来,会提示你输入用来发送证书的email地址:

Enter the email of the CA (this is the email where certificate requests will be sent to be signed by the CA):

这时,系统提示你输入证书过期的时间。默认是5年,接受即可。

The CA certificate has an expiration date. Keep in mind that                 once the CA certificate has expired, all the certificates                 signed by that CA become invalid.  A CA should regenerate                 the CA certificate and start re-issuing ca-setup packages                 before the actual CA certificate expires.  This can be done                 by re-running this setup script.  Enter the number of DAYS                 the CA certificate should last before it expires.

[default: 5 years (1825 days)]:

紧接着,系统提示输入生成密钥的短语。这里可以随意输入,但是不允许包括空格。同时一定要记住,因为接下来还要使用这个短语。

Generating a 1024 bit RSA private key

                ........++++++

                ................++++++

                writing new private key to '/home/globus/.globus/simpleCA//private/cakey.pem'

                Enter PEM pass phrase:

最后,你会看见下面的提示:

A self-signed certificate has been generated for the Certificate Authority with the subject:                            /O=Grid/OU=GlobusTest/OU=simpleCA-mayed.mcs.anl.gov/CN=Globus Simple CA

If this is invalid, rerun this script

setup/globus/setup-simple-ca

and enter the appropriate fields.

------------------------------------------------------------------

The private key of the CA is stored in /home/globus/.globus/simpleCA//private/cakey.pem

The public CA certificate is stored in /home/globus/.globus/simpleCA//cacert.pem

The distribution package built for this CA is stored in

/home/globus/.globus/simpleCA//globus_simple_ca_68ea3306_setup-0.17.tar.gz

这里显示的信息对于以后在其它机器上进行安装你的网格是十分重要的。在最后一行的数字68ea3306是你的CA hash,它是一个8位的十六进制的字符串。安装继续进行,直到你看到类似下面的内容,证明安装以及结束。

******************************************************************

Note: To complete setup of the GSI software you need to run the following script as root to configure your security configuration directory:

/opt/gt4/setup/globus_simple_ca_68ea3306_setup/setup-gsi

For further information on using the setup-gsi script, use the -help option.  The -default option sets this security configuration to be the default, and -nonroot can be used on systems where root access is not available.

******************************************************************

setup-ssl-utils: Complete

3.安装GSI

       root用户登录,运行:

root# $GLOBUS_LOCATION/setup/globus_simple_ca_CA_Hash_setup/

setup-gsi -default

其中,Hash表示你的CA Hash,应该用68ea3306代替。这里每次安装时获得的CA Hash是不一样的,应该注意。

2.4 证书的申请和发放

2.4.1 host证书

1.申请一个host证书

       这个证书应该是给服务器申请的,这样才可以向用户发放证书。首先,使用root用户登录,运行命令:

root# grid-cert-request –host ‘hostname’

这里的hostname是服务器的主机名,比如“mci.uestc.edu.cn”。该命令会在服务器上创建3个文件,分别是:

l           /etc/gride-security/hostkey.pem

l           /etc/grid-security/hostcert_request.pem

l           /etc/grid-security/hsotcert.pem(这是一个空的文件)

之后,会通过邮件的方式将hostcert_request.pem发送给CA的管理员,即globus用户。

2.对host证书签名

       作为globus用户登录,并运行如下命令:

grid-ca-sign –in hostcert_request.pem –out hostsigned.pem

这个命令是对接受到的host证书进行签名,从而生成hostsigned.pem文件。在此过程中,系统提示globus用户输入最初安装SimpleCA时输入的短语。

3.获得签名证书

作为root用户登录,将刚才生成的hostsinged.pem文件移到/etc/grid-security/目录下并改名为hostcert.pem,从而覆盖原先的空文件。这时,该文件的所有者是root,同时对其它用户是只读的权限。

2.4.2 用户证书

1.申请证书

首先,用一个普通用户登录。然后在命令行输入如下命令:

user$ grid-cert-request

在此过程中,会提示你输入passphrase。这个是用来生成密钥的短语,要牢记。否则只能重新申请证书。

       最后,系统中会生成如下三个文件:

·         ~$USER/.globus/usercert.pem (empty)

·         ~$USER/.globus/userkey.pem

·         ~$USER/.globus/usercert_request.pem

其中usercert.pem是空文件,需要另外获得。此时,会用email方式将usercert_request.pemSimpleCA的管理员。

2.对申请的证书进行签名

       SimpleCA的管理员账号globus登录,并运行如下命令

globus$ grid-ca-sign -in usercert_request.pem -out signed.pem

对通过email收到的usercert_request.pem进行签名。这时,系统会提示globus用户输入在安装SimpleCA过程中输入的passphrase。正确输入后就会根据usercert_request.pem生成一个signed.pem文件,并通过email将其发送给申请证书的用户。

3.获得签名证书

       用普通用户登录,并接收来自email的经过签名的signed.pem文件,将其拷贝到~$USRE/.globus/目录下,并改名为usercert.pem。从而覆盖原先生成的空文件。

2.4.3 测试

       为了对安装在/etc/grid-security/certificates的证书进行校验,需要运行如下命令:

user$ grid-proxy-init –debug –verify

如果一切正确,输出的结果类似下面的内容:

[bacon@mayed schedulers]$ grid-proxy-init -debug -verify

        User Cert File: /home/user/.globus/usercert.pem

        User Key File: /home/user/.globus/userkey.pem

        Trusted CA Cert Dir: /etc/grid-security/certificates

        Output File: /tmp/x509up_u1817

        Your identity: /O=Grid/OU=GlobusTest/OU=simpleCA-mayed.mcs.anl.gov/OU=mcs.anl.gov/CN=User Name

        Enter GRID pass phrase for this identity:

        Creating proxy ..............................++++++++++++

        ...............++++++++++++

        Done

        Proxy Verify OK

        Your proxy is valid until: Sat Mar 20 03:01:46 2004

2.5 使容器可以访问证书

       通过上述方法获得证书的host key文件(/etc/grid-security/hostkey.pem)对于root用户使只读的。而此时容器会以非root用户身份运行(可能使globus用户)。为了让容器也可以访问证书,必须使用root账号登录并做如下改动:

root# cd /etc/grid-security

root# cp hostkey.pem containerkey.pem

root# cp hostcert.pem containercert.pem

root# chown globus.globus containerkey.pem containercert.pem

执行结束后,/etc/grid-security目录看起来像下面这样:

root# ls -l *.pem

-rw-r--r-- 1 globus globus 1785 Oct 14 14:47 containercert.pem

-r-------- 1 globus globus 887 Oct 14 14:47 containerkey.pem

-rw-r--r-- 1 root root 1785 Oct 14 14:42 hostcert.pem

-r-------- 1 root root 887 Sep 29 09:59 hostkey.pem

2.6 添加授权

为用户添加授权,使之可以访问服务。首先,需要作为root用户登录,创建/etc/grid-security/grid-mapfile文件。这时,你需要两部分信息:

l           用户的主体名(subject name

l           这个主体名应该映射到的账号(account name

这个文件的语法是每个用户使用一行来表示,前面是用户的主体名,后面跟着用户的账号。

       为了得到这两部分信息,可以使用grid-cert-info命令得到用户的主体名,并用whoami命令得到用户的账号。例如:

bacon$ grid-cert-info -subject

/O=Grid/OU=GlobusTest/OU=simpleCA-mayed.mcs.anl.gov/OU=mcs.anl.gov/CN=Charles Bacon

bacon$ whoami

bacon

可以使用grid-mapfile-add-entry命令向grid-mapfile文件中添加用户。例如:

root# $GLOBUS_LOCATION/sbin/grid-mapfile-add-entry -dn "/O=Grid/OU=GlobusTest/OU=simpleCA-mayed.mcs.anl.gov/OU=mcs.anl.gov/CN=Charles Bacon" -ln bacon

结果grid-mapfile看起来应该像这样:

"/O=Grid/OU=GlobusTest/OU=simpleCA-mayed.mcs.anl.gov/OU=mcs.anl.gov/CN=Charles Bacon" bacon

注:主体名两侧的双引号是必须的,因为这样可以忽略其中包含的空格。



[1] 在指南中,所有命令之前都标准执行该命令的用户名。root# 表示系统管理员root用户,globus$ 表示globus用户执行该命令。对于不是globus的非特权用户,我们使用user$ 来表示

posted on 2005-10-01 09:34 思考 阅读(4740) 评论(8)  编辑  收藏 所属分类: Grid Computing

评论:
# re: Globus Toolkit 4.0安装配置 Part I 2005-12-11 15:59 | zhouwanliyt
不错嘛  回复  更多评论
  
# re: Globus Toolkit 4.0安装配置 Part I 2006-02-22 11:21 | Uz
看不太懂~  回复  更多评论
  
# re: Globus Toolkit 4.0安装配置 Part I 2006-05-31 11:35 | song
谢谢 , 这是我找过中最详细的 !!   多谢!!  回复  更多评论
  
# re: Globus Toolkit 4.0安装配置 Part I 2006-08-02 17:58 | jan
用globus身份输入:grid-ca-sign –in hostcert_request.pem –out hostsigned.pem
结果出错,显示为:ERROR: Please specify a request file using the -in option
请您帮我看看到底哪儿出错了,十分感谢


  回复  更多评论
  
# re: Globus Toolkit 4.0安装配置 Part I 2007-10-18 08:59 | 打发
@jan
必然需要指定待签发证书的路径了.  回复  更多评论
  
# re: Globus Toolkit 4.0安装配置 Part I 2008-10-17 11:48 | 光华
@打发


那个不是 自动邮寄给GLOBUS用户了么、?? 怎么还要路径。而且找不到路径啊  回复  更多评论
  
# re: Globus Toolkit 4.0安装配置 Part I 2009-03-06 17:46 | 施宇光
你转载我的就转载,还删除我开始和最后写的转载版权来源

实在是够呛!  回复  更多评论
  
# re: Globus Toolkit 4.0安装配置 Part I[未登录] 2009-06-04 17:05 | james
我执行到globus$ grid-ca-sign -in usercert_request.pem -out signed.pem这一步时,总是提醒没有找到grid-ca-sign命令。这是怎么回事呢,望指点。
  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问