http://www.sun.com/bigadmin/content/submitted/kerberos_pwd.html より
Mike Myers, September,2004
Active Directory は通信時の認証と暗号化に MIT の Kerberos プロトコルを 使っていることはよく知られている.
また,Solaris には Kerberos のライブラリが含まれていることも よく知られていることだ.
多くの文書が,これら 2つの事実を用いて 2つの認証を統合すること(これは巨大なプロジェクトとなりえる)に ついて述べ始めている. このテクニカル Tips はそのさわりだ.
Kerberos により, 少し設定をすれば Windows Active Directory の パスワードを変更できるようになる. もし,あなたが両方の環境で仕事をしていて, まだ認証が統合されていないなら, これは,手軽にできることだ.
最初のステップは,Solaris の Kerberos ライブラリを 設定することだ. それには,次の 2つのパラメータが必要だ.
前者はたぶん,単にあなたのサイトのインターネットドメインだ. (例えば,あなたのインターネットサイトが www.example.com だったら, Active Directory ドメイン名は多分 EXAMPLE.COM だ.) これを確認し,Active Directory のサーバ名を見つけるために, Active Directory サーバが使っている DNS サーバと 同じサーバを /etc/resolv.conf ファイルで指定しているか確認しなさい. そして,以下を実行する.
nslookup set type=srv _kpasswd._tcp
_kpasswd._tcp エントリは, Active Directory がサーバを指定するために使う特別なキーだ. (SRV レコードという.) もし,1つ以上の返答があれば, それらのどれを使ってもいいが, ネットワーク的に一番近いものを指定するのがいい.
もしこれがうまくできないなら,Windows 管理者に尋ねましょう.
この情報を得たら,下の例を参考に /etc/krb5/krb5.conf を編集しましょう.
[libdefaults] default_realm = <YOUR DOMAIN NAME> default_tkt_enctypes = des-cbc-md5 default_tgs_enctypes = des-cbc-md5 [realms] <YOUR DOMAIN NAME> = { kdc = <NAME OF AD SERVER>:88 admin_server = <NAME OF AD SERVER>:464 # This is required for Solaris to use the older protocol # to communicate with the Active Directory server kpasswd_protocol = SET_CHANGE } [domain_realm] <ANY MAPPINGS> [appdefaults] kinit = { renewable = true forwardable= true }
ここで <ANY MAPPINGS> の部分はオプションで, DNS ドメインと Active Directory ドメインが同じでない場合のみ必要だ. そこには,次のようなエントリを書く.
<DNS DOMAIN> = <AD DOMAIN>
これは,Kerberos オペレーションとして <DNS DOMAIN>から自分自身を探す際に, "<AD DOMAIN>"を使えという意味だ.
これらの作業が完了したら, kpasswd を実行することができる.
もし,UNIX のログイン名と Windows Active Directory のログイン名が同じなら, することはこれだけだ.
もし,Windows では異なるログイン名を使っているなら, 次のことをする必要がある.
kpasswd <windows login名>