Por que eu tenho uma conta “libvirt qemu” nas opções de conta Bloquear / Alternar no Ubuntu 16.04?

32

O "libvirt qemu" fornecido pelo Ubuntu 16.04 é oficialmente ou eu fiz algo errado / certo?

$ 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
naughtyPenguin
fonte
1
Você pode editar sua pergunta e mostrar a saída de grep -E 'libvirt|qemu' /etc/passwd?
Byte Commander
1
qual gerenciador de exibição (GDM, SDDM etc.) você está usando? provavelmente é um pequeno erro de configuração. se libvirt-qemufor exibido, mas libvirt-dnsmasqnão for, o gerente de exibição não está filtrando as /bin/falseconchas, mas as contas do sistema. libvirt-qemupossui um UID de usuário alto, mas normal.
quixotic
Para responder à pergunta @quixotic, edite o conteúdo de /etc/X11/default-display-managersua postagem. obrigado por nos ajudar a ajudá-lo!
Elder Geek
Mesmo que tenha sido respondida "corretamente", não tenho como testar e aceitar honestamente uma resposta, porque reinstalei o Ubuntu. @ElderGeek
naughtyPenguin 20/04
Relatório correspondente no rastreador de erros do Ubuntu: bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1674765 #
sampablokuper

Respostas:

4

Você pode ter um problema de configuração no arquivo, /etc/lightdm/users.confpois os usuários com o shell, /bin/falsecomo no caso do libvirt-qemu, nunca devem aparecer na lista de contas para fazer login ou mudar para. Isso é controlado pela linha hidden-shells=/bin/false /usr/sbin/nologinno /etc/lightdm/users.confarquivo mencionado acima .

No entanto , se você tiver o pacote accountsserviceinstalado, isso substituirá todas as configurações /etc/lightdm/users.conf. Se accountsservicenão ocultar uma conta com nologin / falsos shells, pode ser um bug, conforme mencionado nesta resposta .

Fontes:

Como ocultar um usuário específico da tela de login?

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

Elder Geek
fonte
29

O accountsservicepacote parece ter um bug, pois mostra contas nologin-shell.

Como solução alternativa, basta usar estes dois comandos:

printf "[User]\nSystemAccount=true\n" | sudo tee /var/lib/AccountsService/users/libvirt-qemu
sudo systemctl restart accounts-daemon.service 
Devendra Bhat
fonte
3
Isso funcionou e é muito mais simples para o Ubuntu 17.04. A configuração descrita pelo Elder Geek já estava em vigor, mas ainda tinha o problema.
Zachary Scott
Isso não funciona para mim no Debian 9 (Stretch). O diretório e o daemon existem, mas depois que eu criei o arquivo, conforme descrito e reiniciei, a entrada libvirt-qemu persiste.
Daniel Böhmer 16/02
Isso me dá o bash: `/ var / lib / AccountsService / users / libvirt-qemu: permissão negada`, mesmo no sudo.
darksoulsong 14/01
@darksoulsong: Parece que você tentou executar o arquivo que não é permitido. Verifique se você copiou corretamente a linha de comando ou edite o arquivo com um editor interativo como nano /var/lib/AccountsService/users/libvirt-qemu.
Daniel Böhmer 15/01
8

Eu acidentalmente pressionei CtrlAltF10uma vez tentando alguns atalhos que eu tinha visto em um site. Isso me levou a uma sessão tty em tela cheia preta , onde eu digitei chvt Ne startxsaí para a GUI do Ubuntu, mas isso falhou e resultou em uma conta adicional chamada " Libvirt qemu " acima meu nome de usuário atual na página de logon durante a reinicialização.

Qualquer um tentando descobrir como remover o usuário Libvirt qemu, é assim que eu o removi:

  1. Vá para Configurações do sistema -> Contas de usuário
  2. Desbloqueie o controle UA
  3. Clique na conta Libvirt qemu
  4. Remova o Libvirt qemu clicando no pequeno sinal " - " no canto inferior esquerdo.
himanshuxd
fonte
Obrigado, isso é muito útil e simples. Eu obtive a conta qemu quando tentei instalar o KVM para a aceleração de hardware do meu emulador Android.
Harsha
1
Claro que isso não é muito útil se você trabalha com libvirt. Isso exclui totalmente a conta do sistema e faz com que a libvirt pare de funcionar.
Sprinterfreak
3

Em um ponto, você ou outro aplicativo instalado como pré-requisito, qemu .

Andrew Crouthamel
fonte
1
Eu tive esse problema devido à instalação gnome-boxes.
orschiro
3

Por qualquer motivo, o usuário do sistema "libvirt-gemu" é criado com o uid 64055 (pelo menos no Ubuntu 16.04.2).

É assim que o 16.04.2 o cria:

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

E é assim que deve ser:

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

Para corrigir isso, simplesmente mude o uid de "libvirt-qemu" e seus arquivos pertencentes. O "Libvirt Qemu" desaparecerá do login!

Leia, por exemplo, nixCraft - Como alterar uma ID de USUÁRIO e DE GRUPO no Linux para todos os arquivos proprietários para saber como fazer isso.

userofau
fonte
"Por qualquer motivo, o usuário do sistema" libvirt-gemu "é criado com o uid 64055 ..." . AFAICT, a adoção de 64055 para o libvirt-qemuUID e GID no Debian (e, portanto, em suas distribuições derivadas) foi introduzida em um patch para libvirt-daemon-system, arquivado no rastreador de erros do Debian em 14 de novembro de 2016 como # 844339 . Explicação adicional existe no relatório de bug Debian # 843881 e no relatório de bug Ubuntu # 1637601 .
Sampablokuper #
Indo um pouco mais longe nesses relatórios de bugs, vejo que o mantenedor relevante do Debian pré-alocou o UID / GID 64055 para libvirt-qemuum pouco mais cedo: 11 de novembro de 2016 .
Sampablokuper #
O UID deve estar abaixo de 1000 para não aparecer no gerenciador de usuários. 125 estava no meu caso (Ubuntu) ainda ocupado pelo gdm, então encontre o próximo número gratuito.
Sprinterfreak