ConsoleKitおよびPolicyKitとは何ですか?彼らはどのように機能しますか?


42

最近のGNU / LinuxがConsoleKitとPolicyKitを使用しているのを見てきました。それらは何のため?彼らはどのように機能しますか?

最良の答えは、それぞれが解決しようとする問題の種類と、それを解決する方法を説明する必要があります。

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

回答:


24

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

PolicyKitを使用すると、デスクトップ環境で機能を微調整できます。従来、特権ユーザー(root)のみがネットワークの構成を許可されていました。ただし、サーバー環境では、ラップトップのホットスポットへの接続を許可しないなど、制限が厳しすぎるというのは合理的な仮定です。ただし、この人に完全な権限を与えたくない場合(プログラムのインストールなど)または一部の人のオプションを制限したい場合があります(たとえば、子供のラップトップでは、ペアレンタルフィルターを使用できる「信頼できる」ネットワークのみを使用できます)。私が覚えている限り、それは次のように機能します:

  • アクションに関するメッセージをdbus経由でデーモンに送信するプログラム
  • デーモンはPolicyKitライブラリ/構成(実際にはPolicyKitデーモン)を使用して、ユーザーがアクションを実行できるかどうかを判断します。特定の条件(パスワードの入力やハードウェアアクセスなど)を満たす必要がある場合があります。
  • デーモンはそれに応じてアクションを実行します(認証エラーを返すか、アクションを実行します)

PolicyKitドキュメント

EDITは現在ConsoleKitは、主に置き換えられlogindの一部であり、systemdにスタンドアロンバージョンがあるが、elogind

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.