Introduksjon til elogind
elogind er systemd prosjektets "logind", trukket ut til
være en frittstående nisse. Den integreres med Linux-PAM-1.6.0 å spore alle brukerne som er
logget på et system, og om de logges på grafisk, på konsollen eller
eksternt. Elogind avslører denne
informasjonen via standard org.freedesktop.login1 D-Bus grensesnitt, og også gjennom filsystemet
ved å bruke systemd sin standard /run/systemd
mal.
Denne pakken er kjent for å bygge og fungere riktig ved å bruke en
LFS 12.1 plattform.
Pakkeinformasjon
elogind Avhengigheter
Anbefalt
dbus-1.14.10 (kjøretid), Linux-PAM-1.6.0 (påkrevd for Xorg), Polkit-124 (kjøretid), docbook-xml-4.5,
docbook-xsl-nons-1.79.2, og libxslt-1.1.39 (alle tre for å bygge
manualsidene)
Valgfri
lxml-4.9.4, zsh-5.9, Valgrind-3.22.0
(nødvendig for tester), audit-userspace,
bash-completion,
kexec,
og SELinux
Redaktørens notater: https://wiki.linuxfromscratch.org/blfs/wiki/Logind
Kjernekonfigurasjon
Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler
kjerne 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]
I tillegg trenger noen tester brukerområdets kryptografiske kjerne
API, som er aktivert med:
-*- Cryptographic API ---> [CRYPTO]
Crypto core or helper --->
<*/M> Userspace cryptographic algorithm configuration [CRYPTO_USER]
Userspace interface --->
<*/M> Hash algorithms [CRYPTO_USER_API_HASH]
Installasjon av elogind
Installer elogind ved å kjøre
følgende kommandoer:
mkdir build &&
cd build &&
meson setup .. \
--prefix=/usr \
--buildtype=release \
-Dman=auto \
-Ddocdir=/usr/share/doc/elogind-252.9 \
-Dcgroup-controller=elogind \
-Ddev-kvm-mode=0660 \
-Ddbuspolicydir=/etc/dbus-1/system.d &&
ninja
For å teste resultatene, utsted: ninja test. Noen få tester blir
hoppet over hvis ikke kjøres med root
privilegier. To tester navngitt
test-fs-util
og test-id128
krever /etc/machine-id
symbolkobling, så de vil
mislykkes hvis denne symbolkoblingen ikke opprettes etter
instruksjonen i dbus-1.14.10 ennå.
Nå, som root
bruker:
ninja install &&
ln -sfv libelogind.pc /usr/lib/pkgconfig/libsystemd.pc &&
ln -sfvn elogind /usr/include/systemd
Parameterforklaringer
-Ddocdir=/usr/share/doc/elogind-252.9
:
Dette er nødvendig for å installere dokumentasjon i en versjonert
mappe.
-Dcgroup-controller=elogind
: Denne
bryteren er nødvendig for å bygge denne pakken når kjernen ikke er
bygget med CONFIG_CGROUPS
aktivert.
Noter at elogind strengt tatt
trenger en kjerne med CONFIG_CGROUPS
aktivert under kjøring, men denne bryteren vil tillate å bygge
pakken først.
-Ddbuspolicydir=/etc/dbus-1/system.d
:
Denne bryteren angir plasseringen av D-Bus retningslinje mappen.
-Ddev-kvm-mode=0660
: LFS
udev-regelen setter modus for /dev/kvm
til 0660. Dette alternativet sikrer
elogind udev reglene er i samsvar med LFS konfigurasjonen.
-Dman=auto
: Standardverdien
for denne bryteren er false.
Sette den til auto tillater
å bygge og installere manualsidene hvis de anbefalte avhengigheter
er installert.
-Dhtml=auto
: Standardverdien for denne
bryteren er false. Sette den
til auto tillater å bygge og
installere html dokumentasjonen hvis de anbefalte avhengigheter er
installert.
-Ddefault-kill-user-processes=false
:
Avgjør om prosessene til en bruker skal drepes når brukeren logger
ut. Standard er true, men
dette beseirer den tradisjonelle bruken av screen eller tmux. Dette kan også endres i
konfigurasjonsfilen (se nedenfor).
ln -s ...: Disse
kommandoene installerer symbolkoblinger 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 standardinnstillingene, kommentert ut. Det kan
være lurt å deaktivere automatisk drepende 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 med Linux-PAM ved pålogging. /etc/pam.d/system-session
filen må endres og en
ny fil må opprettes for elogind å 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
Note
Etter ferdigstillelse av elogind, du bør sjekke at den fungerer som
den skal. Sørg først for at dbus kjører. Det kan være lettest å gjøre
dette ved å starte systemet på nytt. Etter å ha logget på
igjen, kjør kommandoen loginctl. Resultatet bør
indikere at en ØKT og et SETE har blitt opprettet.
Innhold
Installerte Programmer:
busctl, elogind-inhibit, og
loginctl
Installert Bibliotek:
libelogind.so
Installerte Mapper:
/usr/lib/elogind, /etc/elogind,
/usr/include/elogind, og /usr/share/doc/elogind-252.9
Korte Beskrivelser
busctl
|
brukes til å introspisere og overvåke D-Bus bussen
|
elogind-inhibit
|
brukes til å kjøre et program med avstenging, hvilemodus
eller inaktiv inhibitor lock tatt
|
loginctl
|
brukes til å introspisere og kontrollere tilstanden til
elogind påloggingsbehandler
|
libelogind.so
|
er det viktigste elogind verktøybiblioteket
|