NetInfo

提供: MacWiki
移動: 案内検索

NetInfo とは?[編集]

NetInfo は NextSTEP 時代から引き継がれている Mac OS X の管理情報データ ベースである。Mac OS X は各種 UNIX システムの /etc 下にある管理情報の 大半を NetInfo で管理している。通常の起動ではNetInfoのDaemonが起動し、 NetInfoが管理している情報については/etc 下のファイルを読まないが、 シングルユーザーモードではNetInfoが起動しないので全ての/etc 下のファイルを読む。

従って、/etc/hostsなどはMacが起動する最低限の設定で十分であり、普段の設定はNetInfoまたはniload,nidumpの使用を勧める。

NetInfo は NIS 型サービスとしても利用できるが、Mac OS X Server 10.3 以 降、この機能はデフォルトで OFF になっている。この機能の詳細については、 NAITO さんのページが詳しい。

http://www.math.nagoya-u.ac.jp/%7Enaito/MacOSX/netinfo.html

NetInfo のディレクトリ構造[編集]

NetInfo は階層型のデータベースなので、ディレクトリ構造を持つ。主なディ レクトリは以下の通り。

/aliases 電子メールのエイリアス情報。aliases に相当。
/groups システムのグループ情報。group に相当。
/machines 計算機情報。hosts、bootptab、bootparams に相当。
/mounts マウント情報。fstab に相当。
/networks ネットワーク情報。networks に相当。
/printers プリンター情報。printcap に相当。
/protocols 転送プロトコル情報。protocols に相当。
/rpcs rpc 情報。
/services ネットワーク(ARPA)サービス情報。services に相当。
/users ユーザー情報。passwd に相当。

起草者(saiki)は NetInfo の詳細について触れるほど知識がありません。もっ と詳しい方がいたらどうぞ修正・追記してください。

NetInfo 関連コマンド[編集]

NetInfo データベースは、/Applications/Utilities にある「NetInfo マネー ジャ」から GUI を利用して管理できるが、便利なコマンドラインツールがい くつか存在する。

nidump[編集]

nidump [-t] {-r directory | format} domain

nidump は指定された NetInfo ドメインからデータの一部分をダンプし、それ を標準出力に出力する。フラットファイル形式(いわゆる UNIX の各種設定ファ イル)が指定された場合は、ダンプデータをそれぞれのフォーマットに合っ た形式に変換して出力する。format には aliases, bootparams, bootptab, fstab, group, hosts, networks, passwd, printcap, protocols, rpc, service を指定で きる。

-r directory が指定された場合、nidump は指定されたディレクト リを NetInfo 標準フォーマットで出力する。

フラットファイル形式の例については、後述する「nidump, niload を利用し た UNIX ライクなシステム管理」を参照して欲しい。

  • -t : ドメインをタグ付きドメインとして解釈する。たとえば、trotter/network はホスト trotter にあり、network でタグ付けされたデータベースを参照する。
  • -r : NetInfo の raw 形式として出力する。

niload[編集]

niload [-vdmpt] {-r directory | format} domain

niload は標準入力渡しでテキストか、フラットファイル形式(いわゆる UNIX の各種設定ファイル)から domain で指定されたドメインの NetInfo にデータを読み込ませる。

format が指定された場合、標準入力から読まれるデータはフラットファ イル形式となる。format には aliases, bootparams, bootptab, fstab, group, hosts, networks, passwd, printcap, protocols, rpc, service を指定で きる。

-r directory が指定された場合、標準入力から読まれるデータは テキスト(NetInfo の raw 形式)になる。raw 形式は、nidump -r で生 成される形式。この処理は、指定された NetInfo ディレクトリを完全に置き 換える -- つまり指定したディレクトリ下にあるサブツリーのレコードは失わ れることに注意。

niload は入力されたエントリーが既に存在する場合、それを上書きする。入 力に存在せず、NetInfo に存在するエントリーは削除されない。これを削除す るには、-d オプションを指定する。

フラットファイル形式の例については、後述する「nidump, niload を利用し た UNIX ライクなシステム管理」を参照して欲しい。

  • -v : アップデートされたレコードについて、詳細を出力する。
  • -d : 入力に存在せず、データベースに存在するエントリーを削除する。
  • -m : プロパティと値をマージする。入力に存在せず、データベースに存在するデータは保持される。たとえば、user レコードはpicture プロパティを持っているが、passwd フォーマットのレコードを読み込んだときに -m を指定するとデータベース上の picture プロパティが保持される。
  • -p : ローカルではない他のドメインのデータベースを書き換えるときに、そのドメインのルートパスワードを尋ねるプロンプトを表示する。
  • -t : ドメインをタグ付きドメインとして解釈する。たとえば、trotter/network はホスト trotter にあり、network でタグ付けされたデータベースを参照する。
  • -r : 入力を NetInfo の raw 形式として解釈する。

その他のコマンド --- nicl, nifind, nigrep 等。

nidump, niload を利用した UNIX ライクなシステム管理[編集]

UNIX システムに馴染みのある方は、nidump, niload を利用して NetInfo デ ータベースを管理すると、passwd, group といったフォーマットで管理情報の 入出力が可能になります。

ローカルドメインを指定するときは . を使います。

passwd の管理[編集]

passwd データを取得し、ファイルを更新した後、再びデータベースに戻 すには、以下のようにします。niload を行うには管理者権限が必要です。

# nidump passwd . > passwd
# $edior passwd
# niload -m passwd . < passwd

NetInfo の /user ディレクトリは、/etc/passwd の情報に加えて、picture 等の情報を含んでいるため、niload -m でエントリーをマージすると無難 です。エントリーを削除する場合は、nidump で出力した passwd ファイルか ら、不要なユーザーの行を削除し、-d オプションをつけて、

# niload -m -d passwd . < passwd

とします。

group の管理[編集]

group フォーマットを指定すると、/etc/group フォーマットでグループ情報の入出力ができます。

# nidump group . > group
# $editor group
# niload -m group . < group


fstab の管理[編集]

fstab 等も同様に処理できます。

# nidump fstab . > fstab
# $editor fstab
# niload -m fstab . < fstab

計算機を起動するときに NFS を自動マウントしたい場合も、この方法で登録 できます。

その他、利用できるフォーマットについては niload, nidump を参照 してください。

Wiki内の関連ページ[編集]