elogind-243.7

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.4.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 fichier dans la hiérarchie standard de systemd dans /run/systemd.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-1.0.

Informations sur le paquet

  • Tlchargement (HTTP) : https://github.com/elogind/elogind/archive/v243.7/elogind-243.7.tar.gz

  • Tlchargement (FTP) :

  • Somme de contrle MD5 du tlchargement : e635fb5ae931685fc8dc61c27d4fb619

  • Taille du tlchargement : 1.3 Mo

  • Estimation de l'espace disque requis : 58 Mo (plus 1.5 Mo pour les tests)

  • Estimation du temps de construction : 0.4 SBU (à -j1)

Dpendances de elogind

Requises

dbus-1.12.20

Recommandes

Facultatives

Pour les tests : lxml-4.5.2, gobject-introspection-1.64.1, zsh-5.8, Valgrind-3.16.1, audit-userspace, bash-completion, kexec et SELinux

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/elogind

Configuration du noyau

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

General setup --->
    [*]     Control Group support                        [CONFIG_CGROUPS]
File systems --->
    [*]     Inotify support for userspace                [CONFIG_INOTIFY_USER]
            Pseudo filesystems --->
                [*]    Tmpfs POSIX Access Control Lists  [CONFIG_TMPFS_POSIX_ACL]

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

-*- Cryptographic API --->                               [CONFIG_CRYPTO]
   <M/*> Userspace cryptographic algorithm configuration [CONFIG_CRYPTO_USER]
   <M/*> User-space interface for hash algorithms        [CONFIG_CRYPTO_USER_API_HASH]

Installation de elogind

Installez elogind en lanant les commandes suivantes :

mkdir build &&
cd    build &&

meson --prefix=/usr                        \
      --sysconfdir=/etc                    \
      --localstatedir=/var                 \
      -Dcgroup-controller=elogind          \
      -Ddbuspolicydir=/etc/dbus-1/system.d \
      -Dman=auto                           \
      ..  &&
ninja

Pour tester les résultats, lancez : ninja test. Quelques tests sont passés si vous n'utilisez pas les privilèges root.

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

-Dcgroup-controller=elogind : ce paramètre s'assure qu'elogind est choisi comme contrôleur cgroup, même s'il est démarré avec un autre contrôleur cgroup.

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

-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.

-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 lançant, 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

Contents

Programmes installs: busctl, elogind-inhibit et loginctl
Bibliothque installe: libelogind.so
Rpertoires installs: /lib/elogind, /etc/elogind, /usr/include/elogind et /usr/share/doc/elogind-243.7

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.

Last updated on 2020-08-17 06:23:35 +0000