L'authentification est requise pour gérer les services ou unités système.

19

J'ai un problème étrange chaque fois que j'essaie d'arrêter / de démarrer un démon en tant qu'utilisateur normal, il demande de s'authentifier avec les informations d'identification d'un autre utilisateur régulier - par exemple:

[bob@server ~]$ systemctl stop some-daemon.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: alice
Password: 

Pourquoi demande-t-il à Alice de s'authentifier lorsque Bob est connecté et comment puis-je résoudre ce problème?

Jack O'Leary
la source
À quoi ressemble le fichier de configuration du service?
Jenny D dit Réintégrer Monica
@JennyD: Où est l'emplacement du fichier de la configuration?
Jack O'Leary
Ce que tu veux? Vous voulez démarrer votre propre service de copie pour chaque utilisateur? Par exemple, démarrer son propre démon VNC pour Alice et son propre démon VNC pour Bob ?
Alexander Tolkachev
@AlexanderT: Chaque utilisateur doit avoir son propre vncserver, c'est ainsi qu'il est conçu, alors oui - c'est plus ou moins ça. Bob ne fait pas tourner un serveur vnc cependant, il exécute quelque chose de non lié, mais quand il essaie de le démarrer, systemctl demande le mot de passe d'Alice ... (haussement d'épaules).
Jack O'Leary
@ JackO'Leary, vous pouvez essayer d'utiliser systemd --usercomme décrit dans cet article . Sinon, vous pouvez donner sudo à chaque utilisateur pour les services requis.
Alexander Tolkachev

Réponses:

8

Votre système utilise le polkitGestionnaire d'autorisations et le message provient du fichier /usr/share/polkit-1/actions/org.freedesktop.systemd1.policy. polkitpeut être configuré dans les répertoires /etc/polkit-1et /usr/share/polkit-1, plus spécifiquement dans les sous rules.d- actionsrépertoires et . Consultez la page de manuel Polkit pour plus d'informations.

Johan Myréen
la source
D'après la documentation: "polkit permet aux utilisateurs d'obtenir une autorisation temporaire en authentifiant soit un administrateur, soit le propriétaire de la session à laquelle appartient le client." Peut-être que cela peut donner une idée de pourquoi il demande le mot de passe d'Alice.
Johan Myréen
Je pense que vous êtes sur quelque chose ici, bien que je sois encore complètement perdu sur où supprimer la règle ou quoi que ce soit de l'autre utilisateur qui continue de demander à s'authentifier. J'ai regardé dans ces deux répertoires et j'ai même fait un grep pour "alice" et rien n'a été retourné.
Jack O'Leary
Vous avez dit plus tôt que vous aviez fait un su - aliceavant de démarrer le démon vnc. Je suppose que cela fait d'Alice le "propriétaire de la session à laquelle le client appartient".
Johan Myréen
Ce qui n'a pas de sens cependant, c'est que cela n'a été fait que pour un service, qui a ensuite été arrêté et l'utilisateur s'est déconnecté. L'autre service pour bob ne devrait rien avoir à voir avec Alice car c'était quelque chose de complètement différent - C'est très étrange ... Je ne verrais pas d'inconvénient à désactiver complètement Polkit si c'est ce à quoi ressemble son comportement normal.
Jack O'Leary
Vous pouvez découvrir qui est le propriétaire de la session avec la loginctlcommande. Cela pourrait confirmer ou infirmer ma théorie selon laquelle polkit demande au propriétaire de la session de s'authentifier. Je ne peux vraiment pas dire pourquoi Alice est le propriétaire dans ce cas.
Johan Myréen
5

Lors de la gestion des services système, vous devez le faire en tant qu'utilisateur root et non en tant qu'utilisateur normal. Ceci est indiqué par un $caractère à la fin de l'invite du shell.

Vous pouvez utiliser sudo commandou basculer vers root (shell root généralement indiqué par #char).

Khaled
la source
Même si je le fais en tant que root, il demande l'authentification normale des utilisateurs. Fondamentalement, l'utilisateur root l'a fait su - alice, puis systemctlpour démarrer leur démon vnc, mais maintenant il demande leur authentification pour tout, systemctlpeu importe ce que c'est ...
Jack O'Leary
J'ai reçu le message d'erreur lorsque j'ai tapé '/etc/init.d/munge start'. L'ajout de sudo l'a corrigé. Merci!
fchen
0

Vérifiez la règle / etc / groups et sudoers. Cela peut se produire si une personne s'est ajoutée au groupe de roues et s'est enracinée de cette façon.

natermer
la source