KDE su ハンドブック
前のページ | 第 5章内部 | 次のページ

# 5.2. su へのインターフェース

>KDE su は権限を取得するのに、システムの "su" を使用します。 この章では、KDE su はどのようにこれをするのかの詳細を説明します。

いくつかの su の実装 (例えば、Redhatの su)では、 標準入力(`stdin`)からのパスワード読み込みを使わないので、 KDE su は、 pty/tty のペアを作成し、 tty に接続されたそれ自身の標準ファイルディスクリプターにて "su" を実行します。

ユーザーが選択したコマンドを実行するために、 KDE su は、対話シェルではなく、 "`-c`" の引数を伴った su を使用します。 この引数は、私の知る全てのシェルで認識され、汎用的に動作するはずです。 su は、この "`-c`" 引数を、 対象とするユーザーのシェルに渡し、そして、シェルはプログラムを実行します。 コマンド例は、 "su `root -c `the_program``" となります。

su を使って直接ユーザーコマンドを実行する代わりに、KDE su は kdesu_stub と呼ばれる小さな スタブプログラムを実行します。 この スタブ(対象のユーザーとして実行されるている)は 、 いくつかの情報を pty/tty チャンネル(スタブの標準入出力)越しに KDE su に要求し、 それから、ユーザーのプログラムを実行します。 渡される情報は、Xディスプレイ、(可能であれば)X 認証クッキー、 環境変数 `PATH`、そして、実行するコマンド、となっています。 スタブプログラムが使われる理由は、 X クッキーはプライベートな情報であるためで、コマンドラインに渡すことが出来ないのです。

前のページ | Home | 次のページ
内部 | Up | パスワードのチェック