マスター KDC 上の Kerberos データベースには、レルムの Kerberos 主体、そのパスワード、ポリシーなどの管理情報がすべて含まれています。主体を作成および削除したり、その属性を変更したりするには、kadmin コマンドを使用します。
kadmin コマンドには、対話型のコマンド行インタフェースが用意されています。このインタフェースを使用して、Kerberos 主体、ポリシー、およびキータブファイルを管理することができます。また、主体の作成を自動化するスクリプトを実行することもできます。kadmin コマンドには、ローカルバージョンとリモートバージョンがあります。
kadmin – Kerberos 認証を使用して、ネットワーク上の任意の場所から安全に操作できます
この 2 つのバージョンの機能は同じです。リモートバージョンを使用するには、その前にローカルバージョンを使用してデータベースを十分に構成しておく必要があります。
このセクションでは、kadmin.local コマンドのスクリプト機能について説明します。
スクリプト内で kadmin.local コマンドを使用すると、新しい Kerberos 主体の作成を自動化できます。自動化は、データベースに多数の新しい主体を追加する場合に役立ちます。
次のシェルスクリプト行は、新しい主体の作成を自動化する方法を示しています。
awk '{ print "ank +needchange -pw", $2, $1 }' < /tmp/princnames | time /usr/sbin/kadmin.local> /dev/null
前の例は、読みやすさのために 2 行に分割されています。
このスクリプトは、princnames という名前のファイルを読み込みます。このファイルには主体名とそのパスワードが含まれており、それらを Kerberos データベースに追加します。
princnames ファイルをあらかじめ作成する必要があります。このファイルの各行には、主体とそのパスワードを 1 つ以上の空白で区切って指定します。
ank コマンドは、新しい鍵を追加します。ank は、add_principal コマンドの別名です。
+needchange オプションは、その主体であるユーザーが最初のログイン時に新しいパスワードの入力を求められるように主体を構成します。
パスワード変更を求めることは、princnames ファイル内のパスワードがセキュリティーリスクにならないようにするのに役立ちます。
より複雑なスクリプトも作成できます。たとえば、ネームサービスの情報を使用して、主体名に対応するユーザー名の一覧を取得できます。必要な作業とその方法は、使用環境要件とスクリプト使用技術によって決まります。