Я хочу, чтобы каждый USB-носитель (ext, ntfs, FAT ...) был доступен с полным чтением -запись для каждого пользователя. Предпочтительно под mnt
и как группа common
.
(Ubuntu-MATE 21.04, хотя мои проблемы на самом деле относятся даже к Ubuntu-MATE 16.04 ...)
/ media / frank / 4C8C-E4BC
- нормально, как и должно быть. . Когда я переключаюсь на другого пользователя (оставив первый сеанс открытым, не выходя из системы, т.е. dm-tool переключение на пользователя Lisa
), я получаю Невозможно смонтировать том 16 ГБ {{1} } Устройство / dev / sda1 уже смонтировано в
/ media / lisa / 4C9C-xxxx
Пока что имеет смысл. Но не то, что мне нужно.
Конечно, для отдельных дисков я мог бы изменить смонтировать местоположение через gnome-disks
или вручную добавить строку в etc / fstab
(что, по сути, и делает gnome-disks
). Однако я не хочу делать это для всех имеющихся у меня USB-накопителей и SD-карт ...
[Я понимаю / предполагаю, что есть что-то под названием autofs, которое обрабатывает автоматическое монтирование USB-накопителей? Но насколько я могу судить, это не часть моей установки Ubuntu-MATE ...]
И, кажется, есть «udev-Rules» , это то, что я хочу? По-видимому, это даже «неизбежная» часть Ubuntu, , поскольку она является частью systemd (?) ? На моей машине есть правила в /etc/udev/rules.d, хотя, казалось бы, довольно специфические правила о brave, skype и signal ...)
Есть многообещающие вещи MODE
и GROUP
и UDISKS_FILESYSTEM_SHARED
, но (при условии, что это правильный подход) я не могу собрать окончательные части головоломки вместе. На самом деле это должно применяться только к съемным дискам, таким как USB-накопители и карты памяти, иначе у меня будут серьезные проблемы ... в этом источнике упоминается SUBSYSTEMS == "usb"
, это был бы хороший фильтр, если правда ...)
udev
rulez? Если да, может ли кто-нибудь сложить кусочки головоломки вместе? Я почти подозреваю, что все, что я ищу, - это однострочный файл в /etc/udev/rules.d.
дополнение:
Не моя основная проблема, но если бы она исчезла по тем же причинам, я был бы счастлив: вставка загрузочного USB-накопителя Windows (немного более сложный, поставляется с загрузочной FAT UEFI и установкой Windows NTSF) раздел) под вторым пользователем, я мгновенно получаю:
(и нет, интенсивный поиск в Google ни к чему не привел)… переключение обратно на первого пользователя frank (флешка все еще вставлена) Меня приветствуют эти запросы авторизации:
Следующий сценарий может называться mounter
или каким-либо [другим] уникальным именем. Цикл for
ищет выход lsblk
с подходящими опциями. Он обнаружит разделы в дисках, подключенных через USB, и смонтирует их (если они еще не смонтированы) в выделенных подкаталогах /mnt.
Если вы хотите использовать shellscript в своей системе, вы, вероятно, настроите его для управления уже смонтированными разделами (размонтируйте их, чтобы смонтировать их, как вы хотите).
#!/bin/bash
if [ "$(whoami)" != "root" ]
then
echo "run with sudo or as root"
exit
fi
for i in $(lsblk -lo name,fstype,hotplug,type|grep '1 part$'|tr -s ' ' ' '|sed 's/ 1 part$//'|grep ' ..*$'|tr ' ' '_')
do
printf "$i\n"
dev=/dev/${i%_*}
fss=${i#*_}
# echo "$dev -- $fss"
mkdir -p /mnt/"$i"
if [ "$fss" == "ntfs" ] || [ "$fss" == "vfat" ] || [ "$fss" == "exfat" ]
then
mount -o rw,user,exec,umask=0000 "$dev" /mnt/"$i"
else
mount -o rw,user "$dev" /mnt/"$i"
fi
done
Этот shellscript может делать все, что вы хотите, по крайней мере, с файловыми системами Microsoft.
Он должен sudo
или работать от имени root
. Вы можете разрешить использование shellscript или mkdir
и mount
без пароля через visudo
.
Вы можете или не можете захотеть изменить umask
, чтобы «другие» не писали.
Это плохая идея, чтобы подделать разрешения в файловой системе Linux, например, ext4. Таким образом, этот shellscript использует различные варианты монтирования в этом случае. Если вы хотите сделать файловую систему Linux доступной для всех, установите разрешения с помощью chmod
вручную.
Запуск shellscript вручную должен работать, но также можно через cron
или udev
или, может быть, каким-то другим способом следить за подключением внешних устройств.
Дополнительные оболочки (или командные строки) для размонтирования и очистки точек монтирования необходимы и должны быть проще в создании.