É necessária autenticação para gerenciar serviços ou unidades do sistema.

19

Eu tenho um problema estranho sempre que, ao tentar parar / iniciar um daemon como um usuário comum, ele solicita a autenticação com as credenciais de outro usuário comum - por exemplo:

[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 que está pedindo que alice se autentique quando bob está logado e como faço para corrigir isso?

Jack O'Leary
fonte
Como é o arquivo de configuração do serviço?
Jenny D diz Reinstate Monica
@ JennyD: Onde está o local do arquivo da configuração?
Jack O'Leary
O que você quer? Deseja iniciar o próprio serviço de cópia para cada usuário? Por exemplo, inicie o próprio VNC-daemon para alice e o próprio VNC-daemon para bob ?
Alexander Tolkachev 29/03
@AlexanderT: Cada usuário precisa ter seu próprio servidor vncs, é assim que ele é projetado, então sim - é mais ou menos isso. Bob não está executando um servidor vnc, porém, ele está executando algo não relacionado, mas quando ele tenta iniciá-lo, systemctl pede a senha de alice ... (encolher de ombros).
Jack O'Leary
@ JackO'Leary, você pode tentar usar systemd --usercomo descrito neste artigo . Caso contrário, você pode fornecer o sudo para cada usuário pelos serviços necessários.
Alexander Tolkachev 29/03

Respostas:

8

Seu sistema está usando o polkitGerenciador de autorização e a mensagem é do arquivo /usr/share/polkit-1/actions/org.freedesktop.systemd1.policy. polkitpode ser configurado nos diretórios /etc/polkit-1e /usr/share/polkit-1, mais especificamente nos subdiretórios rules.de actions. Consulte a página do manual Polkit para obter mais informações.

Johan Myréen
fonte
Na documentação: "polkit permite que os usuários obtenham autorização temporária através da autenticação de um usuário administrativo ou do proprietário da sessão à qual o cliente pertence". Talvez isso possa dar uma pista de por que está pedindo a senha de alice.
Johan Myréen 29/03
Eu acho que você gosta de algo aqui, embora eu ainda esteja completamente perdido sobre onde remover a regra ou o que quer que seja do outro usuário que continua pedindo para se autenticar. Procurei nos dois diretórios e até fiz um grep para "alice" e nada foi retornado.
Jack O'Leary
Você disse anteriormente que fez um su - aliceantes de iniciar o daemon vnc. Eu acho que isso faz de Alice o "proprietário da sessão à qual o cliente pertence".
Johan Myréen 29/03
O que não faz sentido, porém, foi que ele foi feito apenas para um serviço, que foi interrompido e o usuário desconectado. O outro serviço para bob não deveria ter nada a ver com alice, pois era algo completamente diferente - é muito estranho ... Eu não me importaria de desabilitar o polkit completamente, se é assim que é o comportamento normal.
Jack O'Leary
Você pode descobrir quem é o proprietário da sessão com o loginctlcomando Isso pode confirmar ou refutar minha teoria de que o polkit está pedindo ao proprietário da sessão para se autenticar. Eu realmente não posso dizer por que Alice é a proprietária neste caso.
Johan Myréen 29/03
4

Ao gerenciar serviços do sistema, você precisa fazê-lo como root e não como usuário normal. Isso é indicado pelo $caractere no final do prompt do shell.

Você pode usar sudo commandou alternar para root (shell raiz geralmente indicado por #char).

Khaled
fonte
Mesmo que eu esteja fazendo isso como root, ele solicita a autenticação normal dos usuários. Basicamente o usuário root que su - alice, em seguida, systemctlpara iniciar seu daemon vnc, mas agora ele pede para sua autenticação para cada systemctlnão importa o que seja ...
Jack O'Leary
Recebi a mensagem de erro quando digitei '/etc/init.d/munge start'. A adição do sudo foi corrigida. Obrigado!
fchen 22/07
0

Verifique a regra / etc / groups e sudoers. Isso pode acontecer se uma pessoa se adicionar ao grupo da roda e se tornar raiz dessa maneira.

natermer
fonte