OpenAFS学习手札(4)

来源:百度文库 编辑:神马文学网 时间:2024/04/27 08:16:25
上一节讲的是AFS系统中数据库系统的配置,还有一些问题的讨论和解决方法,这一节要说AFS系统中最基本的安全性配置和文件服务器的配置。在我的试验系统中碰到了很多的问题,很多都是比较典型的,在OpenAFS的mailist上都可以查到有人提出,但有些是没有答案的。我在这里写出我的解决方案,来和大家分享。这次最不爽的就是我的服务器多次硬盘出问题!害的我光是重装系统就装了4次!!8 Cell安全机制的初始化
现在我们来初始化cell的安全机制。首先从创建认证数据库(Authentication DataBase)中的两个初始化凭证开始:
1:一个普通的管理员帐户,通常叫做 admin 。如果你选择了一个不同的名称,那么记得在后面所有的操作中都是这个名字了。
在你安装完第一台AFS机器后,你可以让所有的管理员使用这个 admin 帐户,或者你可以为每一个管理员都创建一个管理员帐户。这样作虽然有些麻烦,但是可以更好管理所作的管理操作。
2:AFS服务器系统(AFS server processes)的凭证,叫做 afs 。没有用户会用这个身份登陆系统,但是认证服务器的许可发行服务模块(Authentication Server‘s Ticket Granting Service: TGS)使用相关联的密钥(key)来加密发布给AFS客户端(AFS clients)在和服务器做相互认证时所使用的服务器许可凭证(server tickets)。
在后面的步骤7介绍中AFS服务器的密钥会被存放在文件 /usr/afs/etc/KeyFile 中。AFS的服务器器组件在解密服务器许可凭证(server tickets)的时候就会使用这个文件。
在下面的配置中并没有配置相关AFS备份系统(AFS Backup System)中的安全机制。
1:进入kas交互模式。因为现在运行在非认证模式下,所以在命令行中要使用 -noauth 参数(记得kaserver要正常运行哦):
----------------------------------------
# kas -cell afs.server -noauth
ka>
----------------------------------------
2:使用 kas create 命令创建认证服务器凭证,名叫 admin 和 afs :
----------------------------------------
ka> create afs                                                                                     (创建afs帐户)
initial_password:  afs_passwd                                                               (输入密码)
Verifying, please re-enter initial_password: afs_passwd                       (再次输入密码)
----------------------------------------
ka> create admin                                                                               (创建admin帐户)
initial_password:  admin_passwd                                                         (输入密码)
Verifying, please re-enter initial_password: admin_passwd                 (再次输入密码)
----------------------------------------
3:使用 kas examine 命令来显示afs凭证。输出的信息是从你所设置的 afs_passwd 串在被服务器密钥加密后得到的一个常量的详细信息。在后面的步骤8中我们还可以用 bos listkeys 命令来检验这些信息:
----------------------------------------
ka> examine afs
User data for afs
Key (0) chsum is checksum ..................                     (后面还有很多信息我懒得写了)
----------------------------------------
4:使用 kas setfields 命令为admin帐户打开 ADMIN 属性。这使得admin用户可以有权限使用kas命令。然后使用 kas examine 命令验证 ADMIN 属性已经打开并在第一行输出:
----------------------------------------
ka> setfields admin -flags admin
ka> examine admin
User data for admin (ADMIN) ..................
----------------------------------------
5:使用 kas quit 命令退出kas交互模式:
----------------------------------------
ka> quit
#
----------------------------------------
6:使用 bos adduser 命令增加 admin 用户进文件 /usr/afs/etc/UserList。这使得 admin 用户可以有权限使用 bos 和 vos 命令:
----------------------------------------
# bos adduser SA-test2 admin -cell afs.server -noauth
----------------------------------------
7:使用 bos addkey 命令在文件 /usr/afs/etc/KeyFile 中定义AFS服务器密钥。
安全起见不要在命令行里输入密码,只有在象和bos命令交互的时候才可以输入密码,此时的密码是不回显的,此命令中输入的密码就是你在步骤2中所设置的密码:
----------------------------------------
# bos addkey SA-test2 -kvno 0 -cell afs.server -noauth
Input key: afs_passwd                                                                           (输入密码)
Retype input key: afs_passwd                                                                (再次输入密码)
----------------------------------------
8:使用 bos listkeys 命令验证这个新key的详细和我们在步骤3中所以显示的认证数据库中afs凭证的key的详细是相同的:
----------------------------------------
# bos listkeys SA-test2 -cell afs.server -noauth
key 0 has chsum checksum ...................
....................
all done.
----------------------------------------
如果有bos取不到tickets或者认证失败的错误报告,你可以不用理会。在我的试验中没有遇到这样的情况。
如果要设置不同的key,用下面的命令。。。。。。。。。
9:使用 pts createuser 命令为 adimin 用户在保护数据库中创建凭证。
默认情况下,保护服务器(Protection Server)将分配 AFS UID 1 给admin用户,因为这是你在AFS系统中创建的第一个用户。如果本地密码文件(一般是 /etc/passwd)已经有了admin用户并且UNIX UID不是1的话,那么最好在 pts createuser 命令使用 -id 参数让 AFS UID 和已经存在的UNIX UID相符。当然还是用默认的最好啦:
----------------------------------------
# pts createuser -name admin -cell afs.server  [-id ] -noauth
User admin has id 1...........                                                            (1 就是 AFS UID)
----------------------------------------
10:使用 pts adduser 命令让admin用户成为 system:administrators 组的成员,然后使用 pts membership 命令来验证这个新成员。这样使得admin用户可以有pts的权限和一部分权限的fs命令:
----------------------------------------
# pts adduser  admin system:administrators -cell afs.server -noauth
# pts membership  admin -cell afs.server -noauth
Group admin (id: 1) is a member of :
system:administrators
----------------------------------------
11:使用 bos restart 命令加上 -all 参数重启数据库服务器各个部件,这样启动后就是使用了新的服务器密钥了:
----------------------------------------
# bos restart SA-test2 -all -cell afs.server -noauth
----------------------------------------
12:重启后可以使用 bos status 命令查看各个服务器启动运行状态:
----------------------------------------
# bos status SA-test2 -noauth
Instance kaserver, currently running normally.
Instance buserver, currently running normally.
Instance ptserver, currently running normally.
Instance vlserver, currently running normally.
----------------------------------------
到这里我们已经成功初始化了cell的安全机制。下面我们将配置启动文件服务器。我在考虑是不是需要再换一篇,写成OpenAFS学习手札(5)?因为我发现一篇blog太长了很不方便。
_xyz