[113576] Я думаю, что Вы можете использовать UDEV, чтобы делать то, что Вы хотите. Создавая файл с правилами типа[114034]/etc/udev/rules.d/99-thumbdrives.rules[114035] Вы просто добавите правило, которое позволит либо группе Unix, либо пользователю получить доступ к произвольным USB флэш-накопителям.
Создал бы устройство, используя user [114036]
Пример
После добавления этой строки в мою систему.
KERNEL=="sd*", SUBSYSTEM=="block", ENV{DEVTYPE}=="disk", OWNER="saml", GROUP="saml", MODE="0660".
И перезагрузка моих правил:
echo -n "Hello World "; uptime
$ sudo udevadm control --reload-rules
>UnxUtils\bin\sh
WINCOMP# echo -n "Hello "; echo World
Hello World
Если я сейчас вставлю флешку в свою систему, мои [114505]/var/log/messages[114506] будут выглядеть следующим образом:
$ sudo tail -f /var/log/messages 13 апреля 11:48:45 greeneggs udisksd[2249]: Установленный /dev/sdb1 на /run/media/saml/HOLA от имени uid 1000 13 апреля 11:51:18 greeneggs udisksd[2249]: Очистка точки крепления / ход/средства массовой информации/образца/HOLA (устройство 8:17 не смонтировано) 13 апреля 11:51:18 greeneggs udisksd[2249]: Необъявленный /dev/sdb1 от имени uid 1000 13 апреля 11:51:18 зеленого ядра: [171038.843969] sdb: обнаружено изменение емкости с 32768000 на 0 13 апреля 11:51:39 зеленых орехов ядро: [171058.964358] usb 2-1.2: USB-разъединение, номер устройства 15. 13 апреля 11:51:46 зеленых орехов ядро: [171066.053922] usb 2-1.2: новое полноскоростное USB-устройство номер 16 с использованием ehci-pci. 13 апреля 11:51:46 зеленых орехов ядро: [171066.134401] usb 2-1.2: найдено новое USB-устройство, idVendor=058f, idProduct=9380 13 апреля 11:51:46 зеленых орехов ядро: [171066.134407] usb 2-1.2: новые строки для USB-устройств: Mfr=1, Продукт=2, Серийный номер=0 13 апреля 11:51:46 зеленых орехов ядро: [171066.134410] usb 2-1.2: Продукт: USB-накопитель 13 апреля 11:51:46 зеленых орехов ядро: [171066.134412] usb 2-1.2: производитель: JMTek 13 апреля 11:51:46 зеленых орехов ядро: [171066.135470] USB-накопитель 2-1.2:1.0: Обнаружено USB-накопитель 13 апреля 11:51:46 зеленых орехов ядро: [171066.136121] scsi17 : usb-накопитель 2-1.2:1.0 13 11:51:46 greeneggs mtp-probe: проверка шины 2, устройство 16: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2". Apr 13 11:51:46 greeneggs mtp-probe: bus: 2, device: 16 не было MTP-устройством. 13 апреля 11:51:47 зеленого ядра: [171067.139462] scsi 17:0:0:0: USB-накопитель JMTek с прямым доступом 7.77 PQ: 0 ANSI: 2 13 апреля 11:51:47 ядро Greeneggs: [171067.140251] sd 17:0:0:0: Прилагаемые scsi общие sg2 тип 0 13 апреля 11:51:47 зеленого ядра: [171067.142105] sd 17:0:0:0: [sdb] 64000 512-байтных логических блоков: (32.7 MB/31.2 MiB) 13 апреля 11:51:47 зеленого ядра: [171067.144236] sd 17:0:0:0: [sdb] Write Protect выключено. 13 апреля 11:51:47 зеленого ядра: [171067.145988] sd 17:0:0:0: [sdb] страница режима кэширования не найдена. 13 апреля 11:51:47 зеленого ядра: [171067.145998] sd 17:0:0:0: [sdb] Предполагая кэш диска: запись через 13 апреля 11:51:47 зеленого ядра: [171067.153721] sd 17:0:0:0: [sdb] страница режима кэширования не найдена. 13 апреля 11:51:47 зеленого ядра: [171067.153728] sd 17:0:0:0: [sdb] Предполагая кэш диска: запись через 13 апреля 11:51:47 зеленого ядра: [171067.159028] sdb: sdb1 13 апреля 11:51:47 зеленого ядра: [171067.164760] sd 17:0:0:0: [sdb] страницы режима кэширования не найдено. 13 апреля 11:51:47 зеленого ядра: [171067.164768] sd 17:0:0:0: [sdb] Предполагая кэш диска: запись через 13 апреля 11:51:47 зеленого ядра: [171067.164775] sd 17:0:0:0: [sdb] Встроенный съемный диск SCSI. 13 апреля 11:51:47 зеленого ядра: [171067.635474] FAT-fs (sdb1): Громкость не была должным образом размонтирована. Некоторые данные могут быть повреждены. Пожалуйста, запустите fsck. Apr 13 11:51:47 greeneggs udisksd[2249]: Mounted /dev/sdb1 на /run/media/saml/HOLA от имени uid 1000
Теперь проверка файлов устройств в разделе [114509]/dev[114510] показывает следующее:
sudo path/to/file
$ ls -l /dev/sd*. brw-rw----. 1 корневой диск 8, 0 Apr 13 09:17 /dev/sda brw-rw----. 1 корневой диск 8, 1 Apr 13 09:17 /dev/sda1 brw-rw----. 1 корневой диск 8, 2 Apr 13 09:17 /dev/sda2 brw-rw----. 1 самл 8, 16 апреля 13 11:51 /dev/sdb brw-rw----. 1 корневой диск 8, 17 апреля 13 11:51 /dev/sdb1
Если быть более откровенным
sudo chmod +x /usr/local/bin/rename.pl
, то это сработает, но, скорее всего, эти правила будут применяться к каждому блочному устройству, которое не совсем то, что нам нужно. Чтобы немного сузить его фокус, можно использовать [114048]ATTRS{...}==...[114049] атрибут правила для ограничения применения к конкретному оборудованию. В моем случае я хочу, чтобы она применялась только к одному USB-флешке.
Step #1 - uniquely id device
So to start we can use this command once we've mounted the particular thumbdrive so so we can use [114050]udevadm[114051] to scrutinze it, ощупывая его на предмет конкретных атрибутов.
Здесь я концентрируюсь на рассмотрении атрибутов "производитель" и "продукт".
ПРИМЕЧАНИЕ:
ATTRS{...}==...[114055] атрибуты - это атрибуты родительских устройств в иерархии, откуда в конечном итоге берется файл этого устройства. Поэтому в нашем случае добавляемое блочное устройство [114056]/dev/sdb[114057] поступает от родительского устройства USB, поэтому мы ищем, например, атрибуты этого родительского устройства, [114058]ATTRS{manufacturer}=...[114059].
Итак, в данном примере я выбираю производителя "JMTek" и продукт "USBDrive".
Шаг #2 - модификация .rules flie
Итак, с этими дополнительными битами в руках, давайте добавим их в наш оригинальный [114060].rules[114061] файл.
Шаг #3 - Попробуем
Теперь, когда мы перезагрузим наши правила и снова размонтируем/удалим/восстановим USB флешку, то получим следующее правило:
Однако, если я вставлю совершенно другое устройство:
Для номера 2, если у вас есть физический интерфейс на мосту, мост должен быть то, что имеет IP-адрес, а не физический интерфейс. Я подозреваю, что ваш ETH1 все еще есть адрес. Попробуйте назначить IP-адрес virbr0
вместо этого. Итак, делайте IP Addr del
из , а затем
, а затем IP Addr Add
с той же IP / NetMask на Virbr0
. Также используйте IP-маршрут Show
, чтобы убедиться, что маршрут по умолчанию не будет пытаться выйти из , а также
. Обратите внимание, что eth1
все еще должно быть, он просто не должен иметь IP-адрес.
Я подозреваю, что также поможет прояснить номер 1, предполагая, что ваша виртуальная машина получает подходящий IP для достижения сети.