Я использую команду mount в скрипте для монтирования USB-диска в Bash.Я отключил haldameon и autofs, чтобы привод не был автоматически смонтирован.
Все работает в Root, а также, если вы запускаете его в root, переключитесь на учетную запись без полномочий root.Однако при переходе из режима выключения в учетную запись без полномочий root и последующем запуске сценария накопитель будет монтироваться, но не разрешать команды записи.
Вот некоторый псевдокод:
отключите автозапуск, haldaemon вставляет диски вручную в компьютер, запустите монтирование, попытайтесь записать, используя каталог / mnt /
разрешения на ошибку
Вот код отключения автомонтирования.
#stop automounter
/etc/init.d/autofs stop
#stop hal daemon, this is the hardware abstraction layer
/etc/init.d/haldaemon stop
Вот код монтирования:
#WHITE---------------------------------------
if grep -qs '/mnt/WHITE' /proc/mounts; then
echo "WHITE Mounted re-mounting Unnecessary"
else
#check if the directories are already there and remove if necessary
if [ -d "/mnt/WHITE" ] ; then
rmdir "/mnt/WHITE"
fi
#create directory and mount by label
mkdir -p /mnt/WHITE
mount -L WHITE /mnt/WHITE
#check if the WHITE USB Drive is mounted to the correct directory
if [ -d "/mnt/WHITE" ] ; then
#check if USB is mounted by location
if grep -qs '/mnt/WHITE' /proc/mounts; then
echo "WHITE Mounted"
else
echo $errorstatus_white_mount
exit 1
fi
else
echo $errorstatus_white_mount
exit 1
fi
fi
Вот код копирования с ошибкой:
echo "Copying Test Files to Drives"
#copy
cp $copyfile "/mnt/WHITE"
cp $copyfile "/mnt/GREEN"
cp $copyfile "/mnt/RED"
sync
sleep 2
Также команды для монтирования, /etc / init.d / autofs stop, /etc/init.d/haldaemon stop находятся в файле sudoers.
Спасибо за помощь в разрешении этой загадки.