本文へジャンプ

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

送信されたすべての情報は安全です。

  • 閉じる [x]

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む


送信されたすべての情報は安全です。

  • 閉じる [x]

Kerberos 5 でサポートされる OpenAFS を構成する

Avinesh Kumar, Staff Software Engineer, IBM
Photo of Avinesh Kumar
Avinesh Kumar は、インド・プネの IBM Software Labs で、Andrew File System Team の技術主任を務めています。IBM での勤務年数は 5 年を数え、彼の現在のプロジェクトには、新機能による IBM AFS の強化、新しい RedHat Enterprise Linux への IBM AFS の移植などがあります。彼は、ダンプおよびクラッシュのカーネル・レベルおよびユーザー・レベルのデバッグ、そして Linux、AIX、および Solaris プラットフォームでレポートされたバグに取り組んでいます。彼は University of Pune でコンピューター・サイエンス学部の MCA を取得しました。Linux の熱狂的ファンである彼は、余暇は自分の Maverick Ubuntu マシンで Linux カーネルの研究に費やしています。
(An IBM developerWorks Contributing Author)

概要: Kerberos 4 プロトコルに脆弱性が確認されたことから、世界中のユーザーには Kerberos 5 に移行して認証を行うように推奨されています。Andrew File System で認証リクエストを処理するコンポーネント、Kaserver は、Kerberos 4 をベースとしたアプリケーションです。そのため、IBM AFS および OpenAFS (OpenAFS コミュニティーが保守管理する IBM AFS の外部委託バージョン) のユーザーにも、Kerberos 5 に切り替えることが推奨されます。この記事では、認証に Kerberos 5 を使用する AFS セルを構成する手順をステップごとに説明します。

日付:  2011年 7月 01日
レベル: 中級 この記事の原文:  英語
アクティビティー: 2078 ビュー
お気軽にご意見・ご感想をお寄せください: 


概要

この記事では AFS および Kerberos の基本的な概要を紹介した後、OpenAFS 安定版リリース 1.4.14 を使用して RedHat Enterprise Linux 6 で AFS を構成しますが、この構成手順は他の Linux ディストリビューションや他の OpenAFS リリースでもほとんど、あるいはまったく変わりません。この記事では最初に Kerberos 5 サービス、次に OpenAFS の順で構成します。


AFS の簡単な紹介

IBM AFS (および OpenAFS) は、連携して動作するホストの間でファイルシステム・リソースを共有し、クライアントが LAN (Local Area Network) と WAN (Wide Area Network) の両方でこれらのリソースを使用できるようにするという、クライアント・サーバー・アーキテクチャーでのネットワーク・ベースの分散ファイルシステムです。AFS は当初、ペンシルバニア州ピッツバーグにあるカーネギー・メロン大学の Information Technology Center で開発されました。AFS には以下の主要な長所があります。

  • グローバル名前空間
  • ロケーションの透過性
  • キャッシング機能
  • スケーラビリティー
  • セキュリティー機能
  • 堅牢な通信プロトコル

これらの特徴により、AFS は開発されてからかなり長い年月が経った今でも、分散ファイルシステムの草分けとして知られています。現在使用されているすべての主要なプラットフォームでは、AFS を使用することができます。

アーキテクチャーについて言うと、AFS のコンポーネントにはサーバーとクライアントの 2 つがあります。以下に、AFS アーキテクチャーについて簡単に説明します。

  • サーバー・コンポーネント (Vice) — AFS サーバーは、BOS Server (Basic OverSeer Server) と呼ばれるスーパー・サーバーによって監視されます。マシン上での AFS プロセスの正常性を監視する BOS Server は、これらのプロセスを開始、停止、中断、再開したり、新しいサーバー・バイナリーを更新したりするためにも使用される場合があります。BOS Server 以外のサーバーは、データベースとファイルという 2 つのカテゴリーに分かれます。
    • データベース・サーバー — 以下のサーバーは、データベース・サーバーのカテゴリーに属します。
      • バックアップ・サーバー (buserver) — バックアップ・データベースの保守を行い、データベース・サーバー上でのすべてのバックアップ操作を管理します。
      • ボリューム・ロケーション・サーバー (vlserver) — ボリューム・ロケーション・データベース (VLDB) の保守を行い、すべてのボリュームとそのファイル・サーバー上でのロケーションに関する情報を追跡します。AFS ボリュームについては、以下の説明を参照してください。vlserver がサポートする操作には、ボリュームのロケーションおよびステータスのクエリー、ボリューム ID の管理、VLDB エントリーの作成、削除、変更などがあります。
      • 保護サーバー (ptserver) — 保護データベース (PDB) の保守を行います。PDB は、ユーザー名またはグループ名を、数値による内部 AFS ID にマッピングするデータベースです。ptserver は、所有権およびメンバーシップを作成、破棄、変更、照会する際にも使用されます。
      • 認証サーバー (kaserver) — ユーザーの認証に使用する認証データベースの保守を行います。また、認証に成功したクライアントに対し、認証チケットで応答します。
    • ファイル・サーバー
      • ファイル・サーバー (fileserver) — 適切に認証されたクライアントのリクエストがアクセスできるように、AFS ボリューム内にあるファイルとディレクトリーに設定を行います。このサーバーは、フラット・ファイル・サービスを提供します。
      • サルベージ・サーバー (salvager) — ファイル・サーバー上の AFS ボリュームに格納されたデータを回復するための最大限の努力を行います。
      • ボリューム・サーバー (volser) — AFS ボリュームに関する管理タスク (作成、再配置、削除、複製など) を許可します。
  • クライアント・コンポーネント (Venus) — AFS クライアント (afsd) は、一連のデーモンの支援によって、AFS キャッシュの管理に対処します。クライアント・コンポーネントは、ローカル・ディスクへのキャッシングとメモリー内のキャッシングの両方をサポートします。

AFS サーバーはユーザー・レベルのアプリケーションですが、AFS には AFS 空間への呼び出しをインターセプトするカーネル・モジュールがあります。


AFS の基本概念

運営管理上独立した組織が管理および操作する一連のサーバーおよびクライアント・マシンは、まとめて AFS セルと呼ばれます。AFS セル内のマシンのうち、少なくとも 1 つがデータベース・サーバーおよびファイル・サーバーのプロセスを実行している必要があります。残りのマシンが実行するのは、クライアント・コンポーネントのみにすることもできます。

AFS はファイルをボリュームに格納します。ボリュームは、AFS のファイル・サーバー・コンポーネントを実行するマシン上のストレージ域を使用します。AFS ボリュームは、ファイルとディレクトリーを格納するコンテナーと見なすことができます。これらのボリュームは、システム管理者がロード・バランシングを目的に、同じ AFS セル内でファイル・サーバー・プロセスを実行するマシンの間で移動できるように設計されています。AFS ボリュームで実行できる操作には、複製、データのダンプ、バックアップ、リストアなどがあります。ボリュームに関連する概念は、この記事で取り上げる以外にも多数あります。

AFS セル内のさまざまなマシンで実行されるデータベース・サーバーのプロセスは、データベース・サーバーのデータベースを同期された状態に維持するために Ubik プロトコルを使用します。Ubik プロトコルは、VLDB、ADB、PDB などのデータベースを一貫して複数のサーバー・マシンで複製してデータベースの可用性を向上させ、複製サイトの間でアクセス負荷を共有する場合に役立ちます。このプロトコルはクォーラム・アルゴリズムを使用してデータベース情報を同期します。

もう 1 つの重要な概念は、AFS サーバーと AFS クライアントのプロセスが AFS セル内または AFS セル間で使用する通信メカニズム、Rx です。Rx は 1 つの RPC (Remote Procedure Call) メカニズムであり、同じマシン上や LAN (Local Area Network) および WAN (Wide Area Network) 上で実行されるプロセス間の通信には、ハイパフォーマンスのマルチスレッド化されたセキュアなメカニズムとなります。Rx ライブラリーは、カーネルおよびユーザー空間アプリケーション内で同様の API インターフェースで使用できるように設計されています。


Kerberos の簡単な紹介

Kerberos は、MIT で開発されたネットワーク認証プロトコルです。このプロトコルは、共有対称鍵を使用して相互認証を確立します。メッセージの暗号化にも復号にも、同様の暗号鍵を使用できることから、通信する双方がそれぞれ正しい相手と通信していることが保証されます。

Kerberos の基本概念

このセクションでは、記事で使用する Kerberos の基本概念を明確にします。その上で、Kerberos レルムを構成します。レルムとは、認証管理ドメインを表しています。つまりレルムによって、そのレルムの AS (Kerberos インフラストラクチャーのコンポーネントである認証サーバー) が認証を行う対象は、そのレルムに属するプリンシパルに制限されます。Kerberos でのプリンシパルは、認証サービスを必要とするユーザー、マシン、サービスなどのエンティティーです。レルムに属するプリンシパルは、それぞれの暗号鍵をレルムの認証サーバーと共有します。

プリンシパルに関連する重要な概念は、鍵とチケットの 2 つです。

  • — 鍵とは暗号データのことで、一般にはユーザーのパスワードから、特定の暗号化アルゴリズムを使用して生成されます。ユーザー以外のプリンシパルについては、鍵はランダムに生成されます。鍵には鍵バージョン番号 (kvno) を使ったタグが付けられます。
  • チケット — チケットとは、クライアントがサービスのサーバーにその身元を証明するために提示する認証データのことです。認証サーバーがクライアントにチケットを提供する際には、そのクライアントがアクセスしようとしているサーバーの暗号鍵を使用します。したがって、クライアントはチケットの内容を覗いたり、その内容に干渉したりすることができないようになっています。

Kerberos のインフラストラクチャーでは、チケット配布機能を提供する鍵配布センター (KDC) というものを使用します。論理的に KDC が提供するサービスには、プリンシパル・データベースの保守、認証サーバー (AS)、およびチケット付与サーバー (TGS) の 3 つがあります。KDC は以下の 2 つの重要なデーモンを実行します。

  • kadmind
    これは管理デーモンであり、プリンシパルのデータベース、プリンシパルの秘密鍵、ポリシー構成を管理します。KDC を実行するローカル・マシンまたはリモート・マシンでこの機能にアクセスするには、それぞれ kadmin.local コマンド、kadmin コマンドを使用します。
  • krb5kdc
    これは、認証リクエストを処理する重要なデーモンです。ユーザーからの認証チケットのリクエストは、最終的にこのデーモンが受け取ります。

Kerberos 5 の構成

構成に取り掛かる前に、Kerberos 5 に関連するバイナリーがマシンにインストールされていることを確実にする必要があります。Kerberos 5 でサポートされる OpenAFS をコンパイルして使用するには、以下の RPM がインストールされていなければなりません。

  1. krb5-workstation
  2. krb5-server
  3. krb5-libs
  4. krb5-devel

リスト 1 に、私のテスト・マシンにインストールされている RPM を示します。このマシンには、上記には挙げられていない RPM もインストールされています。以下のリストに、それぞれの RPM に関する概要を併せて記載します。


リスト 1. Kerberos 5 に関連する RPM

root@rhel6vm1 ~ # rpm -qa | grep krb5
krb5-workstation-1.8.2-3.el6.i686  <-- Basic Kerberos 5 related programs like kinit etc
krb5-auth-dialog-0.13-3.el6.i686   <-- For getting dialog box for Krb5 Tickets
krb5-appl-servers-1.0.1-1.el6.i686 <-- Kerberized application servers
krb5-server-1.8.2-3.el6.i686  <-- KDC and related programs for Kerberos 5
krb5-libs-1.8.2-3.el6.i686  <-- Shared libraries used by Kerberos 5
krb5-pkinit-openssl-1.8.2-3.el6.i686 <-- PKINIT plugin for Kerberos 5
krb5-appl-clients-1.0.1-1.el6.i686   <-- Kerberized clients for application servers
pam_krb5-2.3.11-1.el6.i686   <-- Pluggable Authentication Module for Kerberos 5
krb5-devel-1.8.2-3.el6.i686 <-- For developing Kerberos 5 based applications
root@rhel6vm1 ~ #

これから、VMKRB5 という名前の Kerberos レルムをセットアップします。使用するマシンのホスト名は、rhel6vm1.in.ibm.com です。Kerberos 5 の主要な構成ファイルは、/etc/krb5.conf です。この構成ファイルにはまず、ロギング・オプション、特定のレルムに関する管理サーバー・インスタンスと KDC サーバー・インスタンスの情報、Kerberos のオプションの値などを指定するセクションがあります。

次に続く realms セクションには、Kerberos レルム VMKRB5 の KDC および管理サーバーに関する情報が示されます。このセクションには、他のレルムに関する情報も指定することができます。ドメインごとのレルムは、domain_realm セクションに指定されます。このファイルの詳細については、krb5.conf のマニュアル・ページを参照してください。

リスト 2 に、/etc/krb5.conf のサンプルを記載します。このサンプルでは、以下の値を変更する必要があります。

  • default_realm の値
  • domain_realm の値
  • kdc の値
  • admin_server の値

上記の値を、皆さんが使用するそれぞれの Kerberos レルムに合わせて変更してください。


リスト 2. /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 = VMKRB5
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 allow_weak_crypto = true

[realms]

VMKRB5 = {
  kdc = rhel6vm1.in.ibm.com:88
  admin_server = rhel6vm1.in.ibm.com:749
 }

[domain_realm]
 .in.ibm.com = VMKRB5
 in.ibm.com = VMKRB5

[kdc]
 profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]

 pam = {
   debug = false
   ticket_lifetime = 36000
   renew_lifetime = 36000
   forwardable = true
   krb4_convert = false
 }

KDC サーバーの振る舞いを制御する構成ファイルは、/var/kerberos/krb5kdc/kdc.conf です。このファイルには、ACL (Access Control List) ファイル、KDC がサポートする暗号化タイプなど、KDC が必要とする Kerberos レルムのオプションを指定します。リスト 3 に、KDC のサンプル構成ファイルを記載します。realms セクションのレルム名は、それぞれのレルムの構成に合わせて変更する必要があります。


リスト 3. /var/kerberos/krb5kdc/kdc.conf のサンプル・リスト

[kdcdefaults]
 v4_mode = nopreauth
 kdc_tcp_ports = 88

[realms]
VMKRB5 = {
  master_key_type = des-cbc-crc
  acl_file = /var/kerberos/krb5kdc/kadm5.acl
  dict_file = /usr/share/dict/words
  admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
  supported_enctypes = des-cbc-crc:normal des-cbc-crc:v4 des-cbc-crc:afs3
 }

注意する点として、KDC は暗号化タイプとして des-cbc-crc のバリエーションをサポートするように構成されています。それは、des-cbc-crc は OpenAFS との相性が良いという理由からですが、Kerberos 5 は他にも多数の暗号化タイプをサポートします。kdc.conf 構成ファイルの詳細については、kdc.conf のマニュアル・ページを参照してください。

リスト 4 は、ACL を定義するファイルの一例です。管理者はそれぞれの要件に応じて ACL を定義してください。以下に記載するアクセス制御リスト・ファイルでは、VMKRB5 レルムの admin インスタンスを持つすべてのプリンシパルに対し、すべてのアクセスを許可しています。


リスト 4. /var/kerberos/krb5kdc/kadm5.acl のサンプル・リスト

*/admin@VMKRB5     *

Kerberos 5 データベースを初期化する

最初に行う作業は、Kerberos データベース保守ユーティリティー kdb5_util を使用して、VMKRB5 レルムの Kerberos 5 データベースを初期化することです。リスト 5 に、kdb5_util を使用して Kerberos データベースを初期化する方法を示します。


リスト 5. Kerberos 5 データベースを初期化する

root@rhel6vm1 ~ # kdb5_util create -r VMKRB5 -s
Loading random data
Initializing database '/var/kerberos/krb5kdc/principal' for realm 'VMKRB5',
master key name 'K/M@VMKRB5.' You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key: <vmkrb5>
Re-enter KDC database master key to verify: <vmkrb5>

-s オプションは kdb5_util に対し、自身が本物であることを証明するための隠しファイル (秘密鍵のセットが含まれるファイル) を作成するように指定します。etc/krb5.conf に複数のレルムが定義されている場合にはオプション -r を使用して、どのレルムに対してデータベースを作成するのかを指定してください。

Kerberos 5 サービスを起動する

リスト 6 に、Kerberos 5 サービスを起動するためのコマンドを記載します。このサービスを特定のランレベルで実行するようにスケジューリングするには、chkconfig ツールを使用することもできます。


リスト 6. Kerberos 5 サービスを起動する

root@rhel6vm1 ~ # service kadmin start
Starting Kerberos 5 Admin Server:                          [  OK  ]
root@rhel6vm1 ~ # service krb5kdc start
Starting Kerberos 5 KDC:                                   [  OK  ]

基本ポリシーおよびユーザー・アカウントを定義する

KDC を実行するマシンでは、kadmin.local コマンド・スイートを使用することができます。そのうちの listprincs サブコマンドは、データベース内の既存のプリンシパルをリストアップする list_principals コマンドの別名です。

ポリシーを定義するには、サブコマンド add_policy または addpol を使用します。以下のリストでは、admin および service という名前の 2 つのポリシーを定義しています。これらのポリシーで規定しているのは、パスワードの最小長、そしてパスワードの文字クラス (英字、数字、特殊文字など) の最小数です。

listpol はすべての定義済みポリシーをリストアップするコマンドで、getpol は指定されたポリシーの詳細情報を表示するコマンドです。

リスト 7 に、これらのコマンドの基本的な使い方が示されています。


リスト 7. 定義されたポリシー
root@rhel6vm1 ~ # kadmin.local
Authenticating as principal avinesh/admin@VMKRB5 with password.
kadmin.local:  listprincs
K/M@VMKRB5 <-- Kerberos Master Key Principal
kadmin/admin@VMKRB5
kadmin/changepw@VMKRB5
kadmin/history@VMKRB5
kadmin/rhel6vm1.in.ibm.com@VMKRB5
krbtgt/VMKRB5@VMKRB5
kadmin.local:  add_policy -minlength 8 -minclasses 3 admin
kadmin.local:  addpol -minlength 8 -minclasses 4 service
kadmin.local:  listpols
admin
service
kadmin.local:  getpol admin
Policy: admin
Maximum password life: 0
Minimum password life: 0
Minimum password length: 8
Minimum number of password character classes: 3
Number of old keys kept: 1
Reference count: 0
Maximum password failures before lockout: 0
Password failure count reset interval: 0
Password lockout duration: 0

上記のリストで listprics の出力として示されているすべての kadmin/* プリンシパルは、それぞれに異なる管理タスクを目的とします。krbtgt/VMKRB5@VMKRB5 は、チケット付与サービスのプリンシパルです。

VMKRB5 レルムには、root/admin という名前のプリンシパルも作成します。このプリンシパルは、上記で定義した admin ポリシーに従います。このプリンシパルを kadmin で使用して (リスト 8 を参照)、レルム内のあらゆるマシンからの管理要求に対処します。


リスト 8. プリンシパル root/admin を追加する
kadmin.local:  addprinc -policy admin root/admin
Enter password for principal "root/admin@VMKRB5": <r00t123$>
Re-enter password for principal "root/admin@VMKRB5": <r00t123$>
Principal "root/admin@VMKRB5" created.
kadmin.local:  q

AFS プリンシパルおよびサービスの鍵を作成する

以下のリスト 9 に記載するスニペットでは、kadmin コマンド・スイートを使用して、afs/krb5afs.in.ibm.com、admin、avinesh というプリンシパルを作成します。ktadd は、指定されたプリンシパルの鍵を所定の Kerberos 鍵テーブル (keytab) ファイルに追加します。この keytab ファイルには afs/krb5afs.in.ibm.com の鍵エントリーだけを含めたいので、ktadd を発行する前にこのファイルが存在していないことを確実にしてください。ここで特に重要なのは、鍵バージョン番号 (kvno) 2 です。鍵を AFS で使用できるように KeyFile ファイルにインポートするには、これと同じ kvno を指定しなければなりません。


リスト 9. kadmin コマンド・スイートを使用してプリンシパルを作成する

root@rhel6vm1 ~ # rm -f /etc/krb5.keytab.afs
root@rhel6vm1 ~ # kadmin -p root/admin
Authenticating as principal root/admin with password.
Password for root/admin@VMKRB5:
kadmin:  addprinc -policy service -randkey -e des-cbc-crc:normal afs/krb5afs.in.ibm.com
Principal "afs/krb5afs.in.ibm.com@VMKRB5" created.
kadmin:  ktadd -e des-cbc-crc:normal -k /etc/krb5.keytab.afs afs/krb5afs.in.ibm.com
Entry for principal afs/krb5afs.in.ibm.com with kvno 2, encryption type DES cbc mode with 
CRC-32 added to keytab WRFILE:/etc/krb5.keytab.afs.
kadmin:  addprinc -policy admin admin
Enter password for principal "admin@VMKRB5": <admin123$>
Re-enter password for principal "admin@VMKRB5": <admin123$>
Principal "admin@VMKRB5" created.
kadmin:  addprinc -policy admin avinesh
Enter password for principal "avinesh@VMKRB5": <avinesh123$>
Re-enter password for principal "avinesh@VMKRB5": <avinesh123$>
Principal "avinesh@VMKRB5" created.
kadmin:  q

klist は、keytab ファイルを読み取り、ファイル内に含まれるすべての鍵の詳細を表示します。

root@rhel6vm1 ~ # klist -kte /etc/krb5.keytab.afs
Keytab name: WRFILE:/etc/krb5.keytab.afs
KVNO Timestamp         Principal
---- ----------------- --------------------------------------------------------
   2 01/26/11 23:14:27 afs/krb5afs.in.ibm.com@VMKRB5 (DES cbc mode with CRC-32)


OpenAFS ソースの取得および OpenAFS のビルドの実行

OpenAFS のソースが必要となるので、wget (Linux マシン上のダウンロード用ツール) を使用して、OpenAFS の Web サイトから OpenAFS ソースを圧縮した tar ファイルをダウンロードします。


リスト 10. OpenAFS ソース安定版リリース 1.4.14 をダウンロードする

root@rhel6vm1 ~ # wget http://openafs.org/dl/openafs/1.4.14/openafs-1.4.14-src.tar.bz2
--2011-01-17 12:22:29-- http://openafs.org/dl/openafs/1.4.14/openafs-1.4.14-src.tar.bz2
Resolving openafs.org... 128.2.200.90
Connecting to openafs.org|128.2.200.90|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://dl.openafs.org/dl/openafs/1.4.14/openafs-1.4.14-src.tar.bz2 [following]
--2011-01-17 12:22:30-- http://dl.openafs.org/dl/openafs/1.4.14/openafs-1.4.14-src.tar.bz2
Resolving dl.openafs.org... 128.2.201.26
Connecting to dl.openafs.org|128.2.201.26|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11813993 (11M) [application/x-tar]
Saving to: `openafs-1.4.14-src.tar.bz2'

82% [========================================>         ] 9,709,310   22.4K/s  eta 57s

ビルドを実行できるように OpenAFS ソースを構成する

./configure --help の出力は一読の価値があります。この出力で、OpenAFS で選択可能な構成オプションを確認することができます。

以下のリストに、Kerberos 5 でサポートされる OpenAFS ソースを構成するためのコマンドを記載します。make はビルド用のコマンドです。make dest は、バイナリーで Transarc スタイルのディレクトリー構造を作成します。


リスト 11. Kerberos 5 でサポートされる OpenAFS ソースを構成する

root@rhel6vm1 openafs-1.4.14 # which krb5-config
/usr/bin/krb5-config
root@rhel6vm1 openafs-1.4.14 # ./configure --with-afs-sysname=i386_linux26 
                                --enable-transarc-paths \
                                --with-krb5-conf=/usr/bin/krb5-config
root@rhel6vm1 openafs-1.4.14 # make
root@rhel6vm1 openafs-1.4.14 # make dest

AFS に固有のディレクトリーを作成する

OpenAFS はディスク・ベースとメモリー・ベース両方のキャッシングをサポートします。ローカル・ディスク・キャッシングを行うように構成された OpenAFS クライアントは、通常、キャッシング関連のデータを /usr/vice/cache ディレクトリーに格納します。キャッシュされるデータは、それ専用のパーティションに格納することをお勧めします。一般には、ユーザーがパーティションを作成し、ファイルシステム (Linux では通常、ext3) を作成して、そのファイルシステムを /usr/vice/cache ディレクトリーにマウントすることになります。AFS 管理者がこれとは異なるディレクトリーを使用することにした場合には、/usr/vice/etc/cacheinfo ファイルにそのディレクトリーを指定する必要があります。/usr/vice/etc/cacheinfo については、この後のセクション、「AFS クライアントのディスク・キャッシュを構成する」で詳しく説明します。

AFS ファイル・サーバーを実行するマシンには、AFS ボリュームを格納するためのパーティションまたは論理ボリュームが少なくとも 1 つ必要です。AFS ボリュームを格納する各パーティションは、/vicepxx (ここで、xx は 1 文字または 2 文字の小文字の英字) という名前のディレクトリーにマウントします。管理者は /vicepa から /vicepz まで、および /vicepaa から /vicepaz までをパーティションとして使用し、それでも必要な vice パーティションの数に足りない場合には、/vicepba から /vicepbz を使用するというのが通常です。OpenAFS は、通常のディレクトリー /vicepxx に AlwaysAttach という名前のファイルが格納されている場合には、ユーザーがそのディレクトリーに AFS ボリュームを格納することを許可します。しかし、AFS サーバーには通常のディレクトリーを使用するのではなく、別個のパーティションを設けることをお勧めします。


リスト 12. AFS バイナリーおよび構成ファイルの格納先ディレクトリーを作成する

root@rhel6vm1 openafs-1.4.14 # mkdir /afs
root@rhel6vm1 openafs-1.4.14 # chmod 777 /afs
root@rhel6vm1 openafs-1.4.14 # mkdir -p /usr/vice/etc
root@rhel6vm1 openafs-1.4.14 # mkdir -p /usr/afs
root@rhel6vm1 openafs-1.4.14 # mkdir -p /usr/afsws


リスト 13. OpenAFS バイナリーをコピーする

root@rhel6vm1 openafs-1.4.14 # cd i386_linux26/dest
root@rhel6vm1 dest # cp -rp root.client/usr/vice/etc/* /usr/vice/etc
root@rhel6vm1 dest # cp -p  root.client/usr/vice/etc/afs.rc /etc/rc.d/init.d/afs
root@rhel6vm1 dest # cp root.client/usr/vice/etc/afs.conf /etc/sysconfig/afs
root@rhel6vm1 dest # cp -rp root.server/usr/afs/* /usr/afs
root@rhel6vm1 dest # cp -rp bin/ etc/ include/ lib/ /usr/afsws
root@rhel6vm1 dest # ln -s /usr/afs/bin/bos /usr/bin/bos

構成ファイル /etc/sysconfig/afs に含まれるのは、AFS クライアントおよびサーバーを実行するために調整が必要となるオプションと、キャッシュ・マネージャーのパラメーター (キャッシング・タイプ (ディスク上またはメモリー内) や、その他の重要な変数) です。AFS クライアントと AFS サーバーの両方を実行する場合には、/etc/sysconfig/afs ファイルの AFS_CLIENT および AFS_SERVER が両方とも「on」に設定されている必要があります。


AFS セルの構成

このセクションでは、rhel6vm1.in.ibm.com マシンに、krb5afs.in.ibm.com という名前の AFS セルを構成します。

OpenAFS インストール時の便宜を図って、セル名および (ファイル・サーバーを実行する) マシンの名前を環境変数 CELLNAME、SERVERNAME にそれぞれ指定します。

root@rhel6vm1 ~ # export CELLNAME=krb5afs.in.ibm.com
root@rhel6vm1 ~ # export SERVERNAME=rhel6vm1.in.ibm.com

AFS セル名を設定する

リスト 14 に示すように、bosservernoauth モードで起動して、アクセス許可のプロセスが省略されるようにします。


リスト 14. bosserver を起動する

root@rhel6vm1 ~ # /usr/afs/bin/bosserver -noauth &
[1] 25631
root@rhel6vm1 ~ #
[1]+  Done                    /usr/afs/bin/bosserver -noauth
root@rhel6vm1 ~ # /usr/afs/bin/bos setcellname $SERVERNAME $CELLNAME -noauth
root@rhel6vm1 ~ # /usr/afs/bin/bos listhosts $SERVERNAME -noauth
Cell name is krb5afs.in.ibm.com
    Host 1 is rhel6vm1.in.ibm.com

bos setcellname でセル名を設定し、bos listhosts で AFS セル内のサーバー・マシンの情報を取得します。

リスト 15 のコード・スニペットに、AFS 保護サーバー (ptserver) と AFS ボリューム・ロケーション・サーバー (vlserver) のインスタンスを作成する方法を示します。


AFS サーバーの構成


リスト 15. データベース・サーバー・インスタンスを作成する

root@rhel6vm1 ~ # /usr/afs/bin/bos create $SERVERNAME ptserver simple \
                               /usr/afs/bin/ptserver -cell $CELLNAME -noauth
root@rhel6vm1 ~ # /usr/afs/bin/bos create $SERVERNAME vlserver simple \
                               /usr/afs/bin/vlserver -cell $CELLNAME -noauth

AFS で使用する鍵を追加する

前にエクスポートした、keytab ファイル /etc/krb5.keytab.afs に含まれる AFS サービス・プリンシパル afs/krb5afs.in.ibm.com の鍵を KeyFile ファイルにインポートすることで、その鍵を AFS が使用できるようにします。前述したように、kvno の値には同じ 2 を指定していることに注目してください。


リスト 16. asetkey を使用して鍵をインポートする

root@rhel6vm1 ~ # /usr/afs/bin/asetkey add 2 /etc/krb5.keytab.afs afs/krb5afs.in.ibm.com
root@rhel6vm1 ~ # /usr/afs/bin/bos listkeys $SERVERNAME -cell $CELLNAME
key 2 has cksum 4052960223
Keys last changed on Fri Jan 21 12:33:42 2011.
All done.

bos listkeys は、/usr/afs/etc/KeyFile ファイルに格納されている AFS サーバーの暗号化鍵情報を表示します。

特権ユーザーを追加する

リスト 17 のコマンドが定義する特権ユーザーには、この AFS セルで管理タスクを実行する権限が与えられます。これらの管理ユーザーに関する情報が格納される場所は、データベース・サーバー・マシン上の /usr/afs/etc/UserList ファイルです。


リスト 17. AFS セル内の管理ユーザーを定義する

root@rhel6vm1 ~ # /usr/afs/bin/bos adduser $SERVERNAME admin \
                                             -cell $CELLNAME -noauth
root@rhel6vm1 ~ # /usr/afs/bin/bos adduser $SERVERNAME avinesh \
                                             -cell $CELLNAME -noauth
root@rhel6vm1 ~ # /usr/afs/bin/bos listusers -s $SERVERNAME \
                                             -cell $CELLNAME -noauth
SUsers are: admin avinesh

bos adduser はユーザー admin および avinesh を特権ユーザーのリストに追加するコマンドであり、bos listusersUserList ファイルのすべての特権ユーザーをリストアップするコマンドです。

AFS 保護サーバーのデータベースにユーザーを追加する

リスト 18 では、pts ツールの createuser オプションを使用してユーザー admin および avinesh を作成しています。作成したユーザーは、pts のオプション adduser を使用して、AFS システム管理者の定義済みグループ system:administrators に追加します。


リスト 18. ptserver データベース内にユーザーを作成する

root@rhel6vm1 ~ # /usr/afs/bin/pts createuser -name admin   -noauth
User admin has id 1
root@rhel6vm1 ~ # /usr/afs/bin/pts createuser -name avinesh   -noauth
User avinesh has id 2
root@rhel6vm1 ~ # /usr/afs/bin/pts adduser admin system:administrators -noauth
root@rhel6vm1 ~ # /usr/afs/bin/pts adduser avinesh system:administrators -noauth
root@rhel6vm1 ~ # /usr/afs/bin/pts membership admin -noauth
Groups admin (id: 1) is a member of:
  system:administrators
root@rhel6vm1 ~ # /usr/afs/bin/pts membership avinesh -noauth
Groups avinesh (id: 2) is a member of:
  system:administrators
root@rhel6vm1 ~ # /usr/afs/bin/pts listentries -c $CELLNAME -localauth
Name                          ID  Owner Creator
anonymous                  32766   -204    -204
admin                          1   -204   32766
avinesh                        2   -204   32766

membership オプションは、特定のユーザーのメンバーシップの詳細を示します。pts listentries は保護サーバーのデータベース内に存在する全ユーザーをそれぞれの ID と併せてリストアップします。

AFS ファイル・サーバー・プロセスを起動する

リスト 19 に、ファイル・サーバー・プロセスを作成し、起動するために使用するコマンドを記載します。作成したプロセスが実行中になっていることを確認するには、bos status コマンドを使用します。


リスト 19. ファイル・サーバー・プロセスを作成および起動する

root@rhel6vm1 ~ # /usr/afs/bin/bos restart $SERVERNAME -all -cell $CELLNAME -noauth
root@rhel6vm1 ~ # /usr/afs/bin/bos create $SERVERNAME fs fs \
                                        /usr/afs/bin/fileserver \
                                        /usr/afs/bin/volserver  \
                                        /usr/afs/bin/salvager   \
                                        -cell $CELLNAME -noauth
root@rhel6vm1 ~ # /usr/afs/bin/bos status $SERVERNAME fs -long -noauth
Instance fs, (type is fs) currently running normally.
    Auxiliary status is: file server running.
    Process last started at Fri Jan 21 10:45:11 2011 (2 proc starts)
    Command 1 is '/usr/afs/bin/fileserver'
    Command 2 is '/usr/afs/bin/volserver'
    Command 3 is '/usr/afs/bin/salvager'

AFS ボリュームを作成する

1 つのボリュームが、特定の組織の AFS ファイル・スペースのルートとして選択されます。慣例では、このボリュームの名前は root.afs となります。この組織内の各クライアントが、/afs 上でこのルート・ボリュームの UNIX mount() を実行して、AFS 名前空間全体をこのマウント・ポイントに関連付けます。

AFS キャッシュ・マネージャーは AFS ファイルシステムのルートを、通常は /afs (あるいは構成ファイル /usr/vice/etc/cacheinfo に定義されている場所) にマウントします。内部では、AFS キャッシュ・マネージャーは root.afs ボリュームをパス /afs にマウントします。root.afs ボリュームは、このクライアントに既知のすべてのセルのデータベースに記述された、すべてのセルのルート・ボリュームのマウント・ポイントを /usr/vice/etc/CellServDB ファイルに格納します。クライアントが外部セル (つまり、ローカル・セル以外のセル) へアクセスする必要がある場合には、このファイルに、そのセルのサーバーの詳細を提供する必要があります。


リスト 20. vos を使用して AFS ボリュームを作成する

root@rhel6vm1 ~ # /usr/afs/bin/vos create -s $SERVERNAME -pa a -name root.cell \
                                                    -maxq 30000 -c $CELLNAME -noauth
Volume 536870912 created on partition /vicepa of rhel6vm1.in.ibm.com
root@rhel6vm1 ~ # /usr/afs/bin/vos create -s $SERVERNAME -pa a -name root.afs \
                                                   -maxq 30000 -c $CELLNAME -noauth
Volume 536870915 created on partition /vicepa of rhel6vm1.in.ibm.com
root@rhel6vm1 ~ # /usr/afs/bin/vos listvol -s $SERVERNAME -c $CELLNAME -noauth
Total number of volumes on server rhel6vm1.in.ibm.com partition /vicepa: 2
root.afs                          536870915 RW          2 K On-line
root.cell                         536870912 RW          2 K On-line

Total volumes onLine 2 ; Total volumes offLine 0 ; Total busy 0


AFS クライアントの構成

特定のセルに合わせて AFS クライアントおよびサーバーを構成する

デフォルトのインストール・プロセスでは、構成ファイル /usr/vice/etc/ThisCell が /usr/afs/etc/ThisCell へのシンボリック・リンクとして作成されます。この構成ファイルには、前の手順で構成ファイルの内容として選択したセルの名前が付けられます。/usr/vice/etc/ThisCell ファイルにはこの AFS クライアントのローカル・セル名が格納される一方、/usr/afs/etc/ThisCell ファイルには、このマシン上で稼働するデータベース・サーバーが属するセルの名前が格納されます。マシンは、AFS クライアントと AFS サーバーを同じセルに対して実行することも、異なるセルに対して実行することもできます。AFS クライアントと AFS サーバーをそれぞれ別の AFS セルに対して実行する必要がある場合には、/usr/vice/etc/ThisCell ファイルをシンボリック・リンクとしてではなく、別個のファイルとして用意し、目的のセル名をファイルに格納する必要があります。

リスト 21 に記載するコマンドでは、AFS クライアントと AFS サーバーの両方を同じセルに対して実行するマシンを構成していますが、それぞれの構成ファイルは /usr/afs/etc/ThisCell と /usr/vice/etc/ThisCell とに分けています。


リスト 21. マシンの AFS クライアントおよびサーバー・メンバーシップを構成する

root@rhel6vm1 ~ # ls -l /usr/vice/etc/ThisCell
lrwxrwxrwx. 1 root root 21 Jan 21 10:31 /usr/vice/etc/ThisCell -> /usr/afs/etc/ThisCell
root@rhel6vm1 ~ # cat /usr/afs/etc/ThisCell
krb5afs.in.ibm.com
root@rhel6vm1 ~ # rm -f /usr/vice/etc/ThisCell
root@rhel6vm1 ~ # cp /usr/afs/etc/ThisCell  /usr/vice/etc/ThisCell
root@rhel6vm1 ~ # cat /usr/vice/etc/ThisCell
krb5afs.in.ibm.comroot@rhel6vm1 ~ # cat /usr/afs/etc/ThisCell
krb5afs.in.ibm.com

外部 AFS セルにアクセスする

構成ファイル /usr/vice/etc/CellServDB および /usr/afs/etc/CellServDB には、それぞれ AFS クライアント、AFS サーバーのデータベース・サーバー情報が格納されます。/usr/afs/etc/CellServDB ファイルに格納されるデータベース・サーバー情報は、ある特定のマシンが AFS サーバーの実行対象とする AFS セルのデータベース・サーバー情報です。したがって、このファイルには、1 つの AFS セルに関する情報しか含まれませんが、もう一方の /usr/vice/etc/CellServDB ファイルには、この AFS クライアントがアクセスする必要のあるすべての AFS セルのデータベース・サーバー情報の詳細が含まれます。

インストール・プロセスでは /usr/vice/etc/CellServDB も /usr/afs/etc/CellServDB へのシンボリック・リンクとして作成されますが、以下ではクライアントが他の AFS セルにアクセスしなければならない場合に備え、この 2 つのファイルは別のものにしておきます。したがって、ここでは単純に /usr/vice/etc/CellServDB ファイルにセルの情報を追加してください。


リスト 22. CellServDB ファイルを作成する

root@rhel6vm1 ~ # cat /usr/afs/etc/CellServDB
>krb5afs.in.ibm.com     #Krb5 AFS Test Cell
192.168.110.129    #rhel6vm1.in.ibm.com
root@rhel6vm1 ~ # ls -l /usr/vice/etc/CellServDB
lrwxrwxrwx 1 root root 23 Jan 21 10:31 /usr/vice/etc/CellServDB -> /usr/afs/etc/CellServDB
root@rhel6vm1 ~ # rm -f /usr/vice/etc/CellServDB
root@rhel6vm1 ~ # cp /usr/afs/etc/CellServDB  /usr/vice/etc/CellServDB

AFS クライアントのディスク・キャッシュを構成する

AFS は、データをローカル・ディスクまたはメモリーにキャッシュするように構成することができます。これを指定できる場所は、AFS 構成ファイル /etc/sysconfig/afs です。構成ファイル /usr/vice/etc/cacheinfo には、AFS ファイルシステムのマウント・ポイント、AFS がデータを格納するパス (ディスク・キャッシングを行う場合)、およびキャッシュ・サイズに使用するブロック数に関する情報が格納されます。以下のリストでは、キャッシュ・サイズを 8,15,000 KB に指定しています。

root@rhel6vm1 ~ # cat /usr/vice/etc/cacheinfo
/afs:/usr/vice/cache:815000


最終ステップ

この時点で構成はほぼ完了していますが、現在実行中の AFS サービスを停止する必要がまだ残っています。それには、service afs stop コマンドを使用します。AFS キャッシュ・マネージャーによって、root.afs ボリュームが /afs (または、構成ファイル /usr/vice/etc/cacheinfo に定義されている場所) にマウントされます。ここで、前に作成した root.cell ボリュームをマウントします。

慣例では、/afs 配下にある、セル名と同じ名前のディレクトリーにマウントすることになっているので、root.cell ボリュームは /afs/krb5afs.in.ibm.com にマウントします。ここで非常に重要な点は、AFS クライアント (afsd) に対して dynroot オプションを無効にすることです。それには、/etc/sysconfig/afs ファイルを変更して、ENABLE_DYNROOT=off に設定する必要があります。dynroot によって、/afs ディレクトリーには /usr/vice/etc/CellServDB ファイルに定義された AFS セル名を持つサブディレクトリーが取り込まれます。この場合、AFS クライアントはファイル・サーバーから root.afs ボリュームをロードするのではなく、root.cell ボリュームを直接読み込みます。しかもそれは、root.cell ボリュームがマウントされているディレクトリーに対して、ユーザーがアクセスしようとする場合に限られます。

ここで使用しているレルム名は AFS セル名とは異なるため、/usr/afs/etc/krb.conf ファイルにレルム名を設定する必要もあります。リスト 23 に、/usr/afs/etc/krb.conf にレルム名を設定し、AFS サービスを起動し、/afs に ACL を設定して root.cell ボリュームをマウントする一連のコマンドを示します。


リスト 23. レルム名を構成する

root@rhel6vm1 ~ # service afs stop
Stopping AFS services.....
Stopping AFS bosserver
root@rhel6vm1 ~ #
root@rhel6vm1 / # echo "VMKRB5" > /usr/afs/etc/krb.conf
root@rhel6vm1 ~ # service afs start
Starting AFS services.....
afsd: All AFS daemons started.
root@rhel6vm1 / # /usr/afs/bin/fs setacl /afs system:anyuser rl
root@rhel6vm1 / # cd /afs
root@rhel6vm1 /afs # /usr/afs/bin/fs mkm krb5afs.in.ibm.com -vol root.cell \
                                                       -c krb5afs.in.ibm.com
root@rhel6vm1 /afs # ln -s krb5afs.in.ibm.com krb5afs


完了です!

これで、AFS および Kerberos 5 の構成は完了しました。構成手順を終えた後は、マシンを再起動します。マシンが稼働状態になったら、Kerberos 5 および AFS サービスを起動します。この時点で、afsd に対して dynroot を有効に設定し、それから AFS サービスを起動することもできます。

リスト 24 では kinit を使用して、プリンシパル avinesh の Kerberos 5 チケットを取得しています。kinit は、キャッシュされたすべての Kerberos 5 チケットのリストを表示します。


リスト 24. Kerberos 5 チケットを取得する

root@rhel6vm1 ~ # kinit avinesh
Password for avinesh@VMKRB5:
root@rhel6vm1 ~ # klist -5f
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: avinesh@VMKRB5

Valid starting     Expires            Service principal
01/26/11 23:18:35  01/27/11 23:18:35  krbtgt/VMKRB5@VMKRB5
        renew until 01/26/11 23:18:35, Flags: FRI

Kerberos 5 チケットに基づいて AFS トークンを設定するには、aklog を使用します。オプション -d は、実行状況に関する詳細情報を表示するので、使用するかどうかはお任せします。tokens は、AFS キャッシュ・マネージャーが保有する AFS トークンを表示します (リスト 25 を参照)。AFS クライアントが AFS 空間にアクセスしようとする場合、トークン・データを提供しなければ、要求するデータにアクセスすることはできません。


リスト 25. AFS トークン
		
root@rhel6vm1 ~ # service afs start
Starting AFS services.....
afsd: All AFS daemons started.
root@rhel6vm1 ~ #
root@rhel6vm1 ~ # aklog -d
Authenticating to cell krb5afs.in.ibm.com (server rhel6vm1.in.ibm.com).
Trying to authenticate to user's realm VMKRB5.
Getting tickets: afs/krb5afs.in.ibm.com@VMKRB5
Using Kerberos V5 ticket natively
About to resolve name avinesh to id in cell krb5afs.in.ibm.com.
Id 2
Set username to AFS ID 2
Setting tokens. AFS ID 2 /  @ VMKRB5
root@rhel6vm1 ~ #
root@rhel6vm1 ~ # tokens

Tokens held by the Cache Manager (UID Based Tokens):

User's (AFS ID 1) tokens for afs@krb5afs1.in.ibm.com [Expires Feb  8 07:00]
   --End of list--
root@rhel6vm1 ~ #


まとめ

この記事で説明したのは、OpenAFS および Kerberos 5 KDC 認証を使用した広大な AFS の世界に足を踏み入れる方法です。これまで 20 年以上にわたり、AFS ではこの記事で取り上げた機能の他にも、システム管理者が使用できる機能を数多く提供してきました。AFS および Kerberos 5 についての詳細は、以下の「参考文献」に目を通し、記載されている資料へのリンクを辿ってください。


謝辞

この記事の内容を良くするための有益なコメントおよび情報を提供するために、忙しいスケジュールのなかから時間を割いてくれた IBM AFS Support and Development の Anthony Todd DeSantis 氏に、ここで感謝の意を表します。


参考文献

学ぶために

製品や技術を入手するために

  • IBM ソフトウェアの試用版: 試用版ソフトウェアを使用して、次のオープンソース開発プロジェクトを革新してください。ダウンロード、あるいは DVD で入手できます。

議論するために

  • developerWorks コミュニティー: ここでは他の developerWorks ユーザーとのつながりを持てる他、開発者が主導するブログ、フォーラム、グループ、ウィキを調べることができます。

著者について

Photo of Avinesh Kumar developerWorks 貢献著者レベル

Avinesh Kumar は、インド・プネの IBM Software Labs で、Andrew File System Team の技術主任を務めています。IBM での勤務年数は 5 年を数え、彼の現在のプロジェクトには、新機能による IBM AFS の強化、新しい RedHat Enterprise Linux への IBM AFS の移植などがあります。彼は、ダンプおよびクラッシュのカーネル・レベルおよびユーザー・レベルのデバッグ、そして Linux、AIX、および Solaris プラットフォームでレポートされたバグに取り組んでいます。彼は University of Pune でコンピューター・サイエンス学部の MCA を取得しました。Linux の熱狂的ファンである彼は、余暇は自分の Maverick Ubuntu マシンで Linux カーネルの研究に費やしています。

不正使用の報告のヘルプ

不正使用の報告

ありがとうございます。 このエントリーは、モデレーターの注目フラグが設定されました。


不正使用の報告のヘルプ

不正使用の報告

不正使用の報告の送信に失敗しました。


developerWorks: サイン・イン


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


お客様が developerWorks に初めてサインインすると、プロフィールが作成されます。 プロフィールで選択した情報は公開されますが、いつでもその情報を編集できます。 お客様の姓名(非表示設定にしていない限り)とディスプレイ・ネームは、投稿するコンテンツと一緒に表示されます。

表示名をお選びください

developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

(半角英数字で3文字以上31文字以下にする必要があります)


「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 利用条件

 


この記事を評価する

コメント

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Open source
ArticleID=682405
ArticleTitle=Kerberos 5 でサポートされる OpenAFS を構成する
publish-date=07012011
author1-email=avinesh.kumar@in.ibm.com
author1-email-cc=

タグ

Help
このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。

スライダーバーを使用することで、より多く(少なく)タグを表示します。

人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。

マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。

このタグで、My developerWorks のすべてのタイプのコンテンツを見つけるために検索フィールドを使用します。人気のタグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するトップのタグを表示します。マイ・タグは、この特定のコンテンツ・ゾーン(例えば、Java テクノロジー、Linux や WebSphere など)に対するお客様ご自身のタグを表示します。