Polkit-0.114

Polkit の概要

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

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

パッケージ情報

Polkit の依存パッケージ

必須

GLib-2.58.0, js52-52.2.1gnome1

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

gobject-introspection-1.58.0

任意

docbook-xml-4.5, docbook-xsl-1.79.2, GTK-Doc-1.29, libxslt-1.1.32, Linux-PAM-1.3.0

[注記]

注記

libxslt-1.1.32 をインストールしている場合は docbook-xml-4.5docbook-xsl-1.79.2 が必要です。 また libxslt-1.1.32 はインストールしていても、その 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

Fix an issue identified upstream after the package release:

sed -e '/JS_ReportWarningUTF8/s/,/, "%s",/'  \
        -i  src/polkitbackend/polkitbackendjsauthority.cpp

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

./configure --prefix=/usr                    \
            --sysconfdir=/etc                \
            --localstatedir=/var             \
            --disable-static                 \
            --enable-libsystemd-login=no     \
            --enable-libelogind=no           \
            --with-authfw=shadow             &&
make

ビルド結果をテストする場合は make check を実行します。 すべてのテストを成功させるためには D-Bus デーモンを実行しておく必要があります。

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

make install

コマンド説明

--enable-libsystemd-login=no: This parameter fixes building without systemd, which is not part of LFS/BLFS. If you use systemd, replace "no" by "yes".

--with-authfw=shadow: 本パラメーターは認証フレームワークとして Linux-PAM ではなく Shadow を使うことを指定します。 Linux-PAM とする場合は本パラメーターの引数を 'pam' に変えてください。

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

--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 関数を提供します。

最終更新日: 2018-08-15 11:39:38 +0900