Полностью отключить доступ CD/DVD Rom для всех пользователей в Ubuntu 12.04 LTS?

Мы используем Ubuntu 12.04 LTS. Ниже приводится вывод из uname -a команда: Linux trainingmac1 3.2.0-32-generic #51-Ubuntu SMP Wed Sep 26 21:33:09 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

Мы являемся учебным институтом и стараемся отключить привод CD/DVD для всех пользователей ноутбуков.

Похоже, что ни одна из перечисленных здесь опций не работает на Ubuntu 12.04 LTS. Как отключить CD-ROM и USB для обычных пользователей Linux?

Мы перепробовали все следующие подходы,

  1. Использование системного BIOS

    К сожалению, в BIOS ноутбука нет опции отключения DVD-привода. Он имеет только возможность отключить загрузку с DVD, что мы и сделали

  2. Использование / etc / group

    Согласно этому документу http://ubuntuguide.org/wiki/Ubuntu:Precise, следующее примечание,

    "Чтобы использовать cdrom, вы должны принадлежать к cdrom. Чтобы использовать устройства с возможностью горячей замены, вы должны принадлежать к plugdev".

    Используемый нами пользователь Unix (user tngusr1) не принадлежит ни одной из этих групп в файле / etc / group.

    Результат: пользователь может получить доступ к CD/DVD-ROM, и если пользователь вставит пустой диск (CD/DVD), он загрузит диск, а если установлен brasero, он сможет записать новый диск.

  3. Использование chmod в / media и / cdrom

    Изменены разрешения для / cdrom и / media

    • chmod 000 /cdrom
    • chmod 000 /media

    Результат: пока нет разницы. В результате пользователь помещает диск (CD/DVD) с содержимым на нем, он не загружается. Но если пользователь вставит пустой диск (CD/DVD), он загрузит диск, а если установлен brasero, пользователь сможет записать новый диск.

  4. Отключить опрос Хэла на CD-ROM

    Основываясь на шагах, перечисленных в следующем документе, "отключить опрос Хэла на CD-ROM" href: www.ehow.com/how_7509420_disable-hals-cdrom-polling.html

    shell> hal-disable-polling --device / dev / scd0

    Результат: без разницы. Чистый диск загружается как обычно, и пользователь может записать новый DVD-диск

  5. Отключить автомонтаж для CDROM

    На основе документа здесь отключите AutoMount для CDROM

    Результат: может быть полезным для новичка. Но любой, кто имеет опыт работы с Unbuntu в течение 1 месяца, знает, как включить его обратно, загрузить чистый диск CDR (CD/DVD) и записать диск. Также, если пользователь открывает проводник из меню, в левом дереве доступен пустой компакт-диск, указывающий, что компакт-диск успешно загружен.

  6. Определить пользовательскую точку монтирования

    Определил пользовательскую точку монтирования на основе деталей здесь,

    Добавил следующую строку в / etc / fstab, надеясь, что новый CD будет монтироваться в / media, и так как мы это сделали chmod 000 /media надеясь что он не загрузит диск

    /dev/cdrom /media auto user,noauto,exec,utf8 0

    Результат: без разницы. Чистый диск загружается как обычно, и пользователь может записать новый DVD-диск

  7. Управление через правила UDEV

    Создал правило UDEV в папке "/etc/udev/rules.d/81-cddrive.rules" следующим образом:

    ENV{ID_CDROM}=="?*", RUN+="/opt/devscripts/checkcd.sh"

    План был, когда мы определим, что был вызван "/opt/devscripts/checkcd.sh", после чего автоматически перезапустим систему.

    Результат: без разницы. До сих пор, хотя мы вставляли пустой диск несколько раз, каждый раз диск загружается, но сценарий никогда не вызывается. Не уверен, что мы используем подход с попытками использовать правила UDV для мониторинга использования CDROM.

РЕДАКТИРОВАТЬ (Новый): 8. Больше попыток с помощью правил инициализации UDEV

8.1) Модифицировал следующие файлы и прокомментировал все строки, которые создавали сопоставления / dev для приводов CD/DVD Rom,

  • /lib/udev/rules.d/75-cd-aliases-generator.rules и
  • /etc/udev/rules.d/70-persistent-cd.rules

8.2) Создать новый файл здесь /etc/udev/rules.d/10-custom-cd.rules и добавить следующие правила,

SUBSYSTEMS=="scsi", DRIVERS=="sr", OPTIONS+="ignore_device",OPTIONS+="last_rule" 

SUBSYSTEM=="block", ENV{ID_CDROM}=="?*", ENV{ID_PATH}=="pci-0000:00:1f.2-scsi-5:0:0:0", OPTIONS+="ignore_device", OPTIONS+="last_rule"

Попробовал и с этим, удалив SUBSYSTEMS == "scsi"

DRIVERS=="sr", OPTIONS+="ignore_device", OPTIONS+="last_rule"

8.3) Удалены все следующие записи / dev,

sudo rm /dev/cdrom /dev/cdrw /dev/dvdrw /dev/dvd /dev/sr0

Примечание: "/ dev / sr0" продолжает создаваться автоматически, а другие папки создаются заново после недавних обновлений. Но все же, если они работали, можете продолжать удалять их /etc/rc.local

Результат: с комментариями к правилам UDEV, относящимся к CDROM, и после перезапуска компьютера снова вручную удалите / dev / sr0 и при отсутствии активных правил UDEV, связанных с CDROM, за исключением вновь созданных OPTIONS+="ignore_device" и без записей в / dev, Чистый диск загружается как обычно, и пользователь может записать новый DVD Rom


Перепробовал все подходы, перечисленные в интернете. Пожалуйста, предоставьте возможность отключить установку cdrom на ноутбуке. Цель состоит в том, чтобы, если пользователь вставил диск любого типа (пустой, аудио, с файлами), ubuntu вообще не должен монтировать cdrom. Это нормально, если cdrom отключен для всех пользователей.

Редактировать: добавление информации UDEV для информации об устройстве. После выхода из "udevadm"

  • (другая информация родительского уровня)
    • глядя на родительское устройство '/devices/pci0000:00/0000:00:1f.2/host5/target5:0:0/5:0:0:0':
    • KERNELS == "5: 0: 0: 0"
    • SUBSYSTEMS == "SCSI"
    • DRIVERS == "стер"
    • ATTRS {device_blocked}=="0"
    • ATTRS {тип}=="5"
    • ATTRS {scsi_level}=="6"
    • ATTRS {vendor}=="hp"
    • ATTRS {модель}=="DVDWBD TS-LB23P"
    • ATTRS {}== числа оборотов "0100"
    • ATTRS {состояние}=="работает"
    • ATTRS {таймаут}=="30"
    • ATTRS {iocounterbits}=="32"
    • ATTRS {iorequest_cnt}=="0x11d"
    • ATTRS {iodone_cnt}=="0x114"
    • ATTRS {ioerr_cnt}=="0х2"
    • ATTRS {evt_media_change}=="0"
    • ATTRS {dh_state}=="отделить"
    • ATTRS {queue_depth}=="1"
    • ATTRS {queue_ramp_up_period}=="120000"
    • ATTRS {queue_type} нет == "нет
  • (другая информация уровня ребенка)

3 ответа

Вы можете поместить модуль ядра под названием sr_mod в черный список modprobe. Это предотвратит автозагрузку при запуске системы:

echo "blacklist sr_mod" >> /etc/modprobe.d/blacklist-sr_mod.conf

Без загруженного драйвера SCSI cdrom система вообще не обнаружит устройство. Но это решение не будет работать против некоторых опытных пользователей, которые могут загрузить модуль вручную, вызвав sudo modprobe sr_mod из терминала.

Если вы ждете более радикального решения, вы можете просто удалить файл модуля из файловой системы:

rm /lib/modules/$(uname -r)/kernel/drivers/scsi/sr_mod.ko

Но не забудьте сделать резервные копии, потому что вы вообще не сможете использовать диск cd-rom после следующей перезагрузки после этой операции.

Вместо того, чтобы отключить устройство, возможно, вы отключите доступ к устройству? Команда eject имеет опцию -i, поэтому вы можете попробовать:

eject -i on /dev/sr0 

Сначала вам нужно изменить одно из правил udev, как указано здесь:

https://unix.stackexchange.com/questions/104791/how-can-i-disable-the-button-of-my-cd-dvd-drive

Почему бы просто не отключить кабель привода CDROM?

Другие вопросы по тегам