
Estou executando uma estação de trabalho Rocky Linux 8.4 com desktops GNOME e MATE, mas vi o mesmo problema no CentOS 7.9...
Quando eu faço login na máquina no display local, posso fazer coisas como administrar usuários e definir a hora do sistema usando o aplicativo Control Center (isso no MATE, as ferramentas estão enterradas no menu do GNOME). Quando clico na ferramenta, aparece um pop-up solicitando minha senha ou haverá um botão "desbloquear" para clicar antes de ser autenticado. Tudo isso funciona porque meu usuário é membro do grupo administrativo "roda".
No entanto, quando o mesmo usuário faz login no mesmo ambiente de área de trabalho xrdp
, a capacidade de administrar o sistema desaparece. Em alguns casos, o botão "desbloquear" fica acinzentado, em outros, quando clico no ícone do aplicativo da ferramenta, recebo uma mensagem "Erro ao executar comando como outro usuário: Não autorizado" em meu .xsession-errors
arquivo.
Pelo que entendi, o problema está em polkit
tratar sessões locais e remotas de maneira diferente e basicamente bloquear ações administrativas de sessões remotas como xrdp, vnc etc. Isso é uma dor, porque o principal motivo para configurar o serviço xrdp foi para que EUpoderiaadministrar a máquina remotamente! Posso contornar isso até certo ponto usando sudo
um terminal, mas realmente quero que apenas funcione™.
Então, minha pergunta é: como configuro polkit
para tratar uma sessão remota para meu usuário administrador de forma idêntica a uma sessão local? (Sempre assumindo que polkit é a fonte do meu problema!)
Responder1
Tendo enquadrado as frustrações de ontem de forma mais sucinta, usei um mecanismo de pesquisa bem conhecido para procurar "sessões locais e remotas do linux polkit" e obtive isso como o resultado principal -Habilitando privilégios de gerenciamento de sistema para usuários não locais - Como diabos funciona polkit
, afinal? A resposta (ligeiramente modificada da pergunta vinculada) é criar um arquivo /etc/polkit-1/localauthority/50-local.d/10-remote-admin-allow.pkla
contendo
[Allow Remote Admin]
Identity=unix-group:wheel
Action=*
ResultAny=auth_admin_keep
ResultInactive=auth_admin_keep
ResultActive=auth_admin_keep
e correr systemctl restart polkit
(o que é vital, mas foi esquecido na outra questão). Você também pode colocar este arquivo em /var/lib/polkit-1
, mas de acordo compklocalauthority.8o primeiro é destinado à configuração local, enquanto o último é para pacotes de terceiros.
Responder2
Funcionou muito bem para mim. Obrigado!
Eu não tinha certeza do que "Identity=unix-group:roda"foi então que mudei o grupo para 'sudo'. Acho que o grupo 'usuários' também teria funcionado.
Estou executando o Linux Lite 6.0 BTW.
Saúde!