Polkit-0.118

Polkit の概要

Polkit パッケージは、権限情報を定義し操作するためのツールキットです。 非特権 (unprivileged) プロセス から特権 (privileged) プロセスへのアクセスを行う際に利用されます。

本パッケージは LFS-10.1 において正しくビルドでき動作することが確認されています。

パッケージ情報

Polkit の依存パッケージ

必須

GLib-2.66.7, js78-78.8.0

Recommended

[注記]

注記

Since systemd-logind uses PAM to register user sessions, it is a good idea to build Polkit with PAM support so systemd-logind can track Polkit sessions.

任意 (GNOME のビルド時に必要)

gobject-introspection-1.66.1

任意

D-Bus Python-1.2.16dbusmock-0.22.0 (テストのため), docbook-xml-4.5, docbook-xsl-1.79.2, GTK-Doc-1.33.2, libxslt-1.1.34

Required Runtime Dependencies

Systemd-247

Optional Runtime Dependencies

One polkit authentication agent for using polkit in the graphical environment: polkit-kde-agent in Plasma-5.21.1 for KDE, the agent built in gnome-shell-3.38.3 for GNOME3, polkit-gnome-0.105 for XFCE, and lxpolkit in LXSession-0.5.5 for LXDE.

[注記]

注記

libxslt-1.1.34 をインストールしている場合は docbook-xml-4.5docbook-xsl-1.79.2 が必要です。 また libxslt-1.1.34 はインストールしていても、その DocBook パッケージ類をインストールしたくない場合は、後述する手順にて --disable-man-pages を指定することになります。

ユーザー情報: http://wiki.linuxfromscratch.org/blfs/wiki/polkit

Polkit のインストール

polkitd デーモンの起動には、これを制御するための専用のユーザーおよびグループが必要です。 そこで root ユーザーになって以下を実行します。

groupadd -fg 27 polkitd &&
useradd -c "PolicyKit Daemon Owner" -d /etc/polkit-1 -u 27 \
        -g polkitd -s /bin/false polkitd
[注記]

注記

When building Polkit with systemd logind support, the configure script explicitly checks if system is booted using systemd. This can cause problems if building the package in chroot, where the configure would fail to detect systemd. To workaround the problem, simply run the following command:

sed -i "s:/sys/fs/cgroup/systemd/:/sys:g" configure

一般ユーザーとして以下のコマンドを実行し Polkit をビルドします。

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --disable-static     \
            --with-os-type=LFS   &&
make

ビルド結果をテストする場合、まずは D-Bus が稼動していることを確認します。 そして make check を実行します。

root ユーザーになって以下を実行します。

make install

コマンド説明

--disable-static: このスイッチはスタティックライブラリをインストールしないようにします。

--with-authfw=shadow: 本スイッチは認証フレームワークとして Linux-PAM ではなく Shadow を使うことを指定します。 Linux-PAM をインストールしていない場合は、本スイッチを用いてください。

--enable-gtk-doc: GTK-Doc をインストール済で API ドキュメントを再構築する場合に指定します。

Polkit の設定

PAM 設定

[注記]

注記

Linux PAM サポートを含めずに Polkit をビルドした場合は本節を読み飛ばしてください。

Linux PAM サポートを含めて Polkit をビルドしている場合、デフォルトでインストールされている PAM 設定ファイルを修正する必要があります。 これにより BLFS において polkit が正しく動作するものとなります。 root ユーザーになって以下のコマンドを実行してください。 Linux PAM 用の設定ファイルを生成します。

cat > /etc/pam.d/polkit-1 << "EOF"
# Begin /etc/pam.d/polkit-1

auth     include        system-auth
account  include        system-account
password include        system-password
session  include        system-session

# End /etc/pam.d/polkit-1
EOF

パッケージ構成

インストールプログラム: pkaction, pkcheck, pk-example-frobnicate, pkexec, pkttyagent, polkitd
インストールライブラリ: libpolkit-agent-1.so, libpolkit-gobject-1.so
インストールディレクトリ: /etc/polkit-1, /usr/include/polkit-1, /usr/lib/polkit-1, /usr/share/gtk-doc/html/polkit-1, /usr/share/polkit-1

概略説明

pkaction

登録されている PolicyKit アクションについての情報を取得するために用います。

pkcheck

プロセスがアクションを行う権限を有するかどうかをチェックするために用います。

pk-example-frobnicate

is an example program to test the pkexec command

pkexec

認証されたユーザーが、他ユーザーとなってコマンド実行することを許可します。

pkttyagent

プロセスなどに対して、テキスト情報による権限エージェントを開始します。

polkitd

システムメッセージバス上にて、org.freedesktop.PolicyKit1 なる D-Bus サービスを提供します。

libpolkit-agent-1.so

Polkit の認証エージェント API 関数を提供します。

libpolkit-gobject-1.so

Polkit 認証 API 関数を提供します。

最終更新日: 2021-02-21 10:41:49 +0900