
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