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-mounthttps://wiki.archlinux.org/index.php/Udev#Mounting_drives_in_rules

おすすめ記事