OpenAFS 用户快速上手教程

本文是OpenAFS用户快速上手教程,涵盖了AFS目录结构、登录流程、访问权限管理,包括fs la和fs sa命令的使用、权限继承规则以及用户组管理。介绍了如何在Linux、Windows系统中登录AFS,以及如何查看和设置目录权限,重点解析了OpenAFS的权限机制和ACL,帮助用户更好地理解和分享AFS资源。
摘要由CSDN通过智能技术生成

如果你是一个 AFS (OpenAFS) 的新手用户,需要对 AFS 的操作有进一步的了解,这篇文章就是为你准备的。我们先介绍一点 AFS 的基本概念,然后就讨论用户最常使用的几个操作。

AFS 的目录结构

AFS 的第一级目录总是 /afs,第二级目录一般是类似 hq.company.com 这样的域名形式,但也可以是由系统管理员决定的其他字符串。

每个第二级目录都是独立管理和运行的一个 AFS 系统,叫做一个 AFS Cell. 比如

/afs/athena.mit.edu

/afs/ir.stanford.edu

就是两个完全不同的 AFS Cell, 前者由麻省理工学院运行和维护,后者由斯坦福大学运行和维护。如果你需要了解自己处在哪个 AFS Cell 的管理下,只要看当前路径的第二层即可。

一个用户在不同 Cell 里可以有不同的账户。这些账户分别由每个 Cell 单独管理。也就是说,如果你需要进入某个 /afs 下的子目录,你需要拥有一个合法访问这个子目录的账户。

作为普通AFS 用户,一个向你开放的 Cell 除了给你一个合法账户,还会为你创建一个属于你自己的个人目录。这种目录往往被管理员安排在类似如下形式的路径下:

/afs/hq.company.com/users/x/i/ximeng

你可以在任何一台配置了 AFS 客户端的主机上登录和访问自己的个人目录,以及所有你有访问权的目录。

对,这就像一个组织内的 dropbox,或者共享文件夹。你也可以把它看作是组织内的云存储。

一台可以访问 /afs 目录的主机被称为一个 AFS 客户端。一个 AFS 客户端可以被配置成访问多个 AFS Cell.

OpenAFS 客户端支持所有主流的 Linux, Unix 和 BSD 发行版,也支持 Windows 和 MacOS.

如果你的组织有几十台甚至几百台主机都安装了 AFS 客户端,那么你登录其中的任何一台就可以读写自己在 /afs 下的文件和目录。

登录AFS

除了向公众完全开放的子目录以外,一个 AFS Cell 必须登录才能访问。

如果你发现自己忽然无法访问理应可以访问的某个 /afs 子目录,首先需要查看的就是自己是否已经登录 AFS ,登录是否还有效。

登录 AFS 的过程可以和网上购买火车票的过程作类比。

网上购票可以大致分为两步,第一步进行实名认证购买电子车票,第二步到特定的取票点取得服务凭据,即车票。

登录 AFS 也分为两步,第一步以用户名和密码进行身份认证,第二步获取 AFS token.

  • AFS 把授予用户的服务凭据叫 token. token 类似火车票,是访问 AFS 文件系统的有效凭证。AFS token 上面有用户的账户名和有效期。获取 token 的意思就是登录 AFS Cell.

以 AFS 用户名 xguan 为例,登录 AFS 的第一步的命令是 kinit

$ kinit xguan

这一步要求输入密码以证明验证身份。

如果身份验证通过,则可以执行第二步获取 AFS token. 第二步的命令是

$ aklog

这一步不需要密码。执行完毕就可以获得一个带有有效期的 AFS token。此后就可以像访问一般文件系统一样访问 /afs 目录下的内容。

查询 AFS 登录状态的命令是

$ tokens

执行该命令可以看到已经获取的 AFS token 的用户名和有效期。如果返回的内容是空,则说明没有有效的登录,需要重新登录才能访问 AFS.

超过 AFS token 有效期,登录即失效,tokens 命令的返回内容会重新变为空值。

登出 AFS 系统的命令是

$ unlog

执行此命令会销毁 AFS token

一般情况下销毁 AFS token 不会消除已经用 kinit 完成的身份认证。为了同时销毁身份认证记录以防止其他用户通过 aklog 命令不用密码就获得新的 AFS token,应该再继续执行命令

$ kdestroy

在登入登出命令上, kinit 对应 kdestroy, aklog 对应 unlog。

如果需要修改 AFS 密码,可以使用命令

$ kpasswd

然后根据提示先输入当前密码,再输入新密码两次即可。

从 Linux 系统登录 AFS

很多 Linux 服务器被配置成允许 AFS 用户直接登录。此时你的 AFS 用户名和密码就是你登录 Linux 的用户名和密码.

比如你可以使用 ssh 命令以 AFS 用户名和密码远程登录这样的 Linux 主机。Linux 主机会自动获取 AFS token,你不再需要单独执行 kinit 和 aklog 命令。登录成功后就可以直接访问 /afs 下的内容,也可以使用 tokens 命令随时查看登录状态。

Windows 登录 AFS

如果你的组织的Active Directory 域正好也配置成 AFS 的身份验证系统时,你的域账号就是你的 AFS 账号。

如果你使用的 Windows 系统已经加入Active Directory 域,同时也配置了 AFS 客户端,那么当你用域账号登录 Windows 时就完成了身份验证的第一步,不再需要执行 kinit 命令。

此时只需要打开一个命令行界面执行略作改动后的第二步命令:

> aklog 
AFS(Andrew File System)是一个分布式文件系统,它提供了一个类似于本地文件系统的接口,允许用户通过网络访问分布在不同地理位置的文件。本文将介绍如何在 CentOS 7 上部署 AFS 平台。 ## 环境准备 在开始之前,确保您具备以下条件: - 一台运行 CentOS 7 系统的服务器,可以是物理服务器或虚拟机。 - 一个具有 root 权限的用户账号。 - 配置了静态 IP 地址。 ## 安装基本依赖 首先,我们需要安装一些必要的软件包,以便我们能够成功地安装和配置 AFS。使用以下命令安装基本依赖: ``` yum install -y epel-release yum install -y krb5-server krb5-libs krb5-workstation openafs openafs-client pam_krb5 ``` ## 配置 Kerberos Kerberos 是一个网络身份验证协议,它用于在计算机网络中进行身份验证。在 AFS 中,我们使用 Kerberos 进行身份验证。我们需要配置 Kerberos,以便它可以与 AFS 一起工作。 ### 配置 /etc/krb5.conf 编辑 /etc/krb5.conf 文件,并做出以下更改: ``` [logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = EXAMPLE.COM dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true [realms] EXAMPLE.COM = { kdc = kerberos.example.com admin_server = kerberos.example.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM ``` 将 EXAMPLE.COM 替换为您的域名,将 kerberos.example.com 替换为您的 Kerberos 服务器的主机名或 IP 地址。 ### 创建 Kerberos 数据库 使用以下命令创建 Kerberos 数据库: ``` kdb5_util create -s ``` ### 启动 Kerberos 服务 使用以下命令启动 Kerberos 服务: ``` systemctl start krb5kdc systemctl start kadmin ``` ### 添加管理员账户 使用以下命令创建管理员账户: ``` kadmin.local -q "addprinc root/admin" ``` 您需要设置一个密码以保护管理员账户。 ## 配置 OpenAFS 现在,我们需要配置 OpenAFS,以允许我们在服务器上运行 AFS 服务。 ### 配置 /etc/openafs/ThisCell 编辑 /etc/openafs/ThisCell 文件,并将其设置为您的 AFS 单元名称。例如: ``` example.com ``` ### 配置 /etc/openafs/CellServDB 编辑 /etc/openafs/CellServDB 文件,并将其设置为您的 AFS 单元服务器的主机名或 IP 地址。例如: ``` >cat /etc/openafs/CellServDB # This file is automatically generated by OpenAFS. Do not edit. # # The format of this file is described in the OpenAFS Administration Guide. # >echo "192.168.1.100" >> /etc/openafs/CellServDB ``` ### 启动 OpenAFS 服务 使用以下命令启动 OpenAFS 服务: ``` systemctl start openafs-client systemctl start openafs-server ``` ### 设置 AFS 管理账户 使用以下命令设置 AFS 管理账户: ``` pts createuser admin system:anyuser -nomembership ``` ### 创建 AFS 卷 使用以下命令创建一个名为 testvol 的 AFS 卷: ``` fs mkmount /afs/testvol -rw /vicepa ``` ### 测试 AFS 使用以下命令测试 AFS 是否正常工作: ``` echo "This is a test file" > /afs/testvol/test.txt cat /afs/testvol/test.txt ``` 如果输出为 "This is a test file",则说明 AFS 已经成功地安装和配置。 ## 结论 在本文中,我们介绍了如何在 CentOS 7 上部署 AFS 平台。我们首先安装了基本依赖项,然后配置了 Kerberos 和 OpenAFS。最后,我们创建了一个 AFS 卷并进行了测试以确保 AFS 正常工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值