Introduksjon til elogind
elogind er systemd prosjektets "logind", trukket ut til
være en frittstående nisse. Den integreres med Linux-PAM-1.6.1 å 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.
Notat
Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen
pakker riktig hvis LFS eller avhengigheter har blitt oppdatert
siden den siste stabile versjonene av bøkene.
Pakkeinformasjon
elogind Avhengigheter
Anbefalt
dbus-1.14.10 (kjøretid), Linux-PAM-1.6.1 (påkrevd for Xorg), Polkit-125 (kjøretid), docbook-xml-4.5,
docbook-xsl-nons-1.79.2, og libxslt-1.1.42 (alle tre for å bygge
manualsidene)
Valgfri
lxml-5.3.0, zsh-5.9, Valgrind-3.23.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 \
-D man=auto \
-D docdir=/usr/share/doc/elogind-255.5 \
-D cgroup-controller=elogind \
-D dev-kvm-mode=0660 \
-D dbuspolicydir=/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. Tre tester, test-login
, dbus-docs-fresh
, og check-version-history
, er kjent for å mislykkes.
Nå, som root
bruker:
ninja install &&
ln -sfv libelogind.pc /usr/lib/pkgconfig/libsystemd.pc &&
ln -sfvn elogind /usr/include/systemd
Parameterforklaringer
-D
docdir=/usr/share/doc/elogind-255.5
: Dette er nødvendig
for å installere dokumentasjon i en versjonert mappe.
-D
cgroup-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.
-D
dbuspolicydir=/etc/dbus-1/system.d
: Denne bryteren
angir plasseringen av D-Bus
retningslinje mappen.
-D dev-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.
-D man=auto
:
Standardverdien for denne bryteren er false. Sette den til auto tillater å bygge og installere
manualsidene hvis de anbefalte avhengigheter er installert.
-D html=auto
: Standardverdien for denne
bryteren er false. Sette den
til auto tillater å bygge og
installere html dokumentasjonen hvis de anbefalte avhengigheter er
installert.
-D default-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
Notat
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-255.5
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
|