elogind-257.14

Introduksjon til elogind

Elogind pakken er en utvunnet «logind» fra Systemd, inkludert daemonen og noen andre Systemd prosjekter som UserDB. Den integreres med Linux-PAM-1.7.2 for å spore alle brukere som er logget inn på et system, og om de er logget inn grafisk, på konsollen eller eksternt. Den eksponerer denne informasjonen via standard org.freedesktop.login1 D-Bus grensesnitt, og også gjennom filsystemet ved hjelp av Systemds standard /run/systemd oppsett.

Viktig

Installasjonsinstruksjonene for lib32 krever de nye Meson kryssfiler fra MLFS, noen --libdir=/usr/lib32 har blitt flyttet til kryssfilene og vises ikke lenger i instruksjonene. Installer de nye kryssfilene slik at 32-bits biblioteker ikke blir installert i /usr/lib.

elogind Avhengigheter

Recommended
D-Bus-1.16.2 - Pass 1 (kjøretid), Linux-PAM-1.7.2, og Polkit-127 (kjøretid)

Kjernekonfigurasjon

Aktiver følgende alternativer i kjernekonfigurasjonen og kompiler kjernen 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]

Installasjon av elogind

Installer elogind ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup --prefix=/usr                          \
            --buildtype=release                    \
            -D docdir=/usr/share/doc/elogind-257.14 \
            -D cgroup-controller=elogind           \
            -D dev-kvm-mode=0660                   \
            -D dbuspolicydir=/etc/dbus-1/system.d  \
            .. &&
ninja

Nå, som root bruker:

ninja install                                           &&
ln -sfv  libelogind.pc /usr/lib/pkgconfig/libsystemd.pc &&
ln -sfvn elogind /usr/include/systemd

lib32 Installasjon av elogind

Installer lib32-elogind ved å kjøre følgende kommandoer:

rm -rf * &&
meson setup --prefix=/usr                         \
            --buildtype=release                   \
            --cross-file=lib32                    \
            -D cgroup-controller=elogind          \
            -D dev-kvm-mode=0660                  \
            -D dbuspolicydir=/etc/dbus-1/system.d \
            .. &&
ninja

Nå, som root bruker:

DESTDIR=$PWD/DESTDIR ninja install                       &&
cp -vR DESTDIR/usr/lib32/* /usr/lib32                    &&
rm -rf DESTDIR                                           &&
ln -sfv libelogind.pc /usr/lib32/pkgconfig/libsystemd.pc &&
ldconfig

Parameterforklaringer

Notat

Undersøk meson_options.txt eller meson.options for en fullstendig liste over alternativer.

-D docdir=/usr/share/doc/elogind-257.14: Dette er nødvendig for å installere dokumentasjon i en versjonsmappe.

-D cgroup-controller=elogind: Denne bryteren er nødvendig for å bygge denne pakken når kjernen ikke er bygget med CONFIG_CGROUPS aktivert. Merk at elogind strengt tatt trenger en kjerne med CONFIG_CGROUPS aktivert under kjøring, men denne bryteren vil tillate bygging av pakken først.

-D dbuspolicydir=/etc/dbus-1/system.d: Denne bryteren angir plasseringen til D-Bus-policy mappen.

-D dev-kvm-mode=0660: LFS udev regelen angir modusen til /dev/kvm til 0660. Dette alternativet sikrer at elogind udev reglene er konsistente med LFS konfigurasjonen.

-D default-kill-user-processes=false: Bestemmer om prosessene til en bruker skal avsluttes når brukeren logger ut. Standardverdien er true, men dette motvirker den tradisjonelle bruken av screen eller tmux. Dette kan også endres i konfigurasjonsfilen (se nedenfor).

ln -s ...: Disse kommandoene installerer symbollenker 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 standardverdiene, kommentert ut. Du kan ønske å deaktivere automatisk avslutning av 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 ved hjelp av Linux-PAM ved innlogging. /etc/pam.d/system-session filen må endres, og en ny fil må opprettes for at elogind for at den skal 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 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

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

Notat

Fortsett nå til du kommer til D-Bus-1.16.2, installer den, og følg konfigurasjonsinstruksjonene på den siden for å se om elogind fungerer som den skal.

Innhold

Installerte Programmer: busctl, elogind-inhibit, loginctl, userdbctl, og varlinkctl
Installert Bibliotek: libelogind og libnss_elogind
Installerte Mapper: /usr/lib/elogind, /etc/elogind, /usr/include/elogind, og /usr/share/doc/elogind-257.14

Korte Beskrivelser

busctl

brukes til å introspektere og overvåke D-Bus bussen

elogind-inhibit

brukes til å kjøre et program med en avstengnings, hvile eller inaktiv funksjon inhibitorlås aktivert

loginctl

brukes til å introspektere og kontrollere tilstanden til elogind påloggingsadministratoren.

userdbctl

brukes til å inspisere brukere, grupper og gruppemedlemskap

varlinkctl

brukes til å samhandle med og aktivere Varlink tjenester

libelogind

er det viktigste elogind verktøybiblioteket

libnss_elogind

er NSS modulen (Name Service Switch) for elogind