Como evito que o virt-manager peça a senha de root?

15

Ao iniciar o virt-manager, ele pede a senha do root.

Parece que o virt-manager faz com que o daemon libvirtd execute o pkcheck com alguns argumentos, o que mostra essa caixa de diálogo de autenticação. Então é o PolicyKit quem está pedindo a senha do root.

O site oficial (libvirt.org) descreve como definir uma regra do PolicyKit para se livrar do prompt de senha:

$ sudo cat /etc/polkit-1/localauthority/50-local.d/50-org.example-libvirt-remote-access.pkla
[libvirt Management Access]
Identity=unix-group:libvirt
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes

O subdiretório "autoridade local" não existia. Criando-o e colocando um arquivo com esse nome e conteúdo (libvirt - > meu nome de grupo) não parece ter nenhum efeito. Além disso, há um arquivo padrão, que usa a sintaxe JavaScript:

/etc/polkit-1/rules.d/50-default.rules

Este pacote está instalado no sistema, além de alguns frontends de DE:

polkit-0.107-4.fc18.x86_64

Aparentemente, a configuração de exemplo no libvirt.org está desatualizada?

Que configuração é necessária para se livrar do prompt de senha (para um grupo de usuários específico)?

    
por basic6 08.02.2013 / 15:31

2 respostas

13

/etc/polkit-1/rules.d/10.virt.rules:

polkit.addRule(function(action, subject) {
    if (action.id == "org.libvirt.unix.manage"
            && subject.local
            && subject.active
            && subject.isInGroup("libvirt")) {
        return polkit.Result.YES;
    }
});

Você terá que executar etapas comuns, incluindo reiniciar o policykit e iniciar uma nova sessão com o respectivo usuário após adicioná-lo ao grupo libvirt .

Parece que o recurso é sobre o Fedora 18, mas ele já usa a sintaxe do javascript, então provavelmente é válido para o Fedora 19.

Links:

por 15.10.2013 / 19:37
1

A solicitação de senha foi feita para a segurança do sistema, portanto, se você fizer isso, poderá torná-lo vulnerável.

  1. Crie o grupo Grupo em sua máquina. ou você pode rodar este "sudo groupadd -r Grupo "

  2. Você pode qualquer usuário que você quiser para este grupo de sistema executando "sudo usermod -a -G Grupo Usuário "

  3. Agora você precisa criar nossa política do PolicyKit que permitirá que os usuários do Group executem o virt-manager

you will create a file at this path:"/etc/polkit-1/localauthority/50-local.d/50-org.Group-libvirt-local-access.pkla"
and you will put lines below in it

[Allow group Group libvirt management permissions]
Identity=unix-group:Group
Action=org.libvirt.unix.manage
ResultAny=yes
ResultInactive=yes
ResultActive=yes

Isso é tudo que você precisa fazer agora, você pode executá-lo. E eu espero que isso ajude você.

    
por 15.10.2013 / 09:34