Полностью отключить доступ 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?
Мы перепробовали все следующие подходы,
Использование системного BIOS
К сожалению, в BIOS ноутбука нет опции отключения DVD-привода. Он имеет только возможность отключить загрузку с DVD, что мы и сделали
Использование / etc / group
Согласно этому документу http://ubuntuguide.org/wiki/Ubuntu:Precise, следующее примечание,
"Чтобы использовать cdrom, вы должны принадлежать к cdrom. Чтобы использовать устройства с возможностью горячей замены, вы должны принадлежать к plugdev".
Используемый нами пользователь Unix (user tngusr1) не принадлежит ни одной из этих групп в файле / etc / group.
Результат: пользователь может получить доступ к CD/DVD-ROM, и если пользователь вставит пустой диск (CD/DVD), он загрузит диск, а если установлен brasero, он сможет записать новый диск.
Использование chmod в / media и / cdrom
Изменены разрешения для / cdrom и / media
chmod 000 /cdrom
chmod 000 /media
Результат: пока нет разницы. В результате пользователь помещает диск (CD/DVD) с содержимым на нем, он не загружается. Но если пользователь вставит пустой диск (CD/DVD), он загрузит диск, а если установлен brasero, пользователь сможет записать новый диск.
Отключить опрос Хэла на CD-ROM
Основываясь на шагах, перечисленных в следующем документе, "отключить опрос Хэла на CD-ROM" href: www.ehow.com/how_7509420_disable-hals-cdrom-polling.html
shell> hal-disable-polling --device / dev / scd0
Результат: без разницы. Чистый диск загружается как обычно, и пользователь может записать новый DVD-диск
Отключить автомонтаж для CDROM
На основе документа здесь отключите AutoMount для CDROM
Результат: может быть полезным для новичка. Но любой, кто имеет опыт работы с Unbuntu в течение 1 месяца, знает, как включить его обратно, загрузить чистый диск CDR (CD/DVD) и записать диск. Также, если пользователь открывает проводник из меню, в левом дереве доступен пустой компакт-диск, указывающий, что компакт-диск успешно загружен.
Определить пользовательскую точку монтирования
Определил пользовательскую точку монтирования на основе деталей здесь,
Добавил следующую строку в / etc / fstab, надеясь, что новый CD будет монтироваться в / media, и так как мы это сделали
chmod 000 /media
надеясь что он не загрузит диск/dev/cdrom /media auto user,noauto,exec,utf8 0
Результат: без разницы. Чистый диск загружается как обычно, и пользователь может записать новый DVD-диск
Управление через правила 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