web-dev-qa-db-ja.com

Ubuntu 12.04 LTSのすべてのユーザーに対するCD / DVD Romアクセスを完全に無効にしますか?

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では機能しないようです Linuxで通常のユーザーに対してCD-ROMおよびUSBを無効にする方法

私たちは以下のすべてのアプローチを試みました、

  1. システムBIOSの使用

    残念ながら、ラップトップBIOSにはDVDドライブを無効にするオプションがありません。 DVDからの起動を無効にするオプションのみがあります。

  2. / etc/groupを使用する

    このドキュメントによると http://ubuntuguide.org/wiki/Ubuntu:Precise 、以下は注意です、

    「cdromを使用するには、cdromに属している必要があります。ホットプラグ可能なデバイスを使用するには、plugdevに属している必要があります。」

    使用しているUnixユーザー(ユーザーtngusr1)は、/ etc/groupファイルのこれらのグループのいずれにも属していません。

    結果:ユーザーはCD/DVD ROMにアクセスできます。ユーザーが空のディスク(CD/DVD)を挿入すると、ディスクがロードされ、 braseroがインストールされている場合、ユーザーは新しいディスクに書き込むことができます

  3. / mediaおよび/ cdromでchmodを使用する

    / cdromおよび/ mediaの変更された権限

    • chmod 000 /cdrom
    • chmod 000 /media

    結果:違いはありません。影響は、ユーザーがコンテンツを含むディスク(CD/DVD)を挿入した場合、読み込まれません。しかし、ユーザーが空のディスク(CD/DVD)を入れると、ディスクがロードされ、braseroがインストールされている場合、ユーザーは新しいディスクに書き込むことができます。

  4. HalのCD-ROMポーリングを無効にする

    次のドキュメント「HalのCD-ROMポーリングを無効にする」にリストされている手順に基づくhref:www.ehow.com/how_7509420_disable-hals-cdrom-polling.html

    シェル> hal-disable-polling --device/dev/scd0

    結果:違いはありません。空のディスクが通常どおりロードされ、ユーザーは新しいDVD ROMを書き込むことができます

  5. CDROMのAutoMountを無効にする

    ドキュメントはこちら CDROMのAutoMountを無効にする

    結果:初心者に役立つかもしれません。しかし、Unbuntuで1か月の経験がある人なら、それを有効にしてCDRブランクディスク(CD/DVD)をロードし、ディスクに書き込む方法を知っています。また、ユーザーがメニューからファイルエクスプローラーを開くと、左側のツリーに空のcdromが表示され、cdromが正常にロードされたことが示されます。

  6. カスタムマウントポイントを定義する

    詳細はこちら に基づいてカスタムマウントポイントを定義しました

    / etc/fstabに次の行を追加して、新しいCDが/ mediaにマウントされることを期待し、chmod 000 /mediaを実行したので、ディスクがロードされないことを期待しました。

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

    結果:違いはありません。空のディスクが通常どおりロードされ、ユーザーは新しいDVD ROMを書き込むことができます

  7. UDEVルールで管理

    次のようにフォルダ「/etc/udev/rules.d/81-cddrive.rules」にUDEVルールを作成しました。

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

    計画は、「/ opt/devscripts/checkcd.sh」が呼び出されたと判断したときで、これから自動的にシステムを再起動します。

    結果:違いはありません。これまでのところ、空のディスクを複数回挿入した場合でも、ディスクが読み込まれるたびに、スクリプトが呼び出されることはありません。ここで、UDVルールを使用してCDROMの使用状況を監視しようとするアプローチを使用しているかどうかはわかりません。

EDIT(新規):8. UDEV初期化ルールを介してさらに試行

8.1)以下のファイルを変更し、CD/DVD Romドライブの/ devマッピングを作成していたすべての行にコメントを付けました。

  • /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

結果:CDROM関連のUDEVルールがコメント化され、マシンを再起動した後、再び手動で/ dev/sr0を削除し、CDROM関連のUDEVルールがアクティブでない場合を除き、新しく作成された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 == "sr"
    • ATTRS {device_blocked} == "0"
    • ATTRS {type} == "5"
    • ATTRS {scsi_level} == "6"
    • ATTRS {ベンダー} == "hp"
    • ATTRS {モデル} == "DVDWBD TS-LB23P"
    • ATTRS {rev} == "0100"
    • ATTRS {state} == "実行中"
    • ATTRS {timeout} == "30"
    • ATTRS {iocounterbits} == "32"
    • ATTRS {iorequest_cnt} == "0x11d"
    • ATTRS {iodone_cnt} == "0x114"
    • ATTRS {ioerr_cnt} == "0x2"
    • ATTRS {evt_media_change} == "0"
    • ATTRS {dh_state} == "detached"
    • ATTRS {queue_depth} == "1"
    • ATTRS {queue_ramp_up_period} == "120000"
    • ATTRS {queue_type} == "なし
  • (その他の子レベルの情報)
5
markgearn

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ドライブをまったく使用できないため、いくつかのバックアップを作成することを忘れないでください

3

デバイスを無効にするのではなく、デバイスへのアクセスを無効にしますか?取り出しコマンドには-iオプションがあるため、次のことを試してみてください。

eject -i on /dev/sr0 

最初に、以下に概説するudevルールの1つを変更する必要があります。

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

1
moosamus

なぜCDROMドライブケーブルを抜かないのですか?

0
user186319