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.
Denne pakken er kjent for å bygge og fungere riktig ved å bruke en
LFS 12.2 plattform.
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
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-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
|