Le bureau Linux peut effectuer plusieurs actions qui autrement ne sont pas disponibles pour l'utilisateur lorsqu'il est connecté à partir d'un terminal. Des actions telles que l'arrêt du système et la modification de l'heure du système ne sont accessibles qu'à un utilisateur sudo après avoir entré le mot de passe. Comment cela marche-t-il. Existe-t-il un démon racine en cours d'exécution qui prend la commande de l'utilisateur connecté. Veuillez me guider vers la bonne réponse.
J'utilise Ubuntu 13.10.
mount
(ing) pourraient aider un peu à la compréhension.Réponses:
Actuellement sur Ubuntu, l'arrêt réel est effectué par
console-kit-daemon
le démon ConsoleKit , qui s'exécute avec les privilèges root. Le démon ConsoleKit reçoit la demande d'arrêt de l'application du panneau de bureau via D-Bus . La politique qui permet aux processus non privilégiés de parler à des processus privilégiés est gérée par polkit (anciennement PolicyKit). Vous pouvez émuler l'invocation de ConsoleKit viadbus-send
si vous le souhaitez. En particulier, pour dire à ConsoleKit d'effectuer un arrêt, vous pouvez faire:Sur Ubuntu, ConsoleKit a remplacé la couche d'abstraction matérielle (HAL), un sous-système visant à permettre aux applications de bureau de découvrir et d'utiliser le matériel du système hôte via une API portable et abstraite, quel que soit le type de matériel sous-jacent. HAL est aujourd'hui déconseillé dans la plupart des distributions Linux. L'
dbus-send
invocation équivalente à l' aide de HAL est:Actuellement, ConsoleKit n'est pas activement maintenu. L'objectif du projet freedesktop.org s'est déplacé vers la gestion intégrée des sièges / utilisateurs / sessions du système systemd init appelé systemd-logind . Comment cela affectera les distributions qui ont adopté leurs propres systèmes d'initialisation, comme arriviste dans Ubuntu, reste à voir.
la source