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
dbus-1.14.10 (à l'exécution), Linux-PAM-1.6.0 (requis pour Xorg), Polkit-124 (à l'exécution), docbook-xml-4.5
et docbook-xsl-nons-1.79.2 et libxslt-1.1.39 (tous trois pour construire les
pages de manuel)
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
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
|