Come posso impedire a virt-manager di chiedere la password di root?


18

All'avvio di virt-manager, richiede la password di root.

Sembra che virt-manager induca il demone libvirtd a eseguire pkcheck con un paio di argomenti, che poi mostra questa finestra di autenticazione. Quindi è PolicyKit che chiede la password di root.

Il sito Web ufficiale (libvirt.org) descrive come definire una regola PolicyKit per eliminare la richiesta della password:

$ 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

La sottodirectory "localauthority" non esisteva. La sua creazione e l'inserimento di un file con quel nome e contenuto (libvirt -> il nome del mio gruppo) non sembrano avere alcun effetto. Inoltre, esiste un file predefinito che utilizza la sintassi JavaScript:

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

Questo pacchetto è installato sul sistema, oltre ad alcuni frontend DE:

polkit-0.107-4.fc18.x86_64

Apparentemente la configurazione di esempio su libvirt.org è obsoleta?

Quale configurazione è necessaria per eliminare la richiesta della password (per un gruppo di utenti specifico)?

Risposte:


16

/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;
    }
});

Dovrai eseguire passaggi comuni tra cui il riavvio di PolicyKit e l'avvio di una nuova sessione con il rispettivo utente dopo averlo aggiunto al libvirtgruppo.

Sembra che la risorsa riguardi Fedora 18 ma usa già la sintassi javascript, quindi molto probabilmente è valida anche per Fedora 19.

link:


1
Questa soluzione funziona! Grazie anche per i collegamenti. Premio assegnato.
senorsmile,

Ci scusiamo per la formattazione sbagliata, risolto quello.
Pavel Šimerda,

Come si confronta con l'aggiunta dell'utente al gruppo libvirt? Ho provato ad aggiungere l'utente al gruppo libvirt e quindi non era richiesta l'autenticazione aggiuntiva.
jwbensley,

1
@jwbensley Il modo polkit è dinamico e dà le autorizzazioni al proprietario della sessione locale attiva. Il modo gruppo è statico e dà il privilegio a quell'utente specifico. Scegli i tuoi modi come meglio credi.
Pavel Šimerda

1

Il prompt della password è stato creato per la sicurezza del sistema, quindi se lo fai potresti renderlo vulnerabile.

  1. Crea il Groupgruppo sul tuo computer. oppure puoi eseguire questo "sudo groupadd -r Group"

  2. È possibile qualsiasi utente che si desidera per questo gruppo di sistema eseguendo "sudo usermod -a -G Group User"

  3. Ora devi creare la nostra politica PolicyKit che consentirà agli utenti di Groupeseguire virt-manager

creerai un file in questo percorso: "/ etc / polkit-1 / localauthority / 50-local.d / 50-org. Group-libvirt-local-access.pkla"
e inserirai delle righe sotto

[Consenti Groupautorizzazioni di gestione libvirt di gruppo ]
Identity = unix-group: Group
Action = org.libvirt.unix.manage
ResultAny = yes
ResultInactive = yes
ResultActive = yes

Questo è tutto ciò che dovevi fare ora puoi eseguirlo. E spero che questo ti aiuti.


Questa è la vecchia soluzione. Questa soluzione NON funziona con i nuovi sistemi operativi Linux basati su systemd, come Fedora 19 o Current Arch. (L'ho appena provato. Non esiste nemmeno una directory localauthority e la creazione, la sottocartella e il file specificato non fanno nulla).
senorsmile,

@senorsmile Hai inviato una segnalazione di bug con Fedora 19?
Pavel Šimerda,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.