elogind-255.5
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.1 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
.
Ce paquet est connu pour pouvoir être construit et fonctionner
correctement avec une plateform 12.2.
Informations sur le paquet
-
Téléchargement (HTTP) :
https://github.com/elogind/elogind/archive/v255.5/elogind-255.5.tar.gz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement :
8653d1959c25b649c398a932ce56b396
-
Taille du téléchargement : 2,0 Mo
-
Estimation de l'espace disque requis : 48 Mo (avec
les tests)
-
Estimation du temps de construction : 0,4 SBU (avec
parallélisme = 4 et avec les tests)
Dépendances de elogind
Recommandées
dbus-1.14.10 (à l'exécution), Linux-PAM-1.6.1 (requis pour Xorg), Polkit-125 (à l'exécution), docbook-xml-4.5
et docbook-xsl-nons-1.79.2 et libxslt-1.1.42 (tous trois pour construire les
pages de manuel)
Facultatives
lxml-5.3.0, zsh-5.9, Valgrind-3.23.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 \
-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
Pour tester les résultats, lancez : ninja test. Quelques tests sont
passés si vous n'utilisez pas les privilèges root
. Trois tests, test-login
, dbus-docs-fresh
et check-version-history
, sont connus pour échouer.
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
-D
docdir=/usr/share/doc/elogind-255.5
: cela est
requis pour installer la documentation dans un répertoire
versionné.
-D
cgroup-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.
-D
dbuspolicydir=/etc/dbus-1/system.d
: ce paramètre
choisi l'emplacement du répertoire de politique D-Bus.
-D dev-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.
-D man=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.
-D html=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.
-D
default-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
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 installés:
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-255.5
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
|