ConsoleKitとPolicyKitとは何ですか?どのように動作しますか?

ConsoleKitとPolicyKitとは何ですか?どのように動作しますか?

私は最近、GNU / LinuxがConsoleKitとPolicyKitを使用していることを発見しました。それらは何のために使用されますか?どのように動作しますか?

最善の答えは、各人が解決しようとしている問題が何であるか、そしてどのように解決するかを説明する必要があります。

私はこれらのものが存在しなかった頃から長い間GNU / Linuxを使用してきました。私はSlackwareを使用しており、最近はGentooを使用しています。私は上級ユーザー/管理者/開発者なので、答えはできるだけ詳細で正確です(そしてそうする必要があります!)。私はこれらのものがどのように機能するかを理解し、(ユーザーまたは開発者として)可能な限り最善の方法で使用できるようにしたいと思います。

答え1

コンソールツールキット文書)は、ユーザーセッション(つまり、ユーザーがログインしている場所)を追跡するサービスです。ログアウトせずにユーザーを切り替えることができます(1人のユーザーがアクティブな間、複数のユーザーが同時に同じハードウェアにログインできます)。また、セッションが「ローカル」であるかどうか、つまりユーザーがハードウェアに直接アクセスできるかどうかを確認するためにも使用されます(リモートアクセスよりも安全であると見なすことができます)。

現在、ConsoleKitはほとんど次のものに置き換えられます。ログインしました、これは以下の一部ですシステム、スタンドアロン版がありますが、エロキンド

ポルキット(以前はPolicyKitとして知られています) 文書デスクトップ環境内で機能を微調整できます。従来、権限を持つユーザー(ルート)のみがネットワークを構成できました。しかし、サーバー環境では、たとえば、ノートブックのホットスポット接続を許可しないことが制限されすぎると仮定するのが合理的です。ただし、このユーザーに完全な権限(プログラムのインストールなど)を付与したくない場合や、特定のユーザーにオプションを制限したい場合があります(たとえば、お子様のラップトップでは保護者フィルタと一緒に「信頼できる」のみを使用)。ネットワーク)。私が覚えている限り、次のように動作します。

  • プログラムは、dbusを介してジョブに関するメッセージをデーモンに送信します。
  • デーモンはpolkitライブラリ/構成(実際にはpolkitデーモン)を使用して、ユーザーが操作を実行できるかどうかを決定します。特定の条件(パスワード入力やハードウェアアクセスなど)を満たす必要がある状況が発生する可能性があります。
  • デーモンはそれに基づいてアクションを実行します(認証エラーを返すか、アクションを実行します)。

関連情報