Se requiere autenticación para administrar servicios o unidades del sistema.

19

Tengo un problema extraño cada vez que intento detener / iniciar un demonio como usuario normal, me pide autenticarme con las credenciales de otro usuario normal, por ejemplo:

[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: 

¿Por qué está pidiendo que Alice se autentique cuando Bob inicia sesión y cómo lo soluciono?

Jack O'Leary
fuente
¿Cómo se ve el archivo de configuración del servicio?
Jenny D dice Reinstate Monica
@ JennyD: ¿Dónde está la ubicación del archivo de la configuración?
Jack O'Leary
¿Lo que quieras? ¿Desea iniciar un servicio de copia propio para cada usuario? ¿Por ejemplo, iniciar el propio VNC-daemon para alice y el propio VNC-daemon para bob ?
Alexander Tolkachev
@AlexanderT: cada usuario necesita tener su propio vncserver, así es como está diseñado, así que sí, eso es más o menos. Sin embargo, Bob no está ejecutando un servidor vnc, está ejecutando algo no relacionado, pero cuando intenta iniciarlo systemctl le pide la contraseña de Alice ... (encogiéndose de hombros).
Jack O'Leary
@ JackO'Leary, puedes intentar usarlo systemd --usercomo se describe en este artículo . De lo contrario, podría dar sudo para cada usuario para los servicios requeridos.
Alexander Tolkachev

Respuestas:

8

Su sistema está utilizando el polkitAdministrador de autorización y el mensaje proviene del archivo /usr/share/polkit-1/actions/org.freedesktop.systemd1.policy. polkitse puede configurar en /etc/polkit-1y /usr/share/polkit-1directorios, más específicamente en los subdirectorios rules.dy actions. Consulte la página de manual de Polkit para obtener más información.

Johan Myréen
fuente
De la documentación: "polkit permite a los usuarios obtener una autorización temporal mediante la autenticación de un usuario administrativo o el propietario de la sesión a la que pertenece el cliente". Tal vez esto pueda dar una pista de por qué está pidiendo la contraseña de Alice.
Johan Myréen
Creo que estás en algo aquí, aunque todavía estoy completamente perdido sobre dónde eliminar la regla o lo que sea del otro usuario que sigue solicitando autenticación. Miré en ambos directorios e incluso hice un grep para "alicia" y no me devolvieron nada.
Jack O'Leary
Dijiste anteriormente que hiciste un su - aliceantes de iniciar el demonio vnc. Supongo que eso convierte a Alice en el "propietario de la sesión a la que pertenece el cliente".
Johan Myréen
Sin embargo, lo que no tiene sentido es que solo se realizó para un servicio, que luego se detuvo y el usuario cerró la sesión. El otro servicio para Bob no debería tener nada que ver con Alice, ya que era algo completamente diferente. Es muy extraño ... No me importaría deshabilitar Polkit por completo si así es como es su comportamiento normal.
Jack O'Leary
Puede averiguar quién es el propietario de la sesión con el loginctlcomando. Esto podría confirmar o refutar mi teoría de que polkit le pide al propietario de la sesión que se autentique. Realmente no puedo decir por qué Alice es la dueña en este caso.
Johan Myréen
5

Al administrar los servicios del sistema, debe hacerlo como root y no como usuario normal. Esto se indica mediante el $carácter al final del indicador de comandos de shell.

Puede usar sudo commando cambiar a root (el shell de raíz generalmente se indica mediante #char).

Khaled
fuente
Incluso si lo estoy haciendo como root, pide la autenticación de los usuarios normales. Básicamente, el usuario root lo hizo su - alice, luego systemctlpara iniciar su demonio vnc, pero ahora solicita su autenticación para todo, systemctlsin importar lo que sea ...
Jack O'Leary
Recibí el mensaje de error cuando escribí '/etc/init.d/munge start'. Agregar sudo lo arregló. ¡Gracias!
fchen
0

Verifique la regla / etc / groups y sudoers. Esto puede suceder si una persona se agrega al grupo de la rueda y se convierte en root de esa manera.

natermer
fuente