ConsoleKit2-1.0.0
Introduction to ConsoleKit
The ConsoleKit package is a
framework for keeping track of the various users, sessions, and
seats present on a system. It provides a mechanism for software to
react to changes of any of these items or of any of the metadata
associated with them.
This package is known to build and work properly using an LFS-7.8
platform.
Package Information
ConsoleKit Dependencies
Required
dbus-glib-0.104 and Xorg Libraries
Recommended
Linux-PAM-1.2.1 and Polkit-0.113
Warning
If you intend NOT to
install polkit, you will need to
manually edit the ConsoleKit.conf file to lock down the service.
Failure to do so may be a huge SECURITY HOLE.
Optional
xmlto-0.0.26
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/consolekit
Installation of ConsoleKit
Install ConsoleKit by running the
following commands:
./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.0 \
--with-systemdsystemunitdir=no &&
make
This package does not come with a test suite.
Now, as the root
user:
make install &&
mv -v /etc/X11/app-defaults/xinitrc.d/90-consolekit{,.sh}
Command Explanations
--enable-udev-acl
: This
switch enables building of the udev-acl tool, which is used to
allow normal users to access device nodes normally only accessible
to root
.
--enable-pam-module
: This
switch enables building of the ConsoleKit PAM module which is needed for ConsoleKit to work correctly with PAM. Remove if Linux
PAM is NOT
installed.
--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 API documentation.
Configuring ConsoleKit
PAM Module Configuration
If you use Linux PAM, it needs
to be configured to activate ConsoleKit upon user login. This can be
achieved by editing the /etc/pam.d/system-session
file as the
root
user:
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. You can create
the script by running the following commands as the root
user:
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
See /usr/share/doc/ConsoleKit/spec/ConsoleKit.html for more
configuration.
Contents
Installed Programs:
ck-history, ck-launch-session,
ck-list-sessions, ck-log-system-restart, ck-log-system-start,
ck-log-system-stop and console-kit-daemon
Installed Libraries:
libck-connector.so and
pam_ck_connector.so
Installed Directories:
/{etc,usr/{include,lib},var/{log,run}}/ConsoleKit and
/usr/share/doc/ConsoleKit-1.0.0
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.
|
Last updated on 2015-09-25 06:48:24 -0700