Автор Тема: Добавление Пользователя в группу disk... (решено)  (Прочитано 1972 раз)

Оффлайн San

  • Участник
  • *
  • Сообщений: 745
Основной Вопрос:
 - Чем может быть чревато добавление Пользователя в группу disk (id (6) - которая)?

Это не сервер, а обычный домашний компьютер с ALT Linux 7.0.5 KDesktop  (Centaurea Montana)
Данный ход нужен! (полазил по интернету - возможно единственное решение), если интересно почему могу изложить...
« Последнее редактирование: 07.02.2016 10:16:13 от San »

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Ну, от имени этого пользователя, например, можно будет стереть всё (не напрямую, а обратившись к диску, на котором записана ОС).

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Данный ход нужен! (полазил по интернету - возможно единственное решение), если интересно почему могу изложить...

Изложите.

Оффлайн San

  • Участник
  • *
  • Сообщений: 745
Изложите.
Предыстория - Использование физического диска в VirtualBox:
http://mnorin.com/ispol-zovanie-fizicheskogo-diska-v-virtualbox.html
Решения - Их Два:
Пользователя в группу disk или запускVirtualBox под su -, что думаю не намного то и лучше...

PS: Возможно решений и больше, но я не нашел...

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Ну, можно, например сделать так, что-бы флешка (/dev/sdb1...) имела группу не root, а например, vboxuser или vbox (в зависимости от версии virtualbox)

Оффлайн San

  • Участник
  • *
  • Сообщений: 745
Ну, можно, например сделать так, что-бы флешка (/dev/sdb1...) имела группу не root, а например, vboxuser или vbox (в зависимости от версии virtualbox)
А как это сделать? Тупо сменить права и разрешения для /dev/sdХх ???

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
А как это сделать?
Написать правило udev

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Написать правило udev

Такое?
KERNEL=="sdX", GROUP="vboxuser"

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259

Оффлайн San

  • Участник
  • *
  • Сообщений: 745
Ну, от имени этого пользователя, например, можно будет стереть всё (не напрямую, а обратившись к диску, на котором записана ОС).
Угу, а я и думаю, почему у меня blkid и fdisk под пользователем работать стали!?  :-)
Такое?
KERNEL=="sdX", GROUP="vboxuser"
Да. Получилось. Еще дополнил знаниями из интернета...
http://tty.org.ru/node/7
Написать правило udev
Всем Спасибо! Сделал, работает. Правда еще пришлось сменить владельца на сам файл drive.vmdk , т.к. команда:
# VBoxManage internalcommands createrawvmdk -filename drive.vmdk -rawdisk /dev/sdbНе пожелала работать из под пользователя, только из по Рута...

Сделать то сделал, опробовал... Сейчас сижу и думаю: - А За Чем!?
За Чем!? Я это делал, если виртуальная система ВСЕ равно НЕ использует САМ Настоящий диск! Она его типа использует через файл устройства, который находится уже на диске ХОСТА. Пойду искать Русскоязычный форум ВиртуалБоксовцев... Может я не так что то понял?

Оффлайн sirares

  • Участник
  • *
  • Сообщений: 236
Сделать то сделал, опробовал... Сейчас сижу и думаю: - А За Чем!?
За Чем!? Я это делал, если виртуальная система ВСЕ равно НЕ использует САМ Настоящий диск! Она его типа использует через файл устройства, который находится уже на диске ХОСТА. Пойду искать Русскоязычный форум ВиртуалБоксовцев... Может я не так что то понял?
На самом деле этот файл устройства являестся своеобразным симлинком на hard, который все же используется напрямую - со всеми разделами и можно убить хостовую систему, а если добавить  в код: # VBoxManage internalcommands createrawvmdk -filename drive.vmdk -rawdisk /dev/sdb еще, например, параметр: "-partitions 4,5" и привести к виду: # VBoxManage internalcommands createrawvmdk -filename drive.vmdk -rawdisk /dev/sdb -partitions 4,5, то мы получим доступ не ко всему диску а только к разделам 4 и 5 соответственно, т.е. остальные разделы(1, 2, 3...) будут недоступны для изменений и вы на них не сотрете информацию из виртуалки - "не убъете систему".
Вообще я так ставил вторую систему на реальный хард - из-под виртуалки первой системы - тут не все однозначно, но некоторые системы ставятся, также можно сделать симлинк на usbflash и проверять загрузку с usbflash live системы на virtualbox(мне так проще, чем каждый раз перезагружаться после правки загрузочных конфигов).
Дайте команды:
VBoxManage
VBoxManage internalcommands
VBoxManage internalcommands listpartitions
VBoxManage internalcommands listpartitions -rawdisk /dev/sda
в первом, втором и третьем случае, у вас будет ошибка синтаксиса и вывалится окно с помощью по доступным командам и синтаксису, в четвертом - в выводе будет состояние вашего харда, как его видит виртуалбокс.
Читайте мануал в pdf - внутри каждого пакета установки есть, там даже оглавление весьма любопытное - можно многое чего узнать, а вообще виртуалбох весьма крутая программа - много возможностей и сетевых и аппаратных, можно и из других систем виртуализации образы конвертировать, и запускать гостевую систему без GUI, и др.
P.S. Когда-то на версию 2.х был мануал на русском языке в pdf, сейчас  нашел в сети русский мануал в chm,

Оффлайн San

  • Участник
  • *
  • Сообщений: 745
Спасибо с этим вроде разобрался.

Внезапно вылезла новая проблема, вроде ни чего не экспериментировал?
При включении перестало работать правило udev написанное для физического диска. Присвоение прав на Данный диск группе "vboxusers"...
$ cat /etc/udev/rules.d/10-local.rules
KERNEL=="sdd", GROUP="vboxusers"
Правило работало, я установил гостевую, несколько раз перезагружался и выключал компьютер, а тут вчера вдруг перестало работать. Из под пользователя выдает VERR_ACCESS_DENIED... В логах криминального н и чего не увидел?
$ VBoxManage internalcommands listpartitions -rawdisk /dev/sdd
VBoxManage: error: Cannot open the raw disk: VERR_ACCESS_DENIED
$ journalctl -b | grep sdd
янв 22 10:53:43 desk-alsanlin16.localdomain kernel: sd 3:0:0:0: [sdd] 234441648 512-byte logical blocks: (120 GB/111 GiB)
янв 22 10:53:43 desk-alsanlin16.localdomain kernel: sd 3:0:0:0: [sdd] Write Protect is off
янв 22 10:53:43 desk-alsanlin16.localdomain kernel: sd 3:0:0:0: [sdd] Mode Sense: 00 3a 00 00
янв 22 10:53:43 desk-alsanlin16.localdomain kernel: sd 3:0:0:0: [sdd] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
янв 22 10:53:43 desk-alsanlin16.localdomain kernel:  sdd: sdd1
янв 22 10:53:43 desk-alsanlin16.localdomain kernel: sd 3:0:0:0: [sdd] Attached SCSI disk
$ journalctl -b | grep udev
янв 22 10:53:43 desk-alsanlin16.localdomain systemd-udevd[121]: starting version 201
янв 22 10:53:43 desk-alsanlin16.localdomain systemd[1]: Starting udev Kernel Socket.
янв 22 10:53:43 desk-alsanlin16.localdomain systemd[1]: Listening on udev Kernel Socket.
янв 22 10:53:43 desk-alsanlin16.localdomain systemd[1]: Starting udev Control Socket.
янв 22 10:53:43 desk-alsanlin16.localdomain systemd[1]: Listening on udev Control Socket.
янв 22 10:53:43 desk-alsanlin16.localdomain systemd[1]: Starting udev Coldplug all Devices...
янв 22 10:53:43 desk-alsanlin16.localdomain systemd[1]: Starting udev Kernel Device Manager...
янв 22 10:53:43 desk-alsanlin16.localdomain systemd-udevd[300]: starting version 201
янв 22 10:53:43 desk-alsanlin16.localdomain systemd[1]: Started udev Kernel Device Manager.
янв 22 10:53:43 desk-alsanlin16.localdomain systemd[1]: Started udev Coldplug all Devices.
янв 22 10:53:43 desk-alsanlin16.localdomain systemd[1]: Starting udev Wait for Complete Device Initialization...
янв 22 10:53:43 desk-alsanlin16.localdomain systemd-udevd[321]: renamed network interface eth0 to enp4s1
янв 22 10:53:43 desk-alsanlin16.localdomain systemd-udevd[321]: renamed network interface eth0 to enp4s1
янв 22 10:53:43 desk-alsanlin16.localdomain systemd[1]: Started udev Wait for Complete Device Initialization.
# su -
# VBoxManage internalcommands listpartitions -rawdisk /dev/sdd
Number  Type   StartCHS       EndCHS      Size (MiB)  Start (Sect)
1       0x07  0   /32 /33  1023/254/63        114472         2048
Попробовал проверить под root - работает. Машина нужна для срочных экспериментов с обновлениями Виндовс, по тому ни чего умнее пока не придумал, как напрямую забрать права на Диск sdd:
# cd / ; chown -R root:vboxusers dev/sdd ; chown -R root:vboxusers dev/sdd1
# exit
logout
$ VBoxManage internalcommands listpartitions -rawdisk /dev/sdd
Number  Type   StartCHS       EndCHS      Size (MiB)  Start (Sect)
1       0x07  0   /32 /33  1023/254/63        114472         2048
$ cat /etc/udev/rules.d/10-local.rules
KERNEL=="sdd", GROUP="vboxusers"
Машина права получила, диск работает, но не знаю на сколько это правильно?
Да и ко всему ТАКОЕ разрешение стирается после перезагрузки.

Подскажите как поступить дальше? Где я накосячил то хоть?

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
$ cat /etc/udev/rules.d/10-local.rules

А Цифирка то маленькая! Переименуйте в 99-local.rules

Оффлайн San

  • Участник
  • *
  • Сообщений: 745
А Цифирка то маленькая! Переименуйте в 99-local.rules
Спасибо Огромное! Заработало!
$ su -
# cd /etc/udev/rules.d/
# mv 10-local.rules 99-local.rules
# ls -lh
итого 160K
-rw-r--r-- 1 root root 1,6K июл 16  2012 11-hplj10xx.rules
-rw-r--r-- 1 root root 132K дек 14 21:58 25-libsane.rules
-rw-r--r-- 1 root root  452 дек  8 16:38 60-raw.rules
-rw-r--r-- 1 root root 1,1K янв 20 09:35 70-persistent-cd.rules
-rw-r--r-- 1 root root  311 окт 29 00:15 90-qemu-kvm.rules
-rw-r--r-- 1 root root   79 авг 23  2013 99-alt-udisks2-media-mount-point.rules
-rw-r--r-- 1 root root   33 янв 22 16:02 99-local.rules
-rw-r--r-- 1 root root  204 мар 26  2013 99-x11-keyboard.rules
# reboot
..
$ VBoxManage internalcommands listpartitions -rawdisk /dev/sdd
Number  Type   StartCHS       EndCHS      Size (MiB)  Start (Sect)
1       0x07  0   /32 /33  1023/254/63        114472         2048
$ ls -lh /dev
..
brw-rw----  1 root vboxusers   8,  48 янв 22 16:16 sdd
brw-rw----  1 root disk        8,  49 янв 22 16:16 sdd1
..
Остался только пару вопросов:
 - Первоначально, когда создал правило, оно же отрабатывало правильно?
 - Что случилось? Кто нарушил "порядок" в запуске? И как бы это можно было в логах увидеть?

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 182
  • antohami@
Кто нарушил "порядок" в запуске?

Видимо /lib/udev/rules.d/80-udisks2.rules