The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Как отключить автомонтирование Flash в Linux
Для отключения:

   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=""
Собственно действие. Не создавать файл устройства.


Дополнение от посетителя Undir:

В 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>
 
15.12.2008 , Автор: Dima L , Источник: http://dik123.blogspot.com/2008/12/...
Ключи: mount, flash
Раздел:    Корень / Администратору / Система / Диски и файлы / Монтирование

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, IceMan (?), 10:30, 15/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не хватает только совета dd if=/dev/zero of=/dev/hda bs=512 count=1, чтоб точно флешки не подключались. =)
     
     
  • 2.6, Dima L (?), 17:01, 15/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    :)
    Вообще панацея!

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

     
     
  • 3.19, Аноним (19), 14:25, 16/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Как ядро соберёшь, так и поедешь. Не вижу ничего крамольного в том, что ide устройства работают через sd*, хотя по привычке собираю, чтобы работали через hda. Разницы не заметил :)
     

  • 1.2, vadiml (?), 10:55, 15/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Есть такой ключик -- noauto, советую поискать
     
     
  • 2.5, Dima L (?), 16:50, 15/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    про fstab что ли? ... а 2 флешки ... а 3
    а разделы на этих флешках ...
     
     
  • 3.9, vadiml (?), 19:57, 15/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    > про fstab что ли?

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

     
     
  • 4.12, Dima L (?), 23:33, 15/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Можно подробней?
     
  • 4.13, Dima L (?), 23:41, 15/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Хочу отметить что в данном случае отключение автомантирование это как побочный эффект, главная задача вырубить устройство на корню. так что бы ни dd ни cat не могли получить к нему доступ ни на запись ни на чтение, при этом желательно не пересобирать ядро. А с формулировкой заголовков у меня видимо проблемы :-/
     
     
  • 5.14, vitek (??), 07:01, 16/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    ну это только root (или владелец) и группа может.
    а рут и обратную операцию может провести.
    можно посмотреть ещё и hal. например, (из man, думать лень :-))
    hal-lock --interface org.freedesktop.Hal.Device.Storage --exclusive --run /path/to/part-foo-program
    + PolicyKit

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

     
     
  • 6.18, Dima L (?), 12:34, 16/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >а вот если сочетать все 3 механизма, то можно интересных результатов добиться.

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

     
     
  • 7.22, vitek (??), 00:23, 17/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    да. прочитал. (надо бы ссылки покрупнее. а то интересное пропускается :-))
    последний абзац - аналогичен моему комментарию.

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

     

  • 1.7, Аноним (-), 17:22, 15/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    без перезагрузки правил часто не работает.
    sudo udevadm control --reload-rules
     
     
  • 2.8, Dima L (?), 17:32, 15/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >без перезагрузки правил часто не работает.
    >sudo udevadm control --reload-rules

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

     

  • 1.10, iZEN (ok), 21:09, 15/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Для отключения:
    >
    >   sudo sh -c 'echo ATTRS{removable}=="1", SUBSYSTEMS=="block", NAME="" > /etc/udev/rules.d/99-block-storage.rules'
    >

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


     
     
  • 2.11, Dima L (?), 23:13, 15/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Все для Вас :)

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

     
  • 2.15, vitek (??), 07:11, 16/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    здесь то как раз и не сложно.. да и не сложно правила для udev подправить, написать.....
    зато действительно гибкая система.

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

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

     

  • 1.16, Аноним (-), 09:30, 16/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как отключать автомонтирование флешки по её ID или наоборот автомонтирование только по одному ID?
     
     
  • 2.17, Dima L (?), 12:30, 16/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >А как отключать автомонтирование флешки по её ID или наоборот автомонтирование только
    >по одному ID?

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

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

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

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

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

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

     
     
  • 3.20, Аноним (-), 14:31, 16/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >Нужный ATTR узнается командой:
    >udevinfo -a -p $(udevinfo -q path -n /dev/устройство)

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

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

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


     
     
  • 4.21, Dima L (?), 14:43, 16/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >>Нужный 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)

     

  • 1.23, void (??), 17:40, 18/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    как это всё похоже на ковыряние в реестре виндоса.
    куда подевалась *nix-like простота?
     
     
  • 2.24, vitek (??), 22:40, 18/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    АБСОЛЮТНО НЕ ПОХОЖЕ!

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

     
  • 2.28, Dima L (?), 14:32, 20/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    До этого метода я додумался после прочтения, как современный 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-drives.html
    На мой взгляд читается как анекдот :)

     
  • 2.31, Michael Shigorin (ok), 12:47, 23/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    >как это всё похоже на ковыряние в реестре виндоса.
    >куда подевалась *nix-like простота?

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

     

  • 1.25, Эргил (?), 21:51, 19/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Осталось понять ЗАЧЕМ?
     
     
  • 2.26, СуперАноним (?), 11:45, 20/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    В организациях, которые заботятся о сохранности информации ДСП (Для Служебного Пользования).
     
     
  • 3.29, pavlinux (ok), 21:16, 20/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    В организациях где заботятся, комп живёт в отдельной комнате, в шкафе, у юзеров только клава со скоростью набора 1 символ в 2 сек. и монитор на 40Hz дабы не думали долго,
    а за спиной камера, пишет куда надо, на время нахождения в комнате!
      
     
  • 2.27, Dima L (?), 14:08, 20/12/2008 [^] [^^] [^^^] [ответить]  
  • +/
    По ссылке написано :)
     

  • 1.30, Undir (?), 11:53, 23/12/2008 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В 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>
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру