web-dev-qa-db-ja.com

ユーザーの介入なしにkerberosチケットを更新する

私たちは、OSXマシンがWindowsプリントサーバーを介して印刷できるようにする最も優れたプログラムを見つけました。 (ksmbprint http://deploystudio.com/ から)

プログラムは、Kerberos認証を通じてサーバーへのsmb印刷を可能にします-各印刷ジョブのADユーザー名とパスワードを常に入力する必要がなくなり、300程度のマシンに特定のプリンターをセットアップする必要がないため、 lpadminを使用して印刷する。

問題は、Kerberosチケットが10時間続くことです。 10時間1秒、印刷ジョブはエーテルに送られます-通過したように見えますが、どこにも行きません。

テストでは、Keychain Access-> Ticket Viewerに移動し、ADパスワードを入力した後、チケットを更新できます。これはテスターに​​とっては問題ありませんが、ユーザーにとっては問題ありません。

チェックするスクリプトを見つけました。チケットの残り時間が30分未満の場合、ユーザーは再認証を求められます。これを起動エージェントとして設定すると、ユーザーに再認証を要求するまで機能します。この部分は、エージェントとして実行している場合は発生しません。

ユーザーの介入をできるだけ少なくしてチケットを再認証する方法を探しています。 Launch Agentを実行したときと同じように機能させることができれば、最初の実行でも問題ありませんが、Kerberosチケットを静かに再認証する方法が本当に必要です。

ドメイン管理者と話し、彼らはチケットの時間を増やすことを提案していませんでした。話し合った後、いつ期限を設定しても、チケットが期限切れになる誰かがいることに気づきました。 。

編集:起動エージェントを機能させることができましたが、これをユーザーの介入よりも行う方法をまだ探しています。このランダムなボックスが表示され、ドメインパスワードを入力するときに、ユーザーに私たちを信頼するように求める考えは、ユーザーにしてはいけないことのリストにあります。

6
eric.s

kinit -Rは私のためのトリックを行うようです。このコマンドを、たとえば7200秒(2時間)のStartIntervalで実行するLaunchAgentを用意することをお勧めします。より洗練されたものにすることもできます(たとえば、最初にネットワーク接続をテストし、TGTが期限切れに近づいたときに再試行の頻度を調整するなど)。

0
Gordon Davisson