如何在 ubuntu 14.04 上禁用 CD 刻录?

如何在 ubuntu 14.04 上禁用 CD 刻录?

有没有办法禁用 ubuntu 14.04 上用户的 CD 刻录?我不想禁用对 CD/DVD Rom 的访问。我尝试了以下命令,以及未分配给 cdburn 组的用户帐户,但这并没有阻止刻录发生:

chown root:cdburn /usr/bin/cdrecord

chmod 770 /usr/bin/cdrecord

这个想法是让某些用户能够刻录,而其他用户则不能。安装 DVD-ROM 并不是我真正想要做的,但到目前为止似乎是我唯一的选择。

答案1

实现此目的的一种方法是禁用该特定硬件(虽然我不是在 Ubuntu 上,但我认为它的工作方式与我在 CentOS 安装上的工作方式相同)。例如:

[user@host bin]$ lshal |grep cd
scsi.type = 'cdrom'  (string)
info.capabilities = {'storage', 'block', 'storage.cdrom'} (string list)
storage.cdrom.bd = false  (bool)
storage.cdrom.bdr = false  (bool)
storage.cdrom.bdre = false  (bool)
storage.cdrom.cdr = false  (bool)
storage.cdrom.cdrw = false  (bool)
storage.cdrom.dvd = true  (bool)
storage.cdrom.dvdplusr = false  (bool)
storage.cdrom.dvdplusrdl = false  (bool)
storage.cdrom.dvdplusrw = false  (bool)
storage.cdrom.dvdplusrwdl = false  (bool)
storage.cdrom.dvdr = false  (bool)
storage.cdrom.dvdram = false  (bool)
storage.cdrom.dvdrdl = false  (bool)
storage.cdrom.dvdrw = false  (bool)
storage.cdrom.hddvd = false  (bool)
storage.cdrom.hddvdr = false  (bool)
storage.cdrom.hddvdrw = false  (bool)
storage.cdrom.mo = false  (bool)
storage.cdrom.mrw = true  (bool)
storage.cdrom.mrw_w = true  (bool)
storage.cdrom.read_speed = 8467  (0x2113)  (int)
storage.cdrom.support_media_changed = true  (bool)  
storage.cdrom.support_multisession = true  (bool)
storage.cdrom.write_speed = 0  (0x0)  (int)
storage.cdrom.write_speeds = {} (string list)
storage.drive_type = 'cdrom'  (string)

您应该能够使用hal-device二进制文件与这些信息进行交互,关闭特定的东西,比如理论上应该告诉系统它是一个 CDRom(而不是可写/可重写的设备)。storage.cdrom.cdr = true storage.cdrom.cd = true

虽然它是为 Arch Linux 设计的,但此链接与其他 Linux 发行版应该相同或类似。

当然,我没有测试过这些,因为我现在还没有能力这样做,但这是一个可以相对容易地进行实验的事情。

编辑: 如果您采用这种方式并开始更改 HAL,我强烈建议您将副本输出lshalhal-device文件中,以便您可以将一切恢复到开始时的状态,否则如果出现任何错误,您可能会丢失设备。(使用此信息需要您自担风险!乱动您的设备可能会很危险。)

另一个解决方案是将驱动器替换为 CDRom 驱动器,这样您就不必担心有人会写入 CD。现在您可能会发现它们相对便宜。

编辑2: 记得“CDR”的意思是“可刻录 CD”……我的意思是“CD”,它只是 CDRom 的意思。上面的句子已更新。

相关内容