ネットワークアプリケーションサーバー上の rlogin や ftp など、サービスの認証メカニズムを一時的に無効にしなければならない場合があります。たとえば、保守作業中は、ユーザーがシステムにログインできないようにする必要があります。ktutil コマンドを使用してサーバーのキータブファイルからサービス主体を削除することにより、サービスの認証を一時的に無効にすることができます。このとき、kadmin 権限は必要ありません。認証を再度有効にするには、保存した元のキータブファイルを元の位置にコピーするだけです。
デフォルトでは、ほとんどのサービスが認証を要求するように設定されています。そのように設定されていないときは、サービスの認証を無効にした場合でもサービスは動作します。
キータブファイルが存在するホスト上でスーパーユーザーになります。
ほかのユーザーが所有するキータブファイルを作成することもできますが、キータブファイルのデフォルトの位置を使用するには root 所有権が必要です。
現在のキータブファイルを一時ファイルに保存します。
ktutil コマンドを起動します。
# /usr/bin/ktutil |
read_kt コマンドを使用して、キータブファイルをキー一覧バッファーに読み込みます。
ktutil: read_kt keytab |
list コマンドを使用して、キー一覧バッファーを表示します。
ktutil: list |
現在のキー一覧バッファーが表示されます。無効にするサービスのスロット番号を記録します。
ホストのサービスを一時的に無効にするには、delete_entry コマンドを使用して、キー一覧バッファーから特定のサービス主体を削除します。
ktutil: delete_entry slot-number |
この例では、slot-number に、削除するサービス主体のスロット番号を指定します。スロット番号は、list コマンドで表示できます。
write_kt コマンドを使用して、新しいキー一覧バッファーをキータブファイルに書き込みます。
ktutil: write_kt new-keytab |
ktutil コマンドを終了します。
ktutil: quit |
新しいキータブファイルの名前を変更します。
# mv new-keytab keytab |
サービスを再度有効にする場合は、一時的な (元の) キータブファイルを元の場所にコピーします。
次の例では、denver ホスト上の host サービスを一時的に無効にします。denver 上のホストサービスを再度有効にするには、 krb5.keytab.temp ファイルを /etc/krb5/krb5.keytab ファイルにコピーします。
denver # cp /etc/krb5/krb5.keytab /etc/krb5/krb5.keytab.temp denver # /usr/bin/ktutil ktutil:read_kt /etc/krb5/krb5.keytab ktutil:list slot KVNO Principal ---- ---- --------------------------------------- 1 8 root/denver@EXAMPLE.COM 2 5 host/denver@EXAMPLE.COM ktutil:delete_entry 2 ktutil:list slot KVNO Principal ---- ---- -------------------------------------- 1 8 root/denver@EXAMPLE.COM ktutil:write_kt /etc/krb5/new.krb5.keytab ktutil: quit denver # cp /etc/krb5/new.krb5.keytab /etc/krb5/krb5.keytab |