Sun Enterprise Authentication Mechanism ガイド

新しいプリンシパルの作成を自動化する

SEAM ツールは使いやすいですが、新しいプリンシパルの作成を自動化する方法はありません。自動化できれば、特に多数 (10、さらには 100 ぐらい) の新しいプリンシパルを短時間で追加する必要があるときに便利です。kadmin.local コマンドを Bourne シェルスクリプトで使用すれば、簡単に自動化できます。

次に、自動化の例となるシェルスクリプトの行を示します。

sed -e 's/^¥(.*¥)$/ank +needchange -pw ¥1 ¥1/' 
< princnames | time /usr/krb5/sbin/kadmin.local > /dev/null

このスクリプトは、プリンシパル名とそのパスワードが入っている princnames というファイルを読み取って、Kerberos データベースに追加します。princnames ファイルはあらかじめ作成しておく必要があります。このファイルの各行は、1 つまたは複数の空白で区切られたプリンシパル名とそのパスワードから構成されます。+needchange オプションを指定すると、ユーザーがあるプリンシパルで初めてログインするとき、新しいパスワードをユーザーに尋ねるようにプリンシパルを構成します。これによって、princnames ファイル内のパスワードのセキュリティが保護されます。

これは 1 つの例ですが、より精巧なスクリプトも構築できます。たとえば、ネームサービスの情報を使用して、プリンシパル名に対するユーザー名のリストを取得することもできます。どのようにスクリプトを構築するかは、ユーザーのサイトのニーズと、ユーザーのスクリプトの技量によります。