Mac OS X 資料一覧

OpenDirectoryの管理対象物と操作方法

2008/1/18更新

対応バージョン: 10.5(Leopard)

OpenDirectoryではネットワーク設定やユーザ情報など、ホスト内で共通して利用する情報を一元管理している。

OpenDirectoryで管理している情報は/var/db/dslocal/nodes/Default配下に目的別にディレクトリが作られ、その下に各エントリのplistが格納されている。

デフォルトでは以下のようなファイルが存在する。

マシン管理

/var/db/dslocal/nodes/Default/machines/broadcasthost.plist (ブロードキャストホスト設定)
/var/db/dslocal/nodes/Default/machines/localhost.plist (ローカルホスト設定)
/var/db/dslocal/nodes/Default/networks/loopback.plist (ループバックインタフェース設定)

要認証サービス

/var/db/dslocal/nodes/Default/config/KerberosKDC.plist (Kerberos設定)
/var/db/dslocal/nodes/Default/config/SharePoints.plist (共有フォルダ設定格納場所)
/var/db/dslocal/nodes/Default/config/SharePoints/<共有フォルダ>.plist (共有フォルダ毎の設定)

ユーザ管理

/var/db/dslocal/nodes/Default/users/<ユーザ>.plist
/var/db/dslocal/nodes/Default/groups/<グループ>.plist

メールエイリアス

/var/db/dslocal/nodes/Default/aliases/<エイリアス>.plist

OpenDirectoryにCUIでアクセスするにはdsclを使用する。

各設定はディレクトリの/Local/Default配下に配置されているので、例えばネットワークのループバックインタフェースの設定情報を表示するには以下のようにする。

インタフェースの一覧を表示
% dscl localhost -list /Local/Default/networks
loopback
ループバックインタフェースの設定情報出力
% dscl localhost -read /Local/Default/networks/loopback
dsAttrTypeNative:address: 127
AppleMetaNodeLocation: /Local/Default
RecordName: loopback loopback-net
RecordType: dsRecTypeNative:networks

ちなみに設定情報はplistなのでmoreなどで実際の設定ファイルの中身を確認することができる(ファイルには一般ユーザの参照権がないのでsudoを使用する)。

% sudo more /var/db/dslocal/nodes/Default/networks/loopback.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.
com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>address</key>
        <array>
                <string>127</string>
        </array>
        <key>name</key>
        <array>
                <string>loopback</string>
                <string>loopback-net</string>
        </array>
</dict>
</plist>

dsclにはこの他に設定情報の追加/変更/削除/検索などのサブコマンドが用意されているので目的に応じて使用する。