elogind-255.5

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]

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

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]

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