Linux の 302 (Mixed Environment) 試験対策: 簡易データベース (TDB) ファイル

Samba の Trivial Database ファイルとそのトラブルシューティング方法

Samba は、Linux® と Windows® のファイルおよびプリント・サービスの共有を統合する役割の一環として、Trivial Database ファイルに永続的なデータと一時的なデータの両方を格納します。LPI (Linux Professional Institute) 認定試験 LPI-302 に備え、Samba が情報を格納するために使用する TDB (Trivial Database: 簡易データベース) ファイル形式の概要と、TDB ファイルの内容を見る方法、そして TDB ファイルをバックアップする方法を学んでください。

Sean A. Walberg, Senior Network Engineer

Photo of Sean WalbergSean Walberg はネットワーク・エンジニアであり、ネットワークについて 2 冊の本も書いています。これまで医療やメディアをはじめ、さまざまな業界に携わってきました。



2011年 3月 08日

この連載について

この連載は Linux システム管理タスクの学習に役立つだけでなく、LPIC-3 (Linux Professional Institute Certification レベル 3) 試験に備えるための教材にもなります。

連載の各記事についての説明とリンクについては、developerWorks の LPIC-3 ロードマップを参照してください。現在進行中のこのロードマップは、LPIC-3 試験の最新の目標 (2010年 11月) を反映しています。完成した記事はその都度ロードマップに追加されていきます。

概要

この記事では、以下の概念について学びます。

  • TDB (Trivial Database) ファイルをバックアップする
  • TDB ファイルを復元する
  • TDB ファイルの破損を検出する
  • TDB ファイルの内容を編集/一覧表示する

この記事は、LPIC-3 Specialty「302 Mixed Environment Exam」試験の主題 310 の目標 310.3 の試験対策となります。この目標の重要度は 1 です。

前提条件

この連載記事を最大限に活用するには、Linux の高度な知識と、記事に記載されたコマンドを演習できる実際の Linux システムが必要です。具体的には、この記事では読者が Linux コマンドライン関数の実用的な知識を持っていること、そして「Learn Linux, 302 (Mixed environments): Concepts」で説明している Samba の目的について、少なくとも全般的に理解していることを前提とします。記事で説明するアクションを実行するには、Samba ソフトウェアがインストールされている必要があります。また、一部のアクションでは、実際の SMB (Server Message Block)/CIFS (Common Internet File System) ネットワークを自由に使用できることも条件となります。


TDB ファイルの概要

選択的な LPI-302 試験について

LPIC (Linux Professional Institute Certification) には、さまざまなレベルがあり、レベルが上がるにつれ、より深い知識と経験が必要になってくるという点で、他の多くの認定と似ています。LPI-302 試験は、LPIC レベル階層のレベル 3 に位置する選択的な Specialty 認定試験であり、Linux システム管理に関する高度な知識が求められます。

LPIC レベル 3 (LPIC-3) 認定を取得するには、2 つのレベル 1 試験 (101 と 102)、2 つのレベル 2 試験 (201 と 202)、そして LPIC-3 Core Exam (301) に合格しなければなりません。これらの試験に合格した後、LPI-302 などの選択的な Specialty 認定試験を受けることができます。

Samba は実行時に、ローカル・パスワードから、アクセスが期待されるクライアントのリストに至るまで、大量の情報を保管します。これらのデータのなかには、短期間しか有効でないため、Samba の再起動時に破棄できるものもありますが、その一方、永続的に使用するために失ってはならないデータもあります。メモリー内に保持するにはサイズが大きすぎるか、あるいはアクセス頻度が少なすぎるデータだとしても、永続的なデータは再起動後にも存続させる必要があります。このような要件に対処するために、Samba チームは Trivial Database を作成しました。このデータベースは、実際には key-value 型ストアです。key-value 型ストアとはつまり、データは一意のキーを使って格納および取得されますが、リレーショナル・データベースでのようにテーブルの結合は行われないことを意味します。TDB にも言えることですが、key-value 型ストアは、データをディスクに格納して取得する手っ取り早い方法となるように設計されています。

key-value 型ストア

TDB の代わりとなる手段は、GDBM (GNU Database Manager) をはじめ、数多くあります。けれども Samba プロジェクトには、複数のプロセスが同時にデータベースに書き込みできるようにするとともに、内部データのロックをサポートしなければならないという特殊な要件がありました。そのために Samba チームが作成した独自のデータベース・マネージャーが、Trivial Database Manager です。TDB はその後、CTDB (Clustered TDB) プロジェクトにより、クラスタリングされた操作をサポートするように拡張され、今では他のプロジェクトにも使用できるようになっています。

皆さん独自のフィードを作成してください

新しい記事が追加された際、あるいは内容が更新された際に通知を受けられるように、カスタム RSS、Atom、または HTML フィードを作成することができます。それには、developerWorks RSS フィードにアクセスしてください。対象のゾーンには「Linux」を選択し、情報のタイプには「Articles」を選択して、キーワードには「Linux Professional Institute」と入力します。そして最後にフィードのタイプを選択します。

IBM DB2、MySQL、または PostgreSQL などのリレーショナル・データベースに慣れ親しんでいる方にとって、key-value 型ストアはリレーショナル・データベースと比較すると原始的に感じられることでしょう。リレーショナル・データベースでは複数の列からなるテーブルを使用できる一方、key-value 型ストアでは事実上、キーの列と値の列の 2 つしか使えません。リレーショナル・データベースは SQL (Structured Query Language: 構造化問合せ言語) を使用して複数のテーブルおよび列から情報を抽出しますが、key-value 型ストアでの操作はキー列に限られます。

その単純さから、key-value 型ストアが役に立つのは数の少ないジョブのセットとなりますが、少数のジョブのセットであれば極めて素早く処理することができます。基本的に、key-value 型ストアはディスク上のハッシュ・テーブルであるため、索引を調べなくてもデータが置かれている位置を推測できるからです。

TDB は特に、多数の同時書き込み操作への対処と、内部データ構造などのバイナリー・データの処理に重点を置いて作成されました。したがって、バイナリー形式のデータであれば、極めて高速に格納、取得することができます。データをバイナリー形式で格納するということは、データベース・ファイルのサイズが小さくなること、データベースにデータを出し入れする際に、データの形式を変換する必要がないことを意味します。

Samba で使用される TDB ファイル

Samba は TDB ファイルをいくつかの異なる場所に格納します。このように異なる場所に格納される TDB ファイルを見つけるには、smbd -b の出力を調べるのが最も簡単な方法です (リスト 1 を参照)。

リスト 1. smbd ビルド情報の表示
# smbd -b
...
Paths:
   SBINDIR: /usr/sbin
   BINDIR: /usr/bin
   SWATDIR: /usr/share/swat
   CONFIGFILE: /etc/samba/smb.conf
   LOGFILEBASE: /var/log/samba
   LMHOSTSFILE: /etc/samba/lmhosts
   LIBDIR: /usr/lib
   MODULESDIR: /usr/lib/samba
   SHLIBE1T: so
   LOCKDIR: /var/lib/samba
   STATEDIR: /var/lib/samba
   CACHEDIR: /var/lib/samba
   PIDDIR: /var/run
   SMB_PASSWD_FILE: /var/lib/samba/private/smbpasswd
   PRIVATE_DIR: /var/lib/samba/private

リスト 1 では、いくつかのパスが TDB ファイルのある場所を指しています。幸い、その多くは同じ場所であるため、調べる必要のある場所の数は絞られます。例えば、LOCKDIRSTATEDIR、および CACHEDIR はいずれも /var/lib/samba を指していて、PRIVATE_DIR はそのサブディレクトリーの private に置かれています。これらのディレクトリーに移動すれば、TDB ファイルを調べることができるというわけです。

TDB ファイルは大きく分けて、永続的なファイルと一時的なファイルの 2 つに分類することができます。表 1 に、永続的なファイルの名前とそれぞれのファイルの役割を記載します。

表 1. 永続的な TDB ファイル
ファイル名用途
account_policy.tdbアカウント・ポリシー (ロックアウトしきい値、パスワード長など) を格納します。
group_mapping.tdbWindows NT ユーザー ID (SID) と UNIX® ユーザー ID との関係を格納します。
ntdrivers.tdbプリンター・ドライバーに関する情報を格納します。
ntforms.tdbプリンター・キューのフォーム (例えば、用紙サイズなど) に関する情報を格納します。
ntprinters.tdbプリンターの初期設定に関する情報を格納します。
passdb.tdb一部のセキュリティー・モードでのみ、認証クレデンシャルを格納するために使用されます。
registry.tdb他の Windows システムがアクセスできるスケルトン・レジストリーです。
secrets.tdbワークステーションのマシン・キー、LDAP (Lightweight Directory Access Protocol) パスワードのようなクレデンシャルなど、内部設定情報を格納します。
share_info.tdbローカル共有ごとのアクセス制御リスト (ACL) 情報を格納します。
winbindd_idmap.tdbWindows NT SID と動的に作成されるユーザーとの間のマッピング情報を格納します (winbind を使用している場合)。

表 1 に記載した TDB ファイルは、バックアップをとっておく必要があります。その手順については、後で説明します。

永続的な TDB ファイルに加え、状態情報とキャッシュされたデータを格納する一時的な TDB ファイルも数多くあります。これらの一時的な TDB ファイルは Samba の起動時に再び作成されるため、バックアップする必要はありません。


TDB ファイルを使用する

TDB ファイルを操作するためのツールとして、Samba には以下の 3 つのツールが組み込まれています。

  • tdbdump: TDB ファイルの内容を出力します。
  • tdbbackup: TDB ファイルをバックアップおよび検証します。
  • tdbtool: TDB ファイルを作成、表示、変更します。

TDB ファイルの中身を覗く

TDB ファイルの内容を調べるのに最も手っ取り早い方法は、tdbdump コマンドを使ってファイルをダンプすることです。リスト 2 に、ntprinters.tdb ファイルのダンプを記載します。

リスト 2. TDB ファイルで tdbdump を使用する
[root@bob ~]# tdbdump /var/lib/samba/ntprinters.tdb 
{
key(21) = "GLOBALS/c_setprinter\00"
data(4) = "\00\00\00\00"
}
{
key(13) = "SECDESC/test\00"
data(140) = "\80\00\00\00\00\00\02\00\80\00\00\00\01\00\04\80\14\00\00\00$\00\00
\00\00\00\00\004\00\00\00\01\02\00\00\00\00\00\05 \00\00\00 \02\00\00\01\02\00\00
...
\00 \02\00\00\00\02\18\00\0C\00\0F\10\01\02\00\00\00\00\00\05 \00\00\00 \02\00\00"
}
{
key(17) = "SECDESC/cups-pdf\00"
data(140) = "\80\00\00\00\00\00\02\00\80\00\00\00\01\00\04\80\14\00\00\00$\00\00
\00\00\00\00\004\00\00\00\01\02\00\00\00\00\00\05 \00\00\00 \02\00\00\01\02\00\00
...
\00 \02\00\00\00\02\18\00\0C\00\0F\10\01\02\00\00\00\00\00\05 \00\00\00 \02\00\00"
}

リスト 2 の出力から、このデータベースには 3 つのキーがあることがわかります。最初のキーは 21 バイトの長さで (バイト長は、括弧に囲まれて示されています)、その名前は GLOBALS/c_setprinter の後に NULL (ASCII のゼロ文字) が続いた形となっています。印字不能文字は、バックスラッシュの後に 2 つの 16 進文字が続く 16 進形式で示されます。最初のキーの値は 4 バイトの長さで、すべて NULL となっています。

その後の 2 つのキーは、それぞれ SECDESC/testSECDESC/cups-pdf という名前で、どちらの名前も NULL で終わっています。データはすべてバイナリーであり、印字できないため、16 進形式の印字不能文字で出力されています。

TDB ファイルのバックアップと復元

表 1 に記載した、リブート後にも永続的に使用される TDB ファイルは、バックアップが必要です。大抵のデータベースと同じく、ファイルをただコピーするだけでは、コピーが破損する恐れがあります。書き込み中のファイルをコピーした場合にはバックアップが破損するため、そのバックアップは矛盾した状態になります。代わりに使える手段の 1 つは、Samba デーモンをシャットダウンしてから、ファイルをコピーすることです。

TDB ファイルをバックアップするには、Samba に付属の tdbbackup ユーティリティーを使用するのが最も簡単な方法となります。このユーティリティーは、TDB ファイルで書き込み操作が行われている最中だとしても、TDB ファイルを安全にコピーします。さらに tdbbackup にはもう 1 つの有用な機能があります。それは、TDB ファイルが破損していないかどうかを確認し、破損が見つかった場合には自動的にバックアップ・ファイルに戻すという機能です。リスト 3 に、TDB ファイルのバックアップの様子を示します。

リスト 3. TDB ファイルのバックアップ
[root@bob samba]# ls -l account_policy.*
-rw------- 1 root root 8192 Apr  7  2008 account_policy.tdb
[root@bob samba]# tdbbackup account_policy.tdb 
[root@bob samba]# ls -l account_policy.*
-rw------- 1 root root  8192 Apr  7  2008 account_policy.tdb
-rw------- 1 root root 36864 Dec  8 21:42 account_policy.tdb.bak
[root@bob samba]# tdbdump account_policy.tdb | md5sum
53ea608f0d93061480549c511756b778  -
[root@bob samba]# tdbdump account_policy.tdb.bak | md5sum
53ea608f0d93061480549c511756b778  -

リスト 3 の最初のコマンドは、コピーが 1 つしかないことを確認するために、名前が account_policy で始まるすべてのファイルを単純にリストアップします。次に、このアカウント・ポリシー・データベースをバックアップするために、tdbbackup account_policy.tdb を実行します。3 番目のコマンドは、名前が account_policy で始まるすべてのファイルを検索し、拡張子が .bak の新しいファイルが作成されていることを示しています。バックアップ・ファイルのサイズは、オリジナル・ファイルのサイズとは異なっていますが、それぞれのファイルをダンプして MD5 ハッシュを計算すると、チェックサムの値は同じであるという結果が得られます。つまり、キーと値の各ペアの内容はまったく同じであるため、ファイル・サイズが増加していても問題はありません。

例えばシステムの強制シャットダウンなど、何らかの理由でオリジナルの account_policy.tdb ファイルが破損したとしても、ファイルのバックアップから以前のファイルを復元することができます。リスト 4 に、その手順を記載します。

リスト 4. TDB ファイルの検証と復元
[root@bob samba]# ls -l account_policy.tdb
-rw------- 1 root root 1213 Dec  8 21:49 account_policy.tdb
[root@bob samba]# tdbbackup -v account_policy.tdb
tdb_oob len 1256 beyond eof at 1213
restoring account_policy.tdb
[root@bob samba]# ls -l account_policy.tdb*
-rw------- 1 root root 36864 Dec  8 21:49 account_policy.tdb
-rw------- 1 root root 36864 Dec  8 21:42 account_policy.tdb.bak
[root@bob samba]# tdbbackup -v account_policy.tdb
account_policy.tdb : 17 records
[root@bob samba]# tdbdump account_policy.tdb | md5sum
53ea608f0d93061480549c511756b778  -

リスト 4 の最初のコマンドは、ファイル・サイズが大幅に減少していることを示しています。そこで、再度 tdbbackup コマンドを実行しますが、この場合には TDB ファイルを検証するための -v フラグを設定します。ファイルが破損している場合、エラーの要約に続き、ファイルが復元されたという注釈が表示されます。ls コマンドで 2 つのファイル・サイズを比較すると、現行のデータベースを置き換えるためにバックアップ・ファイルが使用されたことがわかります。

tdbbackup コマンドは、何度実行しても問題ありません。例えばリスト 4 の最後から 2 番目のコマンドのように、このコマンドを有効なデータベース・ファイルに対して実行した場合には、ファイルに含まれるレコードの数が返されます。また、MD5 チェックサムの値も破損前に示されたものと同じです。

注:tdbbackup コマンドはワイルドカードを受け入れるため、一度に複数のファイルをバックアップして検証することができます。

TDB ファイルを変更する

tdbtool ユーティリティーを使用して、TDB ファイル内のデータを変更することができます。このユーティリティーはファイルに含まれる個々のキーと値の検査も行うため、ファイル全体をダンプして出力を調べる必要がなくなります。

注意

Samba を扱う際に、TDB ファイル内のデータを変更する必要があることは滅多にありません。変更しなければならないとしたら、それはファイルに内部データ構造が含まれている場合、あるいはジョブを行うのにより適したツールがある場合のいずれかです。けれども、このセクションの内容は試験の目標の 1 つとなっているため、試験では格好の題材となります。

tdbtool は、コマンドラインでコマンドを受け入れることができます。あるいは、対話型コンソールを開くことも可能です。コマンドラインでタスクを完了するには、tdbtool example.tdb command options を実行します。ここで、example.tdb はファイルの名前、command はコマンドです。options は、コマンドの最後に追加します。tdb シェルを使用する場合は、tdbtool を単独で実行するか、またはコマンドラインでファイルの名前を渡します。

データベースを作成するには、tdbtool を単独で実行した後、create test.tdb と入力します。すると、ディスク上に test.tdb という名前のデータベース・ファイルが作成されて開かれます。したがって、このセッションで行う変更はすべて、このファイルで行われることになります。既存の TDB ファイルがある場合は、コマンドラインにその名前を指定するか、open コマンドを使用します。奇妙なことに、コマンドラインから直接 TDB ファイルを作成する唯一の方法では、例えば tdbtool test.tdb create test.tdb といったように、ファイル名を 2 回指定しなければなりません。これによってエラーが返されますが、データベースは正常に作成されます。

新規データベース・ファイルを作成した後、または既存のデータベース・ファイルを開いた後は、以下のオプションを使用することができます。

  • dump:tdbdump と同じように、データベースの中身をすべて表示します。
  • keys: キーのみを ASCII 形式で表示します。キーを 16 進形式で表示するには hexkeys コマンドを使用します。
  • erase: プロンプトを出さずに、データベースの中身をすべて削除します。
  • info: データベースで使用されているキーの数とバイト数の要約を表示します。
  • check: データベースが有効であるかどうかをチェックします。
  • speed: データベースに対するデータの読み取り/書き込みの処理速度を調べるテストを行います。
  • show key: 該当するキーで格納されている値を出力します。
  • delete key: キーと値を削除します。

データを追加および操作するためのコマンドには、insertstore コマンドがあります。この 2 つのコマンドはそれぞれ、キーおよび値をパラメーターとして受け入れます。値はオプションであり、指定しない場合には、キーの値にはゼロ・バイトのデータが格納されていると示されます。

レコードを挿入するということは、つまり新規レコードを作成することです。一方、レコードを保管することによって、既存のエントリーを上書きすることができます。リスト 5 に、この 2 つのコマンドの違いを示します。

リスト 5. レコードを保管する場合と挿入する場合の違い
tdb> insert mykey myvalue
tdb> insert mykey newvalue
insert failed
tdb> store mykey newvalue
Storing key:

key 5 bytes
mykey
data 8 bytes
[000] 6E 65 77 76 61 6C 75 65                           newvalue
tdb> store newkey someothervalue
Storing key:

key 6 bytes
newkey
data 14 bytes
[000] 73 6F 6D 65 6F 74 68 65  72 76 61 6C 75 65        someothe rvalue

以下に、リスト 5 のイベント・シーケンスを説明します。

  1. myvalue という値を持つ mykey というキーを挿入します。この操作は成功します。
  2. 名前は同じで、新しい値を持つキーを挿入します。この操作は失敗します。それは、同じ名前のキーがすでに存在しているためです。
  3. キーを挿入するのではなく、キーを保管します。この操作は成功し、さらに詳細な出力が示されます。
  4. 新しい値を持つ新しいキーを保管します。同じ名前を持つ既存のキーはありませんが、この操作は成功します。

tdb シェルでのトランザクションを使用して、一連のコマンドを実行し、これらのトランザクションをまとめて適用したり、あるいはまとめて取り消したりすることも可能です。リスト 6 に 2 つのトランザクションを記載します。

リスト 6. トランザクションを使用する
tdb> transaction_start
tdb> insert somekey somevalue
tdb> show somekey

key 7 bytes
somekey
data 9 bytes
[000] 73 6F 6D 65 76 61 6C 75  65                       somevalu e
tdb> transaction_cancel
tdb> show somekey
fetch failed
tdb> transaction_start
tdb> insert somekey somevalue
tdb> transaction_commit
tdb> show somekey

key 7 bytes
somekey
data 9 bytes
[000] 73 6F 6D 65 76 61 6C 75  65                       somevalu e

上記のトランザクションは、transaction_start コマンドによって開始されます。トランザクションが開始された後、キーが挿入されます。このトランザクションはコミットされていないことから、別のプロセスがデータベースの読み取り操作を行っている場合には、そのプロセスにはこのキーが見えません。トランザクションを開いているプロセスには、キーが見えます。トランザクションがその後、transaction_cancel によって取り消されると、キーは表示されなくなります。

次に、プロセスが再実行されますが、トランザクションは transaction_commit によってコミットされます。すると、すべての読み取りプロセスからキーが見えるようになります。

トランザクションの処理中は、他の読み取りプロセスはブロックされる可能性があります。つまり、トランザクションが完了するまで、他の読み取りプロセスは中断されることになる、ということです。このことから、本番データベースでトランザクションを使用する場合には注意してください!トランザクションは優れた安全機能ですが、使用し過ぎると、パフォーマンスを劣化させる可能性があります。


TDB 以外にも適用できるツール

構成に応じて、ユーザー・アカウントはさまざまな場所に保管することができます。その際、2 つのツールがコマンドライン・インターフェースになると同時に、バックエンドの通信を処理します。例えば、ユーザー・データが TDB ファイルではなく、LDAP に保管されているとしても、同じコマンドを使用することができます。

smbpasswd を使用する

smbpasswd ユーティリティーは、ユーザー・アカウントまたはマシン・アカウントの追加と削除、およびパスワードの変更を行うことができます。最もよく使用されているのは、後者のタスクを実行する場合です。カレント・ユーザーのパスワードを変更するにも、root として別のユーザーのパスワードを変更するにも、smbpasswd が最もよく使用されています。

各種のパスワード・バックエンドについては今後の記事で詳しく学びますが、大まかに説明しておくと、Samba のバージョン、そして統合対象とするシステムによって、Samba のパスワードはさまざまな方法で保管されます。smbpasswd と (次に説明する) pdbedit はそれぞれのアクションを、TDB 以外のバックエンドを含む、あらゆるバックエンドに対して実行することができます。

Microsoft クライアントがネットワーク経由でパスワードを送信する場合には、平文や UNIX パスワード・ハッシュとしてではなく、Microsoft 固有のハッシュとして送信します。つまり、Microsoft パスワード・ハッシュを取得して、そのパスワードが UNIX パスワード・データベースに格納されているパスワードと同じであるかどうかを判断することはできません。そのため、Samba は必要な措置として Microsoft ハッシュ用に別個のパスワード・データベースを保持します。このデータベースが、パスワード・バックエンドと呼ばれるものです。

pdbedit を使用する

pdbedit は、Samba ユーザー・データベースとアカウント・ポリシーを管理します。このユーティリティーは、smbpasswd が実行可能なすべての操作に加え、ポリシーを管理し、各種バックエンドの間でアカウントをマイグレーションすることができます。

データベース内のすべてのユーザーを表示するには、pdbedit -L を実行します。-v フラグを渡すと、ユーザーに関するさらに詳しい情報を取得することができます (リスト 7 を参照)。

リスト 7. ユーザーの詳細な一覧表示
[root@bob tmp]# pdbedit -L -v
---------------
Unix username:        sean
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-2287037134-1443008385-640796334-1001
Primary Group SID:    S-1-5-21-2287037134-1443008385-640796334-513
Full Name:            Sean
Home Directory:       \\bob\sean
HomeDir Drive:
Logon Script:
Profile Path:         \\bob\sean\profile
Domain:               BOB
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          never
Kickoff time:         never
Password last set:    Mon, 24 May 2010 21:28:49 CDT
Password can change:  Mon, 24 May 2010 21:28:49 CDT
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

pdbedit コマンドは、root としてログインしなければ機能しません。このコマンドを Microsoft ユーティリティーと同じであるかのように使用して、最終ログイン時刻、パスワードの変更、そしてホーム・ディレクトリーなど、さまざまなユーザー設定を編集することができます。

ユーザー・パラメーターには、それぞれに固有のコマンドライン・オプションがあるので、詳細については man ページの pdbedit(8) を参照してください。

もう 1 つ注意する点として、Samba はマシン・アカウントとユーザー・アカウントを同じように扱います。リスト 8 に、ドメイン・コントローラーとして構成された Samba サーバーのパスワード・データベースを記載します。

リスト 8. マシン・アカウントが含まれる、パスワード・データベース
[root@sergeant ~]# pdbedit -L
root:0:root
mythupstairs$:4294967295:MYTHUPSTAIRS
BOB$:1043:Machine
sean:1002:Sean,,,
sergeant$:4294967295:Machine

ドル記号 ($) で終わる名前が、マシン・アカウントです。これらのマシン・アカウントは、マシンをドメインに対して認証するために使用されます。対応する機密情報は、リモート・サーバー上の secrets.tdb とドメイン・コントローラー上の passdb.tdb に格納されます。


次回の予告

今回の記事で、主題「概念、アーキテクチャー、および設計」についての説明はすべて終わりました。次回の記事では、主題 311 に移り、Samba ソース・コードをダウンロードしてコンパイルする方法を学びます。

参考文献

学ぶために

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

  • Samba をダウンロードして、最新のソフトウェア開発を実践してください。
  • プロジェクトで TDB を使用してみたいという場合には、TDB ソース・コードをダウンロードしてください。
  • さまざまな環境で統一したグラフィカル・インターフェースを使用したい場合、あるいは環境の統合を改善したい場合には、Samba のアカウント管理ツールを調べてください。
  • ご自分に最適な方法で IBM 製品を評価してください。評価の方法としては、製品の試用版をダウンロードすることも、オンラインで製品を試してみることも、クラウド環境で製品を使用することもできます。また、SOA Sandbox では、数時間でサービス指向アーキテクチャーの実装方法を効率的に学ぶことができます。

議論するために

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

コメント

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=Linux
ArticleID=644918
ArticleTitle=Linux の 302 (Mixed Environment) 試験対策: 簡易データベース (TDB) ファイル
publish-date=03082011