Передача устройства USB e to Qemu KVM

В POSIX процесс имеет привилегии суперпользователя, если его эффективный идентификатор пользователя равен 0.

(Некоторые системы в стиле Unix -имеют разные механизмы; например, в Linux система управления доступом по умолчанию -также учитывает возможности, и вы можете создать двоичный файл setuid, который будет работать с действующим пользователем root, но не будет иметь возможностей и, следовательно, будет бесполезен. См. справочную страницу setuid.)

APUE описывает заданное поведениеsetuid. Контекст задается тем, как идентификаторы пользователей устанавливаются с помощью exec:, если исполняемый файл имеет установленный бит setuidи его файловая система монтируется без отключения setuid, запуск его с execприводит к процессу, чей эффективный пользователь является владельцем файла, а его реальный и сохраненный пользователь является вызывающим пользователем.

Если setuidвызывается с действующим пользователем root, он заменяет все идентификаторы пользователей; в противном случае он заменяет только эффективный идентификатор. Это в конечном итоге сбивает с толку...Причина такого поведения указана в обосновании спецификаций POSIX:loginи su, которые должны иметь возможность изменять идентификаторы пользователей безвозвратно, и единственный способ сделать это — заменить все идентификаторы.

0
10.01.2020, 12:39
1 ответ

просто подумал, что вставлю свои пять копеек. Я пытался добавить USB-принтер к своей виртуальной машине и пробовал весь маршрут команды «qemu -kvm» безрезультатно. В конце концов я просто вручную добавил запись xml в домен моей виртуальной машины xml по этой ссылке libvirt . На хост-компьютере запустите:

lsusb

Найдите строку, представляющую ваше USB-устройство.

Bus 001 Device 003: ID 03f0:1617 HP, Inc LaserJet 3015

«ID» представляет идентификатор вашего поставщика и идентификатор продукта, разделенные двоеточием. Затем просто замените поставщика вашего устройства и идентификатор продукта в коде xml ниже (, включите 0x для шестнадцатеричного )и добавьте его как элемент с -в блок «устройств» вашей виртуальной машины :

.
<hostdev mode='subsystem' type='usb'>                                                            
  <source startupPolicy='optional'>                                                              
    <vendor id='0x03f0'/>                                                                        
    <product id='0x1617'/>                                                                       
  </source>                                                                                      
  <boot order='2'/>                                                                              
</hostdev>

Удачи и надеюсь, что это поможет. К вашему сведению, чтобы отредактировать xml-файл вашего домена, запустите:

virsh dumpxml yourdomain

, а затем

virsh edit yourdomain

Это загрузит XML-файл, который вы можете редактировать.

0
16.07.2020, 12:58

Теги

Похожие вопросы