LINUX.ORG.RU

Монтирование флешек в Ubuntu 18.04

 , ,


0

1

Добрый день!

Стоит Ubuntu 18.04, Openbox.

Nautilus не монтирует флешки автоматически, пишет «Not authorized to perform operation». Создал правило /etc/polkit-1/rules.d/00-mount.rules

polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.udisks2.filesystem-mount-system"
&& subject.isInGroup("wheel")) {
return polkit.Result.YES;
}
});
Ничего не поменялось (пользователь в группе wheel).

Решил пойти другим путём, создал правило для udev /etc/udev/rules.d/80-test.rules

ACTION=="add" KERNEL=="sd[c-z][0-9]" RUN+="/home/user/bin/mount.sh %k"
ACTION=="remove" KERNEL=="sd[c-z][0-9]" RUN+="/home/user/bin/umount.sh %k"
Да, я понимаю, что можно было всё в нем прописать, но для наглядности сделал отдельный файл /home/user/bin/mount.sh
#!/bin/bash
device="$1"
sudo mkdir -p /mnt/$device
sudo mount /dev/$device /mnt/$device -t vfat -o rw,users,suid,uid=1000,gid=1000,umask=0000,dmask=0000
Теперь при втыкании флешки создается /mnt/sdc1 drwxr-xr-x 2 root root 4096 Nov 17 19:15 sdc1/ и файлов внутри не видно.

Если же вручную запустить mount.sh sdc1, то всё нормально, файлы внутри видны: drwxrwxrwx 2 user user 8192 Jan 1 1970 sdc1/

Что не так? Буду рад всем советам, как сделать автомонтирование флешек.

Ответ на: комментарий от anti_win

(бред, конечно): попробуй примонтировать в другом файловом менеджере.

Конечно бред. Монтирование происходит без какого-либо фм. Это знает каждый, кто работает через консоль.

anonymous ()
Ответ на: комментарий от anymouze
user@HomePC:~$ groups
user adm lp cdrom sudo audio dip plugdev lxd pulse-access tftp wheel diskusers

и обрати внимание: через udev у тебя root владелец, через «ручное монтирование» user

добавил в скрипт строку sudo chown user:user /mnt/$device, но лучше не стало, папке даются права user, но файлы по прежнему не видны внутри, то есть флешка просто не монтируется

shatll ()
Ответ на: комментарий от shatll

Могу ошибаться, но у тебя скрипт при вызове его udev выполняется от root (но, в ubuntu же пользователь root по умолчанию отсутствует?). При «ручном» монтировании от user всё как надо…

Ты правильно пишешь

файлы по прежнему не видны внутри

простому смертному пользователю файлы root-а не показывают. В GUI-файломенеджерах такие каталоги могут помечаться «замочком» и туда просто войти нельзя… После подключения флешки и автомонтирования (а я уверен, что флешка всё же монтируется) выполни в терминале команду mount без параметров или sudo ls /путь к точке монтирования флешке/ – думаю ты убедишься, что носитель смонтировался, но доступен только root-у…

Вот насколько твой скрипт подходит для выполнения udev? Я прошелся по цепочке статей ArchWiki и там не рекомендуют использовать mount для udev – Udisks. Или через юниты systemd…

anymouze ★★ ()