Я пытаюсь создать правило udev, которое связывает мое устройство на его UUID, поэтому я могу после чтения в его содержимое. < /p>
Мой файл udev локализован в
Код: Выделить всё
/etc/udev/rules.d/99-local.rulesКод: Выделить всё
ACTION=="add", ENV{ID_FS_UUID}=="12CB-F616", SYMLINK+="masterkey", RUN+="/usr/bin/mountkey.sh"Сценарий, управляемый правилом UDEV, состоит из этого:
Код: Выделить всё
LOG_FILE="/tmp/key-mount.log"
sudo mount /dev/masterkey /mnt/masterkey > /tmp/key-mount.log
MOUNT_POINT="$(findmnt -n -o TARGET --source '/dev/masterkey')"
echo "$MOUNT_POINT" >> "$LOG_FILE"
if [ -n $MOUNT_POINT ]; then
echo "Device with UUID: $UUID mounted at $MOUNT_POINT" >> "$LOG_FILE"
else
echo "Error: Device with UUID: $UUID not mounted" >> "$LOG_FILE"
fi
Код: Выделить всё
/etc/sudoersКод: Выделить всё
root ALL=(ALL:ALL) ALL
root ALL=NOPASSWD:/usr/bin/mount
vagrant ALL= NOPASSWD: /usr/bin/mount
< /code>
probelm < /h1>
Проблема в том, что, когда udev вызывает команду [b] mount < /strong>, по -видимому, это не работает. И ни команда не производит какую -либо вывод, а также переменную mount_point [/b] env в файле журнала. Этот файл выглядит так: < /p>
Device with UUID: mounted at
< /code>
Я отредактировал скрипт, и вместо этого я запустил его без sudo, но получил такой же вывод выше. это по -разному: < /p>
ACTION=="add", ENV{ID_FS_UUID}=="12CB-F616", SYMLINK+="masterkey", RUN+="/bin/bash -c '/usr/bin/mountkey.sh'"
ACTION=="add", ENV{ID_FS_UUID}=="12CB-F616", SYMLINK+="masterkey", RUN+="/bin/bash -c 'sudo /usr/bin/mount /dev/masterkey /mnt/masterkey'"
ACTION=="add", ENV{ID_FS_UUID}=="12CB-F616", SYMLINK+="masterkey", RUN+="/bin/bash -c '/usr/bin/mount /dev/masterkey /mnt/masterkey'"
Так кажется, что у него нет проблем, связанной с сценарием, но запускается бинарным шариком любым способом, в котором он был представлен. двоичный, потому что когда я запускаю: < /p>
Код: Выделить всё
sudo mount /dev/sdnX /mnt/masterkeyон выполняет работу. Я много раз пробовал сценарий с теми же представленными методами, но получил одинаковые результаты выше. Vagrant (Archlinux/Archlinux)
ядра 6.10.10-Arch1-1
Подробнее здесь: https://stackoverflow.com/questions/794 ... ed-by-udev
Мобильная версия