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