Perché ho un account "libvirt qemu" nelle opzioni di blocco / commutazione dell'account in Ubuntu 16.04?


32

"Libvirt qemu" è ufficialmente fornito da Ubuntu 16.04 o ho fatto qualcosa di sbagliato / giusto?

$ grep -E 'libvirt|qemu' /etc/passwd"
libvirt-qemu:x:64055:134:Libvirt Qemu,,,:/var/lib/libvirt:/bin/false
libvirt-dnsmasq:x:124:137:Libvirt Dnsmasq,,,:/var/lib/libvirt/dnsmasq:/bin/false

1
Puoi per favore modificare la tua domanda e mostrare l'output di grep -E 'libvirt|qemu' /etc/passwd?
— Byte Commander

1
quale display manager (GDM, SDDM, ecc.) stai usando? è probabilmente una leggera configurazione errata. se libvirt-qemuviene visualizzato ma libvirt-dnsmasqnon lo è, il display manager non sta filtrando le /bin/falseshell ma sta filtrando gli account di sistema. libvirt-qemuha un UID alto ma normale.
— Quixotic

Per rispondere alla domanda @quixotic, modifica il contenuto del /etc/X11/default-display-managertuo post. grazie per aiutarci ad aiutarti!
— Elder Geek,

Anche se mi è stato risposto "correttamente" non ho modo di testare e accettare onestamente una risposta, perché ho reinstallato Ubuntu. @ElderGeek
— naughtyPenguin

Rapporto corrispondente nel bug tracker di Ubuntu: bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1674765
— sampablokuper

Risposte:


4

Potresti avere un problema di configurazione nel file /etc/lightdm/users.confcome utenti con la shell, /bin/falsecome nel caso di libvirt-qemu non dovrebbe mai apparire nella lista degli account per il login o passare a. Questo è controllato dalla linea hidden-shells=/bin/false /usr/sbin/nologinnel /etc/lightdm/users.conffile sopra menzionato .

Tuttavia , se hai installato il pacchetto accountsservice, questo sostituisce qualsiasi impostazione /etc/lightdm/users.conf. Se accountsservicenon nasconde un account con nologin / false shell, potrebbe trattarsi di un bug come indicato in questa risposta .

fonti:

Come nascondo un determinato utente dalla schermata di accesso?

/etc/lightdm/users.conf su Ubuntu 14.04.5 LTS e 16.04.2 LTS


29

Il accountsservicepacchetto sembra avere un bug, poiché mostra gli account di nologin-shell.

Per ovviare al problema, utilizzare semplicemente questi due comandi:

printf "[User]\nSystemAccount=true\n" | sudo tee /var/lib/AccountsService/users/libvirt-qemu
sudo systemctl restart accounts-daemon.service 

3
Funzionava ed è molto più semplice per Ubuntu 17.04. L'impostazione descritta dall'anziano Geek era già in atto, ma aveva ancora il problema.
— Zachary Scott,

Questo non funziona per me su Debian 9 (Stretch). La directory e il demone esistono ma dopo che ho creato il file come descritto e riavviato la voce libvirt-qemu persiste.
— Daniel Böhmer,

Questo mi dà bash: `/ var / lib / AccountsService / users / libvirt-qemu: permesso negato`, anche su sudo.
— darksoulsong

@darksoulsong: sembra che tu abbia tentato di eseguire il file che non è permesso. Controlla di aver copiato correttamente la riga di comando o modifica il file con un editor interattivo come nano /var/lib/AccountsService/users/libvirt-qemu.
— Daniel Böhmer,

8

Ho premuto accidentalmente CtrlAltF10dopo aver provato alcune scorciatoie che avevo visto su un sito Web, questo mi ha portato a una sessione tty a schermo intero nera in cui ho digitato chvt Ne startxper uscire dalla GUI di Ubuntu, ma questo non è riuscito e ha provocato un account aggiuntivo chiamato " Libvirt qemu " sopra il mio nome utente attuale nella pagina di accesso durante il riavvio.

Chiunque cerchi di capire come rimuovere l'utente qemu di Libvirt, ecco come l'ho rimosso:

  1. Vai su Impostazioni di sistema -> Account utente
  2. Sblocca il controllo UA
  3. Fai clic sull'account Libemirt qemu
  4. Rimuovi Libvirt qemu facendo clic sul piccolo segno " - " in basso a sinistra.

Grazie, è molto utile e semplice. Ho ottenuto l'account qemu quando ho provato a installare KVM per l'accelerazione hardware del mio emulatore Android.
— Harsha,

1
Questo non è molto utile se lavori con libvirt. Questo elimina completamente l'account dal sistema e fa in modo che libvirt smetta di funzionare.
— Sprinterfreak,

3

Ad un certo punto, o un'altra applicazione installata come prerequisito, qemu .


1
Ho avuto questo problema a causa dell'installazione gnome-boxes.
— Orschiro,

3

Per qualsiasi motivo, l'utente di sistema "libvirt-gemu" viene creato con l'UID 64055 (almeno in Ubuntu 16.04.2).

Ecco come lo crea 16.04.2:

libvirt-qemu:x:64055:130:Libvirt Qemu,,,:/var/lib/libvirt:/bin/false
libvirt-dnsmasq:x:121:129:Libvirt Dnsmasq,,,:/var/lib/libvirt/dnsmasq:/bin/false

Ed è così che dovrebbe essere:

libvirt-qemu:x:125:130:Libvirt Qemu,,,:/var/lib/libvirt:/bin/false
libvirt-dnsmasq:x:121:129:Libvirt Dnsmasq,,,:/var/lib/libvirt/dnsmasq:/bin/false

Per correggere questo, basta cambiare l'uid di "libvirt-qemu" e i suoi file di appartenenza. "Libvirt Qemu" scompare quindi dal login!

Leggi ad esempio nixCraft - Come modificare un ID USER e GROUP su Linux per tutti i file di proprietà per sapere come fare.


"Per qualsiasi motivo l'utente di sistema" libvirt-gemu "viene creato con l'UID 64055 ..." . AFAICT, l'adozione di 64055 per l' libvirt-qemuUID e GID in Debian (e quindi nelle sue distribuzioni derivate) è stata introdotta in una patch libvirt-daemon-system, archiviata nel tracker di bug Debian il 14 novembre 2016 come # 844339 . Ulteriore spiegazione esiste nella segnalazione bug Debian n. 843881 e nella segnalazione bug Ubuntu n . 1637601 .
— sampablokuper

Scavando un po 'di più in quelle segnalazioni di bug, vedo che il responsabile della manutenzione Debian ha pre-allocato UID / GID 64055 a libvirt-qemuun po' prima: l' 11 novembre 2016 .
— sampablokuper

L'UID deve essere inferiore a 1000 per non essere visualizzato nel gestore utenti. 125 era nel mio caso (Ubuntu) ancora occupato da gdm, quindi trova il prossimo numero gratuito.
— Sprinterfreak,
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.