elogind-257.16

Introduksjon til elogind

elogind er systemd prosjektets "logind", trukket ut til være en frittstående nisse. Den integreres med Linux-PAM-1.7.2 å 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

Denne versjonen av BLFS bygger eller kjører kanskje ikke noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den nyeste stabile versjonen av System V bøkene.

Pakkeinformasjon

elogind Avhengigheter

Anbefalt

Valgfri

lxml-6.1.1, zsh-5.9.2, Valgrind-3.27.1 (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-257.16 \
      -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-257.16: 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

Denne pakken inneholder en Name Service Switch (NSS) modul. Tidligere hadde ikke et Systemd-løst system en dedikert NSS modul som ble brukt for bedre navneløsning, mens Systemd systemer har en som er tett integrert med den programvarepakken. Nå leveres en slik modul. For å bruke den, må /etc/nsswitch.conf filen som ble installert i LFS må endres. Overskriv filen som root bruker:

cat > /etc/nsswitch.conf << "EOF" &&
# Begin /etc/nsswitch.conf

passwd: files elogind
group: files elogind
shadow: files elogind

hosts: files dns
networks: files

protocols: files
services: files
ethers: files
rpc: files

# End /etc/nsswitch.conf
EOF
[Notat]

Notat

myhostname, mymachines, og resolve NSS moduler er fortsatt ikke tilgjengelige (de kommer fra Systemd). Den installerte filen kan ikke bruke dem ennå.

[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, loginctl, userdbctl, og varlinkctl
Installert Bibliotek: libelogind.so og libnss_elogind.so
Installerte Mapper: /usr/lib/elogind, /etc/elogind, /usr/include/elogind, og /usr/share/doc/elogind-257.16

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

userdbctl

brukes til å inspisere brukere, grupper og gruppemedlemskap

varlinkctl

brukes til å samhandle med og aktivere Varlink tjenester

libelogind.so

er det viktigste elogind verktøybiblioteket

libnss_elogind.so

er NSS modulen (Name Service Switch) for elogind