/etc/passwd
などに書かれている情報は,
すべて無視されてしまいます.
これら NetInfo の情報は,
/var/db/netinfo/
に保存されています.
nibind
コマンドにより,
上位のデータベースへ bind されています.
host1 host0 host2 | | | +------- network / ------------+ | | | local host1 local host0 locat host2この図で "network /" とあるのは, データベースのタグ名が "network" で, このデータベースが root domain であることを表しています. また, "local host1" とあるのは, host1 上の local データベースを表します.
host1 host0 host2 | | | +------- network / ------- (network /) | | subnetwork | | | +-------------+ | | | | local host1 local host0 locat host2この構成の場合, host1 での検索は, はじめに local データベースを検索した後, subnetwork へ検索対象が移動し, 最終的に network へ移動します.
nidomain
, niutil
, nidump
,
niload
などのコマンドを利用して, NetInfo の情報を操作することになります.
nibind
は NetInfo を起動するコマンドで,
/var/db/netinfo/
以下にある NetInfo データベースにしたがって,
netinfod
というデータベースごとの daemon を起動します.
これは, 起動時に DirectoryService
から起動されます.
netinfod
はそれぞれのデータベースに対応して2つのプロセスが起動されます.
netinfod
は RPC のプログラムなので,
portmapper
を経由することにより,
netinfod
のポートを知ることが出来ます.
つまり, NetInfo を利用する際には portmapper は必須のプログラムとなります.
しかし, portmapper が無制限のアクセスを許していると,
セキュリティ上重大な問題を引き起こすことがあり得ますので, 注意が必要です.
現状で portmapper で tcpwrap が有効かどうかはわかりません.
nidomain -m network "network" データベースを作成する. nidomain -d network "network" データベースを削除する. nidomain -l データベースのリストを得る. nidomain -c network master/network master 上の tag データベースのクローンを作成する.
niutil
は NetInfo データベースを操作するときに利用する一般的なコマンドです.
niutil -list . /とします. ここで, "." は NetInfo データベースへの最初のエントリポイントを表します. "." のかわりに ".." とすると, その直上のデータベースを参照することになります.
1 users 7 groups 30 machines 34 networks 36 protocols 51 rpcs 80 services 142 aliases 151 mounts 152 printers 153 config 159 localconfigといったリストを得ることが出来ます. そこで,
niutil -read . /を実行すると,
trusted_network: master: localhost/localという結果を得ます. ここで, "trusted_network", "master" が "/" の property 言われる変数です.
niutil -list . /usersを実行すると,
2 unknown 3 nobody 4 root 5 daemon 6 wwwという結果を得ることができ, これらを繰り返すことにより, NetInfo データベースの内容を参照することが出来ます.
niutil -create niutil -destroy niutil -createprop niutil -appendprop niutil -mergeprop niutil -insertval niutil -destroyprop niutil -destroyval niutil -renamepropなどのコマンドを利用すれば, データベースの内容や property を変更することが出来ます.
ここで, 注意が必要なことは, NetInfo データベースとして, ホストとタグの組 "localhost/local" を直接指定したいときには,
niutil -t -list localhost/local /usersのように "-t" オプションが必要です.
nidump
は NetIndo データベースの内容を raw format または,
UNIX flat 形式で出力します.
# nidump passwd . / unknown:*:-3:-3::0:0:Unknown User:/dev/null:/dev/null nobody:*:-2:-2::0:0:Unprivileged User:/dev/null:/dev/null root:*:0:0::0:0:System Administrator:/var/root:/bin/tcsh daemon:*:1:1::0:0:System Services:/var/root:/dev/null www:*:70:70::0:0:World Wide Web Server:/Library/WebServer:/dev/null
nidump
に指定可能な format は
aliases, bootptab, bootparams, ethers, exports, fstab, group,
hosts, networks, passwd, printcap, protocols, resolv.conf, rpc,
services, mountmaps
に限られます.
逆に言えば, これらの情報を NetInfo を用いてクライアントに渡すことが可能です.
niload
は NetInfo データベースに UNIX flat ファイル形式でデータを登録するためのコマンドです.
入力は標準入力から行われます.
niutil -t -destroy . /users/XXXXを用います.
$Id: netinfo.html,v 1.5 2001-05-21 16:31:52+09 naito Exp $