Tại sao tôi có tài khoản qemu của người dùng libvirt trong các tùy chọn tài khoản Khóa / Chuyển đổi trong Ubuntu 16.04?


32

Là "libvirt qemu" được cung cấp bởi Ubuntu 16.04 chính thức hay tôi đã làm gì sai / đúng?

$ 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
Bạn có thể vui lòng chỉnh sửa câu hỏi của bạn và hiển thị đầu ra của grep -E 'libvirt|qemu' /etc/passwd?
Chỉ huy Byte

1
bạn đang sử dụng trình quản lý hiển thị nào (GDM, SDDM, v.v.)? nó có lẽ là một cấu hình sai. nếu libvirt-qemuđược hiển thị nhưng libvirt-dnsmasqkhông, thì trình quản lý hiển thị không lọc các /bin/falseshell mà là lọc ra các tài khoản hệ thống. libvirt-qemucó UID cao nhưng người dùng bình thường.
quixotic

Để trả lời câu hỏi @quixotic, vui lòng chỉnh sửa nội dung /etc/X11/default-display-managervào bài viết của bạn. cảm ơn bạn đã giúp chúng tôi giúp bạn
Anh Cả Geek

Ngay cả khi nó được trả lời "chính xác", tôi không có cách nào để kiểm tra và thành thật chấp nhận câu trả lời, vì tôi đã cài đặt lại Ubuntu. @ElderGeek
nghịch ngợmPenguin

Tương ứng với báo cáo trong theo dõi lỗi của Ubuntu: bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1674765
sampablokuper

Câu trả lời:


4

Bạn có thể gặp vấn đề về cấu hình trong tệp /etc/lightdm/users.confvì người dùng có vỏ /bin/falsenhư trường hợp libvirt-qemu không bao giờ xuất hiện trong danh sách tài khoản để đăng nhập hoặc chuyển sang. Điều này được kiểm soát bởi dòng hidden-shells=/bin/false /usr/sbin/nologintrong /etc/lightdm/users.conftập tin nói trên .

Tuy nhiên , nếu bạn đã accountsservicecài đặt gói , thì nó sẽ ghi đè mọi cài đặt /etc/lightdm/users.conf. Nếu accountsservicekhông ẩn tài khoản có vỏ nologin / false, thì đó có thể là một lỗi như được đề cập trong câu trả lời này .

Nguồn:

Làm cách nào để ẩn một người dùng cụ thể khỏi màn hình đăng nhập?

/etc/lightdm/users.conf trên Ubuntu 14.04.5 LTS và 16.04.2 LTS


29

Các accountsservicegói dường như có một lỗi, vì nó cho thấy tài khoản nologin vỏ.

Như một giải pháp thay thế, chỉ cần sử dụng hai lệnh sau:

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

3
Điều này đã làm việc và đơn giản hơn nhiều cho Ubuntu 17.04. Thiết lập được mô tả bởi Elder Geek đã có, nhưng vẫn có vấn đề.
Zachary Scott

Điều này không phù hợp với tôi trên Debian 9 (Stretch). Thư mục và daemon tồn tại nhưng sau khi tôi tạo tệp như được mô tả và khởi động lại, mục libvirt-qemu vẫn tồn tại.
Daniel Böhmer

Điều này mang lại cho tôi bash: `/ var / lib / AccountService / users / libvirt-qemu: Quyền bị từ chối`, ngay cả trên sudo.
darksoulsong

@darksoulsong: Có vẻ như bạn đã cố thực thi tệp không được phép. Kiểm tra kỹ xem bạn đã sao chép chính xác dòng lệnh hay chỉnh sửa tệp bằng trình chỉnh sửa tương tác như thế nào nano /var/lib/AccountsService/users/libvirt-qemu.
Daniel Böhmer

8

Tôi đã vô tình nhấn CtrlAltF10một lần khi thử một số phím tắt mà tôi đã thấy trên một trang web, điều này đưa tôi đến một phiên bản tty toàn màn hình đen nơi tôi đã nhập chvt Nstartxđể truy cập vào GUI của Ubuntu nhưng điều này đã thất bại và dẫn đến một tài khoản bổ sung có tên " Libvirt qemu " ở trên tên người dùng hiện tại của tôi tại Trang đăng nhập trong khi khởi động lại.

Bất cứ ai đang cố gắng tìm ra cách loại bỏ người dùng Libvirt qemu, đây là cách tôi xóa nó:

  1. Chuyển đến Cài đặt hệ thống -> Tài khoản người dùng
  2. Mở khóa điều khiển UA
  3. Nhấp vào tài khoản Libvirt qemu
  4. Xóa Libvirt qemu bằng cách nhấp vào dấu " - " nhỏ ở phía dưới bên trái.

Cảm ơn, điều đó rất hữu ích và đơn giản. Tôi đã nhận được tài khoản qemu khi tôi cố gắng cài đặt KVM để tăng tốc phần cứng cho trình giả lập Android.
Harsha

1
Điều này là không hữu ích nếu bạn làm việc với libvirt. Điều này xóa tài khoản hoàn toàn khỏi hệ thống và làm cho libvirt ngừng hoạt động.
Sprinterfreak

3

Tại một thời điểm, bạn hoặc ứng dụng khác được cài đặt làm điều kiện tiên quyết, qemu .


1
Tôi đã có vấn đề này do cài đặt gnome-boxes.
orschiro

3

Vì bất kỳ lý do gì, người dùng hệ thống "libvirt-gemu" được tạo bằng uid 64055 (ít nhất là trong Ubuntu 16.04.2).

Đây là cách 16.04.2 tạo ra nó:

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

Và đây là cách nó phải là:

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

Để sửa lỗi này, chỉ cần thay đổi uid của "libvirt-qemu" và nó thuộc về các tệp. "Libvirt Qemu" sau đó sẽ biến mất khỏi thông tin đăng nhập!

Đọc ví dụ: nixCraft - Cách thay đổi ID người dùng và ID nhóm trên Linux cho tất cả các tệp sở hữu để biết cách thực hiện việc này.


"Vì bất kỳ lý do gì, người dùng hệ thống" libvirt-gemu "được tạo bằng uid 64055 ..." . AFAICT, việc áp dụng 64055 cho libvirt-qemuUID và GID trong Debian (và do đó trong các bản phát hành phái sinh của nó) đã được giới thiệu trong một bản vá cho libvirt-daemon-system, đã nộp trong trình theo dõi lỗi Debian vào ngày 14 tháng 11 năm 2016 dưới dạng # 844339 . Giải thích thêm tồn tại trong báo cáo lỗi Debian # 843881báo cáo lỗi Ubuntu # 1637601 .
sampablokuper

Tìm hiểu sâu hơn một chút về các báo cáo lỗi đó, tôi thấy rằng nhà bảo trì Debian có liên quan đã phân bổ trước UID / GID 64055 đến libvirt-qemurất sớm: 11 tháng 11 năm 2016 .
sampablokuper

UID phải dưới 1000 để không hiển thị trong trình quản lý người dùng. 125 là trong trường hợp của tôi (Ubuntu) vẫn bị chiếm bởi gdm, vì vậy hãy tìm số miễn phí tiếp theo.
Sprinterfreak
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.