Introduksjon til elogind
elogind er systemd prosjektets «innlogging», utviklet for å være en
frittstående daemon. Den integreres med Linux-PAM-1.7.1 å
spore alle brukerne som er logget inn på et system, og om de er
logget inn grafisk, på konsollen eller eksternt. Elogin eksponerer
denne informasjonen via standard org.freedesktop.login1 D-Bus
grensesnittet, og også gjennom filsystemet ved hjelp av systemds
standard /run/systemd
oppsett.
elogind Avhengigheter
Anbefalt
D-Bus-1.16.2 - Pass 1 (kjøretid),
Linux-PAM-1.7.1,
og Polkit-126 (kjøretid)
Kjernekonfigurasjon
Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler
kjernen på nytt om nødvendig:
File systems --->
[*] Inotify support for userspace [INOTIFY_USER]
Pseudo filesystems --->
[*] Tmpfs virtual memory file system support (former shm fs) [TMPFS]
[*] Tmpfs POSIX Access Control Lists [TMPFS_POSIX_ACL]
Installasjon av elogind
Installer elogind ved å kjøre følgende kommandoer:
mkdir build &&
cd build &&
meson setup .. \
--prefix=/usr \
--buildtype=release \
-D docdir=/usr/share/doc/elogind-255.17 \
-D cgroup-controller=elogind \
-D dev-kvm-mode=0660 \
-D dbuspolicydir=/etc/dbus-1/system.d &&
ninja
Nå, som root
bruker:
ninja install &&
ln -sfv libelogind.pc /usr/lib/pkgconfig/libsystemd.pc &&
ln -sfvn elogind /usr/include/systemd
lib32 Installasjon av elogind
Installer lib32-elogind ved å kjøre følgende kommandoer:
rm -rf * &&
CC="gcc -m32" CXX="g++ -m32" \
PKG_CONFIG_PATH="/usr/lib32/pkgconfig" \
meson setup .. \
--prefix=/usr \
--libdir=/usr/lib32 \
--buildtype=release \
-D cgroup-controller=elogind \
-D dev-kvm-mode=0660 \
-D dbuspolicydir=/etc/dbus-1/system.d &&
ninja
Nå, som root
bruker:
DESTDIR=$PWD/DESTDIR ninja install &&
cp -vR DESTDIR/usr/lib32/* /usr/lib32 &&
rm -rf DESTDIR &&
ln -sfv libelogind.pc /usr/lib32/pkgconfig/libsystemd.pc &&
ldconfig
Parameterforklaringer
Notat
Undersøk meson_options.txt
eller
meson.options
for en fullstendig
liste over alternativer.
-D
docdir=/usr/share/doc/elogind-255.17
: Dette er
nødvendig for å installere dokumentasjon i en versjonsmappe.
-D
cgroup-controller=elogind
: Denne bryteren er nødvendig
for å bygge denne pakken når kjernen ikke er bygget med
CONFIG_CGROUPS
aktivert. Merk at
elogind strengt tatt trenger en kjerne med CONFIG_CGROUPS
aktivert under kjøring, men denne
bryteren vil tillate bygging av pakken først.
-D
dbuspolicydir=/etc/dbus-1/system.d
: Denne bryteren
angir plasseringen til D-Bus-policy mappen.
-D dev-kvm-mode=0660
: LFS
udev regelen angir modusen til /dev/kvm
til 0660. Dette alternativet sikrer at
elogind udev reglene er konsistente med LFS konfigurasjonen.
-D default-kill-user-processes=false
:
Bestemmer om prosessene til en bruker skal avsluttes når brukeren
logger ut. Standardverdien er true, men dette motvirker den
tradisjonelle bruken av screen eller tmux. Dette kan også endres i
konfigurasjonsfilen (se nedenfor).
ln -s ...: Disse
kommandoene installerer symbollenker slik at programvarepakker kan
finne det systemd kompatible biblioteket og deklarasjonene.
Konfigurere elogind
Konfigurasjonsfil
/etc/elogind/logind.conf
Konfigurasjonsinformasjon
Den installerte filen /etc/elogind/logind.conf
inneholder alle mulige
alternativer med standardverdiene, kommentert ut. Du kan ønske å
deaktivere automatisk avslutning av brukerprosesser når brukeren
logger ut, ved å kjøre, som root
bruker:
sed -e '/\[Login\]/a KillUserProcesses=no' \
-i /etc/elogind/logind.conf
Hver bruker må registrere en brukerøkt ved hjelp av Linux-PAM ved
innlogging. /etc/pam.d/system-session
filen må endres, og
en ny fil må opprettes for at elogind for at den skal fungere
riktig. Kjør følgende kommandoer som root
bruker:
cat >> /etc/pam.d/system-session << "EOF" &&
# Begin elogind addition
session required pam_loginuid.so
session optional pam_elogind.so
# End elogind addition
EOF
cat > /etc/pam.d/elogind-user << "EOF"
# Begin /etc/pam.d/elogind-user
account required pam_access.so
account include system-account
session required pam_env.so
session required pam_limits.so
session required pam_unix.so
session required pam_loginuid.so
session optional pam_keyinit.so force revoke
session optional pam_elogind.so
auth required pam_deny.so
password required pam_deny.so
# End /etc/pam.d/elogind-user
EOF
Notat
Fortsett nå til du kommer til D-Bus-1.16.2, installer den, og følg
konfigurasjonsinstruksjonene på den siden for å se om elogind
fungerer som den skal.
Innhold
Installerte Programmer:
busctl, elogind-inhibit, og
loginctl
Installert Bibliotek:
libelogind
Installerte Mapper:
/usr/lib/elogind, /etc/elogind,
/usr/include/elogind, og /usr/share/doc/elogind-255.17
Korte Beskrivelser
busctl
|
brukes til å introspektere og overvåke D-Bus bussen
|
elogind-inhibit
|
brukes til å kjøre et program med en avstengnings, hvile
eller inaktiv funksjon inhibitorlås aktivert
|
loginctl
|
brukes til å introspektere og kontrollere tilstanden til
elogind påloggingsadministratoren.
|
libelogind
|
er det viktigste elogind verktøybiblioteket
|