Я пытаюсь создать ссылку на папку mtp в папке /run /user / $ UID / gvfs /. Я написал скрипт для выполнения, в том числе несколько строк для проверки правильности работы скрипта. Я связал udev с правилом на /etc/udev/rules.d. Скрипт работает правильно, когда я запускаю его с обычным пользователем, но не работал при работе от имени пользователя root (не с разрешения !!). Я пытался выполнить скрипт как обычный пользователь (используя sudo -u user, su user, runuser user ...) Но ничего не работает! Я проверил в лог-файле, что скрипт на самом деле выполняется, но не имеет пользователя и создает некорректную ссылку.
Любая идея??
/etc/udev/rules.d/85-automount.rules:
ACTION=="add",SUBSYSTEM=="usb",ATTR{idVendor}=="04e8",ATTR{idProduct}=="6860", RUN+="sudo -u sphere /usr/local/bin/android_mount"
Автор сценария:
#!/bin/bash
LOGFILE="/home/sphere/log/android_mount.log"
i=1
for mtp_folder in $( ls -d /run/user/1000/gvfs/mtp*);
do
# Remove previous link
rm -f "/media/sphere/mtp$i"
# Create new link
OUT=$(ln -s $mtp_folder /media/sphere/mtp$i 2>&1)
# Notify error
if [[ -z $OUT ]]; then
echo "$(date) - $OUT" >> $LOGFILE
fi
i=$(($i+1))
done
echo "$(date) - Script executed as user=$USER" >> $LOGFILE