elogind-257.14
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.7.2 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.
Note
Les versions de développement de BLFS peuvent ne pas arriver à
contruire ou à exécuter certains paquets correctement si LFS ou
des dépendances ont été mises à jour depuis la dernière version
stable des livres.
Informations sur le paquet
-
Téléchargement (HTTP) :
https://github.com/elogind/elogind/archive/v257.14/elogind-257.14.tar.gz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 du téléchargement :
6d084ff01c3eaf5e1a2f54c93fb279a2
-
Taille du téléchargement : 2,6 Mo
-
Estimation de l'espace disque requis : 67 Mo (avec
les tests)
-
Estimation du temps de construction : 0.3 SBU (with
parallelism=4; with tests)
Dépendances de elogind
Recommandées
dbus-1.16.2 (à l'exécution), Linux-PAM-1.7.2 (requis pour Xorg), Polkit-127 (à l'exécution), docbook-xml-4.5
et docbook-xsl-nons-1.79.2 et libxslt-1.1.45 (tous trois pour construire les
pages de manuel)
Facultatives
lxml-6.1.1, zsh-5.9, Valgrind-3.27.1
(requis pour les tests), audit-userspace,
bash-completion,
kexec
et ELinux
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-257.14 \
-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-257.14 : 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
The installed file /etc/elogind/logind.conf contains all the
possible options with their defaults, commented out. You may wish
to disable automatically killing user processes when the user
logs out, by running, as the root
user:
sed -e '/\[Login\]/a KillUserProcesses=no' \
-i /etc/elogind/logind.conf
Each user will need to register a user session using Linux-PAM at login. The /etc/pam.d/system-session file needs to be
modified and a new file must be created in order for elogind to work correctly. Run
the following commands as the root user:
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
This package provides a Name Service Switch (NSS) module.
Previously, a Systemd-less system didn't have a dedicated NSS
module used for better name resolution, while Systemd systems
have one that is tightly ingrained with that software suite. Now,
such a module is provided. In order to use it, the /etc/nsswitch.conf file that was installed in
LFS must be altered. Overwrite the file as the root user:
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
Note
The myhostname, mymachines, and resolve NSS modules are still not provided
(they come from Systemd). The installed file cannot use them
yet.
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, loginctl,
userdbctl, and varlinkctl
Bibliothèque installée:
libelogind.so and
libnss_elogind.so
Répertoires installs:
/usr/lib/elogind, /etc/elogind,
/usr/include/elogind et /usr/share/doc/elogind-257.14
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
|
|
userdbctl
|
is used to inspect users, groups, and group memberships
|
|
varlinkctl
|
is used to interact with and invoke Varlink services
|
|
libelogind.so
|
est la bibliothèque d'utilitaires principale d'elogind
|
|
libnss_elogind.so
|
is the Name Service Switch (NSS) module for elogind
|