# 5.4. パスワード保持

便利になるように、KDE su は "keep password"機能を実装しています。もし、あなた がセキュリティーに興味があれば、この項を読むべきです。

KDE su にパスワードを保持させる事は、あなたのシステムに(小さな)セキュリティー ホールを作ることになります。明らかに、KDE su は、あなたのユーザー ID を除いて誰にも、 パスワードを使う事を許してはいませんが、もし、注意せずに使うのならば、これは、rootの セキュリティーレベルを一般ユーザー(あなた)のセキュリティーレベルへと下げてしまう事に なります。あなたのアカウントに討ち入ったクラッカーは、root 権限を取得することになりま す。KDE su はこれを防ごうと努めます。これを使うセキュリティー策は、少なくとも私の考え では、合理的に安全であり、ここで説明します。

KDE su は、kdesud というデーモンを使います。デーモンは/tmpにあるUNIXソケットに コマンドを教えます。ソケットのモードは 0600 なので、だた、あなたのユーザー IDのみがそ れに接続することが出来ます。パスワード保持が有効になっていると、KDE su はこのデーモン を通してコマンドを実行します。それは、上記にあるように、コマンドとroot のパスワードを そのソケットに書き込み、そして、デーモンは "su" を使ってそのコマンドを実行します。この あと、コマンドと、パスワードは捨てられません。代わって、それらは指定された時間だけ保持 されます。これは、コントロールモジュールの中のタイムアウト値です。もし、この期間中に、 同じコマンドの他のリクエストが来ても、クライアントはパスワードを入力する必要はありませ ん。あなたのアカウントを打破したクラッカーがデーモンからパスワードを盗む(例えば、デバ ッガを使って)のを防ぐために、デーモンはset-group-id nogroup でインストールされていま す。これは、全ての一般ユーザー(あなたを含めて)が、kdesudプロセスからパスワードを取得す ることを防ぐはずです。また、デーモンは環境変数DISPLAYに、デーモンが起動された時のその 値をセットします。クラッカーが唯一することの出来るのは、アプリケーションをあなたのディ スプレイ上で実行する、ということだけです。

この解決策の弱点は、恐らく、あなたが実行するプログラムはセキュリティーを考慮にい れて書かれていない、いう点です。(例えば、setuid のrootのプログラムなど。) これは、それ らのプログラムはバッファーオーバーラン、もしくは、その他の問題を持っている可能性がある ということを意味していて、そして、クラッカーはそれらの問題を見付け出すことが出来ます。

パスワード保持機能を使用するかどうかは、セキキュリティーと便利さの兼ね合いに依り ます。その機能を使いたいかどうかを良く考えて、自分で決めることを、私は勧めます。