udev를 사용하여 USB 플래시 드라이브를 마운트합니다. 허가가 거부되었습니다

udev를 사용하여 USB 플래시 드라이브를 마운트합니다. 허가가 거부되었습니다

USB 스틱을 삽입하면 자동으로 마운트하고 싶습니다.

나는 udev가 해결책이라고 믿기 때문에 /etc/udev/rules.d/99_extern_hdd.rules다음을 만들었습니다.

ACTION=="add", SUBSYSTEM=="block", ENV{ID_VENDOR_ID}=="1058", ENV{ID_MODEL_ID}=="25a2", RUN+="/etc/mount_extern.sh"

스크립트에는 다음 /etc/mount_extern.sh이 포함됩니다.

#!/bin/bash
ls -dl /media  > /tmp/output
ls -dl /media/data >> /tmp/output
echo "mount ${DEVNAME} /media/data" >> /tmp/output
mount ${DEVNAME} /media/data >> /tmp/output 2>&1

하지만 디스크를 삽입하면 출력( /tmp/output에서 생성됨 /etc/mount_extern.sh)이 다음과 같이 표시됩니다.

drwxr-xr-x 13 root root 4096 Aug 14 10:47 /media
drwxr-xr-x 2 root root 4096 Dec 18  2017 /media/data
mount /dev/sde1 /media/data
mount: /media/data: permission denied.

내가 이걸 왜 가지고 있는지 이해가 안 돼요 permission denied. 폴더 권한이 좋아 보이지 않나요? 내가 이것을 할 때에도 sudo mount /dev/sde1 /media/data잘 작동합니다.

어떤 아이디어가 있나요?

내 운영 체제는 Linux입니다. archlinux 5.8.10-arch1-1 #1 SMP PREEMPT Thu, 17 Sep 2020 18:01:06 +0000 x86_64 GNU/Linux

답변1

UDev 규칙을 벗어날 수 없습니다 mount. UDev 맨페이지에서:

기본 샌드박스가 systemd-udevd.service에 적용되므로 네트워크에 액세스하거나 파일 시스템을 마운트/마운트 해제하는 프로그램은 udev 규칙 내에서 실행될 수 없습니다.

또는 다른 도구를 사용할 수 있습니다 systemd-mount.https://wiki.archlinux.org/index.php/Udev#Mounting_drives_in_rules

관련 정보