1 安装GT 4.0
1.用root用户登录并创建“globus”的用户,通过运行下面的命令为该用户建立目录并赋予globus用户对其目录的所有权限:
root# 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 2>&1 | tee build.log
5.最后运行:
来完成安装。
2 安全配置
标准的安装文档的结构设置存在问题,如果按照它的顺序无法完整安装。这里我们对结构进行了调整。这部分包含了标准安装文档的5、6、7章的内容。
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.pem和hostkey.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.申请证书
首先,用一个普通用户登录。然后在命令行输入如下命令:
在此过程中,会提示你输入passphrase。这个是用来生成密钥的短语,要牢记。否则只能重新申请证书。
最后,系统中会生成如下三个文件:
· ~$USER/.globus/usercert.pem (empty)
· ~$USER/.globus/userkey.pem
· ~$USER/.globus/usercert_request.pem
其中usercert.pem是空文件,需要另外获得。此时,会用email方式将usercert_request.pem给SimpleCA的管理员。
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
注:主体名两侧的双引号是必须的,因为这样可以忽略其中包含的空格。
posted on 2005-10-01 09:34
思考 阅读(4732)
评论(8) 编辑 收藏 所属分类:
Grid Computing