URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 46726
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Как отключить автомонтирование Flash в Linux"

Отправлено auto_tips , 15-Дек-08 10:30 
Для отключения:

   sudo sh -c 'echo ATTRS{removable}=="1", SUBSYSTEMS=="block", NAME="" > /etc/udev/rules.d/99-block-storage.rules'


Для включения:

   sudo rm /etc/udev/rules.d/99-block-storage.rules

Или закоментировать содержимое этого файла.

Разумеется все от root. Перезагружаться, или что-то перезапусткать не нужно.

Выглядит наше правило:
   ATTRS{removable}=="1", SUBSYSTEMS=="block", NAME=""

ATTRS{removable}=="1"
Нужны только отключаемые устройства (что бы жесткий диск случайно не отключить).

SUBSYSTEMS=="block"
Нас интересуют устройства хранения данных. (Я пробовал другие подсистемы и драйверы,
но в этом случае отдельные партиции все равно подключались).

NAME=""
Собственно действие. Не создавать файл устройства.


URL: http://dik123.blogspot.com/2008/12/linux_13.html
Обсуждается: http://www.opennet.ru/tips/info/1872.shtml


Содержание

Сообщения в этом обсуждении
"Как отключить автомонтирование Flash в Linux"
Отправлено IceMan , 15-Дек-08 10:30 
Не хватает только совета dd if=/dev/zero of=/dev/hda bs=512 count=1, чтоб точно флешки не подключались. =)

"Как отключить автомонтирование Flash в Linux"
Отправлено Dima L , 15-Дек-08 17:01 
:)
Вообще панацея!

только в последних ядрах все блочные устройства называются sd* а не hd* даже IDE
симлинки на hd* уже многие не делают


"Как отключить автомонтирование Flash в Linux"
Отправлено Аноним , 16-Дек-08 14:25 
Как ядро соберёшь, так и поедешь. Не вижу ничего крамольного в том, что ide устройства работают через sd*, хотя по привычке собираю, чтобы работали через hda. Разницы не заметил :)

"Как отключить автомонтирование Flash в Linux"
Отправлено vadiml , 15-Дек-08 10:55 
Есть такой ключик -- noauto, советую поискать

"Как отключить автомонтирование Flash в Linux"
Отправлено Dima L , 15-Дек-08 16:50 
про fstab что ли? ... а 2 флешки ... а 3
а разделы на этих флешках ...

"Как отключить автомонтирование Flash в Linux"
Отправлено vadiml , 15-Дек-08 19:57 
> про fstab что ли?

не только, всё параметры fstab можно использовать для прописывания правил


"Как отключить автомонтирование Flash в Linux"
Отправлено Dima L , 15-Дек-08 23:33 
Можно подробней?

"Как отключить автомонтирование Flash в Linux"
Отправлено Dima L , 15-Дек-08 23:41 
Хочу отметить что в данном случае отключение автомантирование это как побочный эффект, главная задача вырубить устройство на корню. так что бы ни dd ни cat не могли получить к нему доступ ни на запись ни на чтение, при этом желательно не пересобирать ядро. А с формулировкой заголовков у меня видимо проблемы :-/

"Как отключить автомонтирование Flash в Linux"
Отправлено vitek , 16-Дек-08 07:01 
ну это только root (или владелец) и группа может.
а рут и обратную операцию может провести.
можно посмотреть ещё и hal. например, (из man, думать лень :-))
hal-lock --interface org.freedesktop.Hal.Device.Storage --exclusive --run /path/to/part-foo-program
+ PolicyKit

а вот если сочетать все 3 механизма, то можно интересных результатов добиться.


"Как отключить автомонтирование Flash в Linux"
Отправлено Dima L , 16-Дек-08 12:34 
>а вот если сочетать все 3 механизма, то можно интересных результатов добиться.

Об этом я писал в оригенале в самом конце :)
http://dik123.blogspot.com/2008/12/linux_13.html


"Как отключить автомонтирование Flash в Linux"
Отправлено vitek , 17-Дек-08 00:23 
да. прочитал. (надо бы ссылки покрупнее. а то интересное пропускается :-))
последний абзац - аналогичен моему комментарию.

хотелось бы продолжить тему... с самыми невероятными преподложениями и реализациями! :-)
итак? :-D


"Как отключить автомонтирование Flash в Linux"
Отправлено Аноним , 15-Дек-08 17:22 
без перезагрузки правил часто не работает.
sudo udevadm control --reload-rules

"Как отключить автомонтирование Flash в Linux"
Отправлено Dima L , 15-Дек-08 17:32 
>без перезагрузки правил часто не работает.
>sudo udevadm control --reload-rules

Возможно. В моих тестах все работало без перезагрузки правил. Но видимо зависит от версии udev.


"Раздел полезных советов: Как отключить автомонтирование Flas..."
Отправлено iZEN , 15-Дек-08 21:09 
>Для отключения:
>
>   sudo sh -c 'echo ATTRS{removable}=="1", SUBSYSTEMS=="block", NAME="" > /etc/udev/rules.d/99-block-storage.rules'
>

Как всегда линуксойды в своём репертуаре: нужно так усложнить систему, чтобы в ней мог разобраться только тот, кто её усложнял. :)



"Раздел полезных советов: Как отключить автомонтирование Flas..."
Отправлено Dima L , 15-Дек-08 23:13 
Все для Вас :)

Это строка специально для тех кому не нужно или не хочется разбираться, просто скопировал в терминал и все.
Кроме людей, которым все кажется очень сложным, есть еще и те кому все просто и понятно. К кагой группе себя относить, каждый выбирает сам.


"Раздел полезных советов: Как отключить автомонтирование Flas..."
Отправлено vitek , 16-Дек-08 07:11 
здесь то как раз и не сложно.. да и не сложно правила для udev подправить, написать.....
зато действительно гибкая система.

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

в общем много чего напридумать можно.


"Как отключить автомонтирование Flash в Linux"
Отправлено Аноним , 16-Дек-08 09:30 
А как отключать автомонтирование флешки по её ID или наоборот автомонтирование только по одному ID?

"Как отключить автомонтирование Flash в Linux"
Отправлено Dima L , 16-Дек-08 12:30 
>А как отключать автомонтирование флешки по её ID или наоборот автомонтирование только
>по одному ID?

Здесь очень хорошо написано:
http://reactivated.net/writing_udev_rules.html

Если в двух словах то добавить ATTR{параметр}==значение c нужным параметром
тогда можно блокировать по ID, производителю, размеру и т.д.

Нужный ATTR узнается командой:
udevinfo -a -p $(udevinfo -q path -n /dev/устройство)

>или наоборот автомонтирование только по одному ID?

поставить вместо равно (==) неравно (!=)

Какой именно параметр отвечает за ID c не скажу, надо поэксперементировать с несколькими флешками.


"Как отключить автомонтирование Flash в Linux"
Отправлено Аноним , 16-Дек-08 14:31 
>Нужный ATTR узнается командой:
>udevinfo -a -p $(udevinfo -q path -n /dev/устройство)

уже не везде, с к сожалению :(
В новой версии udev-130 (archlinux)
нет команды udevinfo, сейчас работает вариант

udevadm info --query=all --name=/dev/XXXXX

и уже не так развернуто по количеству инфы



"Как отключить автомонтирование Flash в Linux"
Отправлено Dima L , 16-Дек-08 14:43 
>>Нужный ATTR узнается командой:
>>udevinfo -a -p $(udevinfo -q path -n /dev/устройство)
>
>уже не везде, с к сожалению :(
>В новой версии udev-130 (archlinux)
>нет команды udevinfo, сейчас работает вариант
>
>udevadm info --query=all --name=/dev/XXXXX
>
>и уже не так развернуто по количеству инфы

Не беда :)

udevadm info -a -p $(udevadm info --query=path --name=/dev/XXXXX)


"Как отключить автомонтирование Flash в Linux"
Отправлено void , 18-Дек-08 17:40 
как это всё похоже на ковыряние в реестре виндоса.
куда подевалась *nix-like простота?

"Как отключить автомонтирование Flash в Linux"
Отправлено vitek , 18-Дек-08 22:40 
АБСОЛЮТНО НЕ ПОХОЖЕ!

или ы о том, то в данном вопросе знаете столько же, сколько и ковыряльщики реестра?


"Как отключить автомонтирование Flash в Linux"
Отправлено Dima L , 20-Дек-08 14:32 
До этого метода я додумался после прочтения, как современный Linux работает с устройствами (обзорно) причем не конкретно с флешками, а с любыми ...

Если бы я (или кто-либо другой) прочитал, как современный Windows работает с устройствами, то первым делом сразу бы полез в реестр и выставил совершенно очевидный ключик:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsbStor
Start = 4

И да я даже знал что 4 значит выключить! и все это просто прочитав документацию по работе с устройствами! (если такая документация вообще доступна простым смертным, я не имею ввиду DDK)

P.S. На сайте, на котором я взял этот ключик написано, что иногда он опять сбрасывается в 3 (что конечно же значит включить!) и флешки подключаются как ни в чем не бывало. если кому интересно:
http://www.intelliadmin.com/blog/2007/01/disable-usb-flash-d...
На мой взгляд читается как анекдот :)


"Как отключить автомонтирование Flash в Linux"
Отправлено Michael Shigorin , 23-Дек-08 12:47 
>как это всё похоже на ковыряние в реестре виндоса.
>куда подевалась *nix-like простота?

Хором говорим "спасибо" гопоте из freedesktop.org :[


"Как отключить автомонтирование Flash в Linux"
Отправлено Эргил , 19-Дек-08 21:51 
Осталось понять ЗАЧЕМ?

"Как отключить автомонтирование Flash в Linux"
Отправлено СуперАноним , 20-Дек-08 11:45 
В организациях, которые заботятся о сохранности информации ДСП (Для Служебного Пользования).

"Как отключить автомонтирование Flash в Linux"
Отправлено pavlinux , 20-Дек-08 21:16 
В организациях где заботятся, комп живёт в отдельной комнате, в шкафе, у юзеров только клава со скоростью набора 1 символ в 2 сек. и монитор на 40Hz дабы не думали долго,
а за спиной камера, пишет куда надо, на время нахождения в комнате!
  

"Как отключить автомонтирование Flash в Linux"
Отправлено Dima L , 20-Дек-08 14:08 
По ссылке написано :)

"Как отключить автомонтирование Flash в Linux"
Отправлено Undir , 23-Дек-08 11:53 
В Fedora начиная с 8 версии запрещать и раздавать права можно через PolicyKit:
1. Запрещаем монтирование/размонтирование всем кроме рута:
В файле
/usr/share/PolicyKit/policy/hal-storage.policy
ищем секцию:
<action id="org.freedesktop.hal.storage.mount-removable">
заменяем <allow_active>yes</allow_active>
на <allow_active>no</allow_active>
Перезапуск не требуется.
Если пользователь вставляет флешку, то происходит запрос пароля рута.
2. Разрешаем (если нужно) некоторым пользователям монтирование:
/etc/PolicyKit/PolicyKit.conf
меняем:
<config version="0.1">
</config>
на:
<config version="0.1">
      <match action="org.freedesktop.hal.storage.mount-removable">
         <match user="user1|user2|user3">
           <return result="yes"/>
         </match>
     </match>
</config>