elogind-252.9

Introduction elogind

elogind est le « logind » du projet systemd extrait pour en faire un démon autonome. Il s'intègre avec Linux-PAM-1.6.0 pour connaître l'ensemble des utilisateurs qui sont connectés sur un système et s'ils sont connectés graphiquement, sur la console ou à distance. Elogind expose ces informations via l'interface D-Bus org.freedesktop.login1 standard, ainsi qu'à travers le système de fichiers dans la hiérarchie standard de systemd dans /run/systemd.

This package is known to build and work properly using an LFS 12.1 platform.

Informations sur le paquet

  • Téléchargement (HTTP) : https://github.com/elogind/elogind/archive/v252.9/elogind-252.9.tar.gz

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 du téléchargement : 2be2c43298e2fc41c5bee33dde605f01

  • Taille du téléchargement : 1,8 Mo

  • Estimation de l'espace disque requis : 45 Mo (avec les tests)

  • Estimation du temps de construction : 0,3 SBU (avec parallélisme = 4)

Dépendances de elogind

Recommandées

Facultatives

lxml-4.9.4, zsh-5.9, Valgrind-3.22.0 (requis pour les tests), audit-userspace, bash-completion, kexec et SELinux

Notes des auteurs : https://wiki.linuxfromscratch.org/blfs/wiki/Logind

Configuration du noyau

Activez les options suivantes dans la configuration du noyau et recompilez le noyau si nécessaire :

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]

En plus, certains tests ont besoin de l'API noyau de cryptographie en espace utilisateur qui s'active avec :

-*- Cryptographic API --->                                              [CRYPTO]
  Crypto core or helper --->
    <*/M> Userspace cryptographic algorithm configuration          [CRYPTO_USER]
  Userspace interface --->
    <*/M> Hash algorithms                                 [CRYPTO_USER_API_HASH]

Installation de elogind

Installez elogind en lanant les commandes suivantes :

mkdir build &&
cd    build &&

meson setup ..                              \
      --prefix=/usr                         \
      --buildtype=release                   \
      -Dman=auto                            \
      -Ddocdir=/usr/share/doc/elogind-252.9 \
      -Dcgroup-controller=elogind           \
      -Ddev-kvm-mode=0660                   \
      -Ddbuspolicydir=/etc/dbus-1/system.d &&
ninja

Pour tester les résultats, exécutez : ninja test. Quelques tests sont sautés si vous n'exécutez pas avec les privilèges root. Deux tests nommés test-fs-util et test-id128 ont besoin du lien symbolique /etc/machine-id, et ils échoueront si ce lien symbolique n'est pas encore créé suivant les instructions de dbus-1.14.10.

Maintenant, en tant qu'utilisateur root :

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

Explication des commandes

-Ddocdir=/usr/share/doc/elogind-252.9 : cela est requis pour installer la documentation dans un répertoire versionné.

-Dcgroup-controller=elogind : ce paramètre est nécessaire pour construire ce paquet lorsque le noyau n'est pas construit avec CONFIG_CGROUPS. Remarquez que elogind nécessite vraiment CONFIG_CGROUPS à l'exécution, mais ce paramètre permettra de commencer par construire le paquet.

-Ddbuspolicydir=/etc/dbus-1/system.d : ce paramètre choisi l'emplacement du répertoire de politique D-Bus.

-Ddev-kvm-mode=0660 : la règle udev de LFS configure le mode de /dev/kvm à 0660. Cette option s'assure que les règles udev d'elogind restent cohérentes avec la configuration LFS.

-Dman=auto : la valeur par défaut de ce paramètre est false. Le mettre à auto permet de construire et d'installer les pages de manuel si les dépendances recommandées sont installées.

-Dhtml=auto : la valeur par défaut de ce paramètre est false. Le mettre à auto permet de construire et d'installer la documentation HTML si les dépendances recommandées sont installées.

-Ddefault-kill-user-processes=false : indique si les processus d'un utilisateurs devraient être tués lorsqu'il se déconnecte. La valeur par défaut est true, mais cela contredit l'utilisation traditionnelle de screen ou tmux. Cela peut aussi se changer dans le fichier de configuration (voir plus bas).

ln -s … : ces commandes installent les liens symboliques pour que les paquets logiciels trouvent des bibliothèques et des en-têtes compatibles avec systemd.

Configuration de elogind

Fichier de configuration

/etc/elogind/logind.conf

Informations sur la configuration

Le fichier /etc/elogind/logind.conf installé contient toutes les options possibles avec leurs valeurs par défaut, commentées. Vous pourriez vouloir désactiver le fait de tuer les processus utilisateurs à la déconnexion, en exécutant, en tant qu'utilisateur root :

sed -e '/\[Login\]/a KillUserProcesses=no' \
    -i /etc/elogind/logind.conf

Chaque utilisateur devra enregistrer une session utilisateur avec Linux-PAM à la connexion. Le fichier /etc/pam.d/system-session doit être modifié et un nouveau fichier doit être créé pour qu'elogind fonctionne correctement. Lancez les commandes suivante en tant qu'utilisateur root :

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]

Note

Après la complétion de elogind, vous devriez vérifier qu'il fonctionne correctement. Assurez-vous d'abord que dbus est lancé. Il peut être plus facile de le faire en redémarrant le système. Après vous être de nouveau connecté, exécutez la commande loginctl. Le résultat devrait indiquer qu'une SESSION et un SEAT ont été créés.

Contenu

Programmes installs: busctl, elogind-inhibit et loginctl
Bibliothèque installée: libelogind.so
Répertoires installs: /usr/lib/elogind, /etc/elogind, /usr/include/elogind et /usr/share/doc/elogind-252.9

Descriptions courtes

busctl

est utilisé pour inspecter et surveiller le bus D-Bus

elogind-inhibit

est utilisé pour exécuter un programme avec un verrou contre l'extinction, la veille ou l'hibernation

loginctl

est utilisé pour inspecter et contrôler l'état du gestionnaire de connexion elogind

libelogind.so

est la bibliothèque d'utilitaires principale d'elogind