Почему у меня есть учетная запись «libvirt qemu» в параметрах блокировки / переключения учетных записей в Ubuntu 16.04?

32

Официально ли Ubuntu 16.04 предоставляет "libvirt qemu", или я сделал что-то не так / правильно?

$ 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
источник
1
Можете ли вы отредактировать свой вопрос и показать результаты grep -E 'libvirt|qemu' /etc/passwd?
Byte Commander
1
какой менеджер дисплеев (GDM, SDDM и т. д.) вы используете? это, вероятно, небольшая неправильная конфигурация. если libvirt-qemuотображается, но libvirt-dnsmasqне отображается, диспетчер дисплеев не фильтрует /bin/falseоболочки, а фильтрует системные учетные записи. libvirt-qemuимеет высокий, но обычный пользовательский UID.
донкихотский
Чтобы ответить на вопрос @quixotic, пожалуйста, отредактируйте содержание /etc/X11/default-display-managerсвоего поста. спасибо, что помогли нам помочь вам!
Старейшина Гик
Даже если на него ответили «правильно», у меня нет возможности проверить и честно принять ответ, потому что я переустановил Ubuntu. @ElderGeek
naughtyPenguin
Соответствующий отчет в системе отслеживания ошибок Ubuntu: bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1674765
sampablokuper,

Ответы:

4

У вас могут быть проблемы с конфигурацией в файле, так /etc/lightdm/users.confкак пользователи с оболочкой, /bin/falseкак в случае с libvirt-qemu, никогда не должны отображаться в списке учетных записей для входа или переключения на. Это контролируется строкой hidden-shells=/bin/false /usr/sbin/nologinв вышеупомянутом /etc/lightdm/users.confфайле.

Однако , если у вас установлен пакет accountsservice, он переопределяет любые настройки в /etc/lightdm/users.conf. Если accountsserviceне скрыть учетную запись с nologin / false оболочки, то это может быть ошибкой, как указано в этом ответе .

Источники:

Как скрыть конкретного пользователя с экрана входа в систему?

/etc/lightdm/users.conf на Ubuntu 14.04.5 LTS и 16.04.2 LTS

Старейшина Гик
источник
29

В accountsserviceпакете, похоже, есть ошибка, так как он показывает учетные записи nologin-shell.

В качестве обходного пути просто используйте эти две команды:

printf "[User]\nSystemAccount=true\n" | sudo tee /var/lib/AccountsService/users/libvirt-qemu
sudo systemctl restart accounts-daemon.service 
Девендра Бхат
источник
3
Это сработало и намного проще для Ubuntu 17.04. Настройка, описанная старейшиной Гиком, уже была на месте, но проблема все еще была.
Захари Скотт
Это не работает для меня в Debian 9 (Stretch). Каталог и демон существуют, но после того, как я создал файл, как описано, и перезагрузил, запись libvirt-qemu сохраняется.
Даниэль Бёмер,
Это дает мне bash: `/ var / lib / AccountsService / users / libvirt-qemu: В доступе отказано`, даже на sudo.
darksoulsong
@darksoulsong: кажется, вы пытались выполнить файл, который не разрешен. Дважды проверьте, правильно ли вы скопировали командную строку, или отредактируйте файл с помощью интерактивного редактора, например nano /var/lib/AccountsService/users/libvirt-qemu.
Даниэль Бёмер
8

Я случайно нажал CtrlAltF10один раз, попробовав несколько ярлыков, которые я видел на веб-сайте, и я перешел на черный полноэкранный сеанс tty, где я набрал текст chvt Nи startxвышел в графический интерфейс Ubuntu, но это не удалось, и в результате появилась дополнительная учетная запись с именем « Libvirt qemu » выше. мое настоящее имя пользователя на странице входа во время перезагрузки.

Любой, кто пытается выяснить, как удалить пользователя Libvirt qemu, вот как я его удалил:

  1. Зайдите в Настройки системы -> Учетные записи пользователей
  2. Разблокировать управление UA
  3. Нажмите на учетную запись Libvirt QEMU
  4. Удалите Libvirt qemu, нажав на маленький знак « - » в левой нижней части.
himanshuxd
источник
Спасибо, это очень полезно и просто. Я получил учетную запись qemu, когда пытался установить KVM для аппаратного ускорения моего эмулятора Android.
Харша
1
Это, конечно, не очень полезно, если вы работаете с libvirt. Это полностью удаляет учетную запись из системы и перестает работать libvirt.
Sprinterfreak
3

В какой-то момент либо вы, либо другое приложение, установленное в качестве предварительного условия, qemu .

Эндрю Крутхамел
источник
1
У меня была эта проблема из-за установки gnome-boxes.
Орширо
3

По какой-либо причине системный пользователь "libvirt-gemu" создается с помощью uid 64055 (по крайней мере, в Ubuntu 16.04.2).

Вот как это создает 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

И так и должно быть:

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

Чтобы исправить это, просто измените uid «libvirt-qemu» и принадлежащих ему файлов. «Libvirt Qemu» исчезнет из логина!

Прочтите, например, nixCraft - Как изменить идентификатор пользователя и группы в Linux для всех принадлежащих файлов, чтобы узнать, как это сделать.

userofau
источник
Msgstr "По какой-то причине системный пользователь" libvirt-gemu "создан с помощью uid 64055 ..." . AFAICT, принятие 64055 для libvirt-qemuUID и GID в Debian (и, следовательно, в его производных дистрибутивах) было представлено в патче libvirt-daemon-system, поданном в трекере ошибок Debian 14 ноября 2016 года под номером # 844339 . Дальнейшее объяснение содержится в отчете об ошибке Debian # 843881 и отчете об ошибке Ubuntu # 1637601 .
Сампаблокупер
Немного углубившись в эти сообщения об ошибках, я вижу, что соответствующий сопровождающий Debian предварительно выделил UID / GID 64055 libvirt-qemuнемного раньше: 11 ноября 2016 года .
Сампаблокупер
UID должен быть ниже 1000, чтобы не отображаться в диспетчере пользователей. 125 в моем случае (Ubuntu) все еще занята gdm, так что найдите следующий свободный номер.
Sprinterfreak