Действительно ли возможно получить доступ к модулю ядра, если пользователь не является sudoer?
Я пытаюсь получить доступ к KVM, который является модулем ядра, как non-sudoer, но я получаю ошибку:
Could not access KVM kernel module: Permission denied.
Там какой-либо путь состоит в том, чтобы сделать этот модуль доступным для всех пользователей (non-sudoers также)?
Общий рецепт для установки полномочий на доступе модулей ядра должен добавить файл к /etc/udev/rules.d
. Например, можно создать файл /etc/udev/rules.d/99-kvm.rules
со следующим текстом:
KERNEL=="kvm", GROUP="kvm-users"
Обновление Ubuntu 18.04
Для /dev/kvm
а именно, добавьте пользователя к kvm
группа с:
sudo usermod -a -G kvm $USER
и перезагрузка компьютер и проблема решена.
Я получал то сообщение об ошибке при передаче -enable-kvm
кому: qemu-system-x86_64
.
Как я узнал это: если мы делаем:
ls -al /dev/kvm
это дает:
crw-rw---- 1 root kvm 10, 232 May 12 07:53 /dev/kvm
и:
id -a
дает:
uid=1000(ciro) gid=1000(ciro) groups=1000(ciro),4(adm),20(dialout),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare)
не содержал kvm
группа.
Возможно, доступ был ранее предоставлен через правила udev, но затем они переместились в механизм группы? https://bugzilla.redhat.com/show_bug.cgi? id=1479558#c3
да мы отбросили kvm udev правила в сделанном из сыромятной кожи пакете, так как сыромятная плеть systemd теперь обеспечивает их. Однако похоже на использование virt-предварительного-просмотра repo на f26 поэтому теперь нет ничего устанавливающего/dev/kvm полномочия на 666 и group=kvm
Действительно кажется возможным добавить пользователей к kvm
группа во время обновления: Как запустить скрипт только во время первой установки пакета и во время обновлений? но возможно это не было сделано из-за проблем безопасности?