Regel für CD / DVD-Laufwerk: Laufwerk beim Einlegen in "/ media / DVD" einhängen
Tun Sie dies, wenn Sie die automatische Montage mit einer gewissen Kontrolle über die Vorgehensweise wiederherstellen möchten.
- Erstellt beim Einlegen des Mediums automatisch einen Einhängepunkt
- Automatische Montage des Mediums zum Einhängepunkt mit bestimmten Berechtigungen
- Entfernt den Einhängepunkt beim Entfernen des Mediums automatisch
Aktion: Das CD / DVD-Fach verfügt über Medien und wird eingezogen
Sie müssen Ihr System anweisen, auf diese Aktion zu reagieren. Sie können ein Mount-Skript (ein beliebiges benutzerdefiniertes Skript) ausführen lassen. Dazu müssen Sie im Ordner eine neue Regel erstellenlib/udev/rules.d
. Diese Befehle müssen als root ausgeführt werden (verwenden Sie das Präfix sudo
für die folgenden Befehle, um sie als root auszuführen oder der Root-Benutzer mit zu werdensudo -s
- Erstellen Sie eine neue Datei und nennen Sie sie autodvd.rules
touch /lib/udev/rules.d
- Suchen Sie nach Informationen zu Ihrem CD / DVD-Laufwerk, indem Sie es ausführen
udevadm info --query=all --attribute-walk --name=/dev/sr0
(root ist hier nicht erforderlich, funktioniert aber in beide Richtungen). Suchen Sie nach etwas, das Ihr Laufwerk eindeutig identifiziert (zum Guten oder zum Schlechten, das ich ausgewählt habe ATTRS{vendor}=="HL-DT-ST"
, nämlich mein Laufwerk (Ihr Laufwerk ist anders, es sei denn, Sie) zufällig das gleiche Laufwerk wie ich besitzen). Kopieren Sie es für später irgendwo hin. Sie können sich etwas Zeit nehmen, um diese Datei zu durchsuchen und sie mit dem folgenden Regelbeispiel zu vergleichen. Das SUBSYSTEM und ATTRS finden Sie darin.
- Bearbeiten Sie Ihre neue Regel (Sie können einen beliebigen Editor verwenden, den ich verwende
vim /lib/udev/rules.d
, der aber auch nano /lib/udev/rules.d
funktioniert und der einfach ist. Fügen Sie diese Dinge hinzu und bearbeiten Sie Ihre ATTRS entsprechend Ihrer (dies ist der sensible Teil, möglicherweise müssen Sie ein anderes Attribut auswählen, wenn dies der Fall ist funktioniert nicht) und korrigieren Sie die Felder YOURUSER und YOURGROUP:
KERNEL=="sr[0-9]*", SUBSYSTEM=="block", ATTRS{vendor}=="HL-DT-ST", SYMLINK+="dvdburner", OWNER="YOURUSER", GROUP="YOURGROUP" ACTION=="change",RUN+="/home/YOURUSER/Scripts/Bash/automountdvd.sh"
- Das
KERNEL=="sr[0-9]*"
bedeutet nur, dass alle scsi
Geräte getestet werden (sr0-sr9)
- Das
SYMLINK
ist nur eine symbolische Verbindung zum Laufwerk (wie /dev/cdrom
zum realen /dev/sr0
)
Möglicherweise müssen Sie alle udev-Regeln neu laden:
udevadm control --reload rules
reload udev
udevadm trigger
Mount-Skript
Speichern Sie Folgendes wie folgt: /home/YOURUSER/Scripts/Bash/automountdvd.sh
und korrigieren Sie die Felder YOURUSER und YOURGROUP. Übrigens ist es gefährlich, dieses Skript in den Benutzerordner zu legen, da es von root ausgeführt wird. Wenn also jemand Ihren Benutzerordner hackt, kann er das Skript anpassen, um zu tun, was er will, und root führt es aus ( und wahrscheinlich erfolgreich, weil der Root-Benutzer die volle Kontrolle über das System hat.) Wahrscheinlich besser, es in einem Ordner zu verstecken, den nur root sehen kann. Wenn Sie experimentieren, ist es in Ordnung.
#!/bin/bash
{
mountpoint="/media/DVD"
user=YOURUSER
group=YOURGROUP
uid=$(id -u ${user})
gid=$(id -g ${group})
FS_TYPE="`blkid /dev/sr0 | grep -o 'udf'`"
if [ ${FS_TYPE} == 'udf' ]; then
echo "ID_CDROM_MEDIA set to 1, creating ${mountpoint} and attempting to mount DVD."
mkdir -p ${mountpoint} && chown ${user}:${group} ${mountpoint}
mount -t ${FS_TYPE} -o ro,uid=${uid},gid=${gid} /dev/sr0 ${mountpoint}
echo "DVD mounted at ${mountpoint}."
else
echo "Attempting to unmount -l ${mountpoint}."
umount -l ${mountpoint}
rm -rf ${mountpoint}
echo "Unmounting ${mountpoint} and removing folder ${mountpoint}."
fi
} &>> "/var/log/autodvd.log" &
mkdir anythingAtAll; sudo mount /dev/sr0 anythingAtAll