CD / DVD 드라이브 규칙 : "/ media / DVD"에 삽입시 드라이브 마운트
수행 방식을 약간 제어하여 자동 마운트를 복원하려면이 작업을 수행하십시오.
- 매체 삽입시 마운트 지점 자동 생성
- 특정 권한으로 중간에서 마운트 지점으로 자동 마운트
- 매체 제거시 마운트 포인트 자동 제거
조치 : CD / DVD 트레이에 매체가 있고 들어 있습니다
이 조치에 반응하도록 시스템에 지시해야합니다. 마운트 스크립트 (모든 사용자 정의 스크립트)를 실행할 수 있습니다. 이렇게하려면, 당신은해야 할 새로운 규칙을 만들 에서 lib/udev/rules.d
폴더를. 이러한 명령은 루트로 실행해야합니다 ( sudo
다음 명령 의 접두어 를 사용하여 루트 로 실행하거나 루트 사용자가 됨)sudo -s
- 새 파일을 만들어 autodvd.rules라고합니다.
touch /lib/udev/rules.d
- 다음을 실행하여 CD / DVD 드라이브에 대한 정보를 찾으십시오
udevadm info --query=all --attribute-walk --name=/dev/sr0
(여기서는 루트가 필요하지 않지만 두 가지 방식으로 작동 함). 드라이브를 고유하게 식별하는 항목을 찾으십시오 (더 나은 또는 더 나쁜 내가 선택한 ATTRS{vendor}=="HL-DT-ST"
드라이브는 내 드라이브입니다. 나 자신과 같은 드라이브를 소유하고 있습니다.) 나중에 복사 해 두십시오.이 파일을 살펴보고 아래 규칙 예제와 비교하는 데 시간이 걸릴 수 있습니다 .SUBSYSTEM 및 ATTRS에서 찾을 수 있습니다.
- 새 규칙을 편집하십시오 (선택한 편집기를 사용할 수
vim /lib/udev/rules.d
는 있지만 사용 하고 있지만 nano /lib/udev/rules.d
쉽게 작동합니다. 이러한 것들을 추가하고 자신과 일치하도록 ATTRS를 편집하십시오 (이는 민감한 부분이므로 다른 속성을 선택해야 할 수도 있습니다) 작동하지 않음)하고 YOURUSER 및 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"
KERNEL=="sr[0-9]*"
는 모든 테스트합니다 단지 수단 scsi
장치 (SR0-SR9)
- 는
SYMLINK
(같은 드라이브에 바로 심볼릭 링크 /dev/cdrom
현실이다 /dev/sr0
)
모든 udev 규칙을 다시로드해야 할 수도 있습니다.
udevadm control --reload rules
reload udev
udevadm trigger
마운트 스크립트
다음과 같은 /home/YOURUSER/Scripts/Bash/automountdvd.sh
곳에 다음을 저장하고 YOURUSER 및 YOURGROUP 필드를 수정하십시오. 그건 그렇고,이 스크립트를 루트로 실행하기 때문에이 스크립트를 사용자 폴더에 넣는 것은 위험합니다. 즉, 누군가가 사용자 폴더를 해킹하면 원하는대로 스크립트를 조정할 수 있으며 루트는 그것을 실행할 것입니다 ( 루트 사용자가 시스템을 완전히 제어 할 수 있기 때문에 성공할 수도 있습니다.) 루트 만 볼 수있는 폴더에 숨기는 것이 좋습니다. 실험 중이라면 괜찮습니다.
#!/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