ConsoleKit2-1.0.2

ConsoleKit の概要

ConsoleKit パッケージは、システム上のユーザー、セッション、シート (seat) に関する情報を追跡管理するフレームワークを提供します。 そのような情報やこれに関するメタ情報が変更された際に、ソフトウェアがこれを検出する機構を提供するものです。

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

パッケージ情報

ConsoleKit の依存パッケージ

必須

dbus-glib-0.108, Xorg ライブラリ

推奨

[警告]

警告

polkit パッケージをインストール しない 場合、ConsoleKit.conf ファイルを編集してサービスを停止することが必要です。 これを行っていないと、極めて重大な セキュリティホール となる点に注意してください。

任意

xmlto-0.0.28

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

ConsoleKit のインストール

以下のコマンドを実行して ConsoleKit をビルドします。

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --enable-udev-acl    \
            --enable-pam-module  \
            --enable-polkit      \
            --with-xinitrc-dir=/etc/X11/app-defaults/xinitrc.d \
            --docdir=/usr/share/doc/ConsoleKit-1.0.2           \
            --with-systemdsystemunitdir=no                     &&
make

このパッケージにテストスイートはありません。

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

make install &&

mv -v /etc/X11/app-defaults/xinitrc.d/90-consolekit{,.sh}

コマンド説明

--enable-udev-acl: このスイッチは udev-acl ツールをビルドすることを指示します。 デバイスノードへは通常、root ユーザーのみがアクセスできるものですが、このツールにより一般ユーザーでもアクセスできるようになります。

--enable-pam-module: このスイッチは ConsoleKit PAM モジュールをビルドすることを指定します。 PAM とともに ConsoleKit を動作させるためにはこの指定が必要です。 逆に Linux-PAM をインストールして いない 場合はこのスイッチを取り除いてください。

--enable-polkit: Enable PolicyKit support.

--with-xinitrc-dir=/etc/X11/app-defaults/xinitrc.d: Fix the location of the 90-consolekit.sh script. Notice that the script has been renamed after installation, because xinitrc only sources script names ending with extension .sh.

--with-systemdsystemunitdir=no: Disable attempting to build with systemd libraries.

--enable-docbook-docs: Use this switch if xmlto is installed and you wish to build the user and API documentation.

ConsoleKit の設定

PAM モジュールの設定

PAM を導入している場合は、PAM において、ユーザーログイン時に ConsoleKit を有効とする設定を行う必要があります。 これを実現するには root ユーザーになり、以下のように /etc/pam.d/system-session ファイルを編集します。

cat >> /etc/pam.d/system-session << "EOF"
# Begin ConsoleKit addition

session   optional    pam_loginuid.so
session   optional    pam_ck_connector.so nox11

# End ConsoleKit addition
EOF

You will also need a helper script that creates a file in /var/run/console named as the currently logged in user and that contains the D-Bus address of the session. root ユーザーになって以下のコマンドを実行し、そのスクリプトファイルを生成します。

cat > /usr/lib/ConsoleKit/run-session.d/pam-foreground-compat.ck << "EOF"
#!/bin/sh
TAGDIR=/var/run/console

[ -n "$CK_SESSION_USER_UID" ] || exit 1
[ "$CK_SESSION_IS_LOCAL" = "true" ] || exit 0

TAGFILE="$TAGDIR/`getent passwd $CK_SESSION_USER_UID | cut -f 1 -d:`"

if [ "$1" = "session_added" ]; then
    mkdir -p "$TAGDIR"
    echo "$CK_SESSION_ID" >> "$TAGFILE"
fi

if [ "$1" = "session_removed" ] && [ -e "$TAGFILE" ]; then
    sed -i "\%^$CK_SESSION_ID\$%d" "$TAGFILE"
    [ -s "$TAGFILE" ] || rm -f "$TAGFILE"
fi
EOF
chmod -v 755 /usr/lib/ConsoleKit/run-session.d/pam-foreground-compat.ck

より詳細な設定に関しては /usr/share/doc/ConsoleKit/spec/ConsoleKit.html を参照のこと。

パッケージ構成

インストールプログラム: ck-history, ck-launch-session, ck-list-sessions, ck-log-system-restart, ck-log-system-start, ck-log-system-stop, console-kit-daemon
インストールライブラリ: libck-connector.so, pam_ck_connector.so
インストールディレクトリ: /etc/ConsoleKit, /usr/{include,lib}/ConsoleKit, /usr/share/doc/ConsoleKit-1.0.2, /var/{log,run}/ConsoleKit

Short Descriptions

ck-history

is a utility that provides information from the ConsoleKit database about what users have logged into the system.

ck-launch-session

is a utility for starting a command in its own ConsoleKit session.

ck-list-sessions

list sessions with respective properties. Also good for debugging purposes.

ck-log-system-restart

write system restart to log.

ck-log-system-start

write system start to log.

ck-log-system-stop

write system stop to log.

console-kit-daemon

is the ConsoleKit daemon.

最終更新日: 2017-08-22 08:43:13 +0900