Как сделать полный доступ к FAT'овскому разделу?
Модератор: Bizdelnick
Как сделать полный доступ к FAT'овскому разделу?
На компьютере кроме Linux стоит ещё и Windows 10. И возникла проблема к доступа к его разделам. На случай необходимости передать что-то из Linux в Windows.
В Windows 7 такой проблемы не было. Но, начиная с версии 8, Windows стал вместо обычного выключения делать гибернацию. Из-за чего раздел NTFS можно смонтировать только для чтения.
Решил при установке Bullseye на свободном месте на одном из диском создать раздел vfat. Раздел создался и подключается, но писать на него может только root.
Как сделать, чтобы можно было в него писать без использования рутовских прав?
В Windows 7 такой проблемы не было. Но, начиная с версии 8, Windows стал вместо обычного выключения делать гибернацию. Из-за чего раздел NTFS можно смонтировать только для чтения.
Решил при установке Bullseye на свободном месте на одном из диском создать раздел vfat. Раздел создался и подключается, но писать на него может только root.
Как сделать, чтобы можно было в него писать без использования рутовских прав?
Re: Как сделать полный доступ к FAT'овскому разделу?
Монтируйте с опцией umask=0
Добавлено (18:36):
для udisks2 и mount_options.conf (после [defaults]):Код: Выделить всё
vfat_defaults=uid=$UID,gid=$GID,shortname=mixed,utf8=1,showexec,flush,umask=0
Re: Как сделать полный доступ к FAT'овскому разделу?
К сожалению не получилосьastroncia писал: ↑04.09.2021 18:34Монтируйте с опцией umask=0Добавлено (04.09.2021 18:36):
для udisks2 и mount_options.conf (после [defaults]):Код: Выделить всё
vfat_defaults=uid=$UID,gid=$GID,shortname=mixed,utf8=1,showexec,flush,umask=0
Но решил проблему другим способом
В /etc/fstab добавил параметры noauto. Теперь он автоматически не монтируется, но я могу, не входя в рут, смонтировать его командой mount.
К сожалению с showexec не получается.
Раньше, ещё в Debian 7 я заметил, что при подключении флешек на разделах vfat файлы с расширением .exe, .com, .bat получают разрешение на исполнение. То есть я могу иметь и цветовое различие файлов по типам и могу запускать скрипты. Сейчас этого не получается,
Re: Как сделать полный доступ к FAT'овскому разделу?
Странно...
Shell
lsb_release -cs
Код: Выделить всё
bullseye
Shell
sudo mount -o umask=0,uid=1000,gid=1000,showexec /dev/sdb1 /mnt
Shell
ls -lh /mnt/exe
Код: Выделить всё
total 0
-rwxrwxrwx 1 astroncia astroncia 0 Sep 4 23:11 test.exe
Добавлено (23:23):
Shell
mount|grep /dev/sdb1
/dev/sdb1 on /mnt type vfat (rw,relatime,uid=1000,gid=1000,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=mixed,showexec,errors=remount-ro)
Спасибо сказали:
Re: Как сделать полный доступ к FAT'овскому разделу?
Наверно я всё-таки в чём-то ошибся
Спасибо. Это практически то, что я хотел.
Добавил эти опции в /etc/fstab и стало монтироваться именно так.
Правда, возник ещё вопрос: можно ли настраивать список exec?
Хотелось бы, чтобы "исполняемыми" оказывались ещё файлы .btm, .sh, .gp (для gnuplot)
И ещё: в /etc/fstab я сделал аналогичные опции и для диска с NTFS, только вместо vfat написал ntfs-3g. Но все файлы на этом диске имеют атрибут исполняемые.0
Это можно изменить?
P.S. Похоже, что нет.
Попробовал в /etc/udisks2/mount_options.conf добавить для ntfs_defaults= showexec -- диск подключаться не захотел.
С vfat_defaults= всё нормально.
Re: Как сделать полный доступ к FAT'овскому разделу?
Насколько мне известно, нет. Хотя могу и ошибаться.
https://www.kernel.org/doc/Documentation/filesystems/vfat.txt
Код: Выделить всё
showexec -- If set, the execute permission bits of the file will be
allowed only if the extension part of the name is .EXE,
.COM, or .BAT. Not set by default.
Добавлено (00:45):
Код: Выделить всё
# Mount internal Windows partition with linux compatible permissions, i.e.
# 755 for directories (dmask=022) and 644 for files (fmask=133)
/dev/NTFS-partition /mnt/windows ntfs-3g uid=1000,gid=1000,dmask=022,fmask=133 0 0
Добавлено (00:47):
Потому что для ntfs-3g нет такой опции showexec
Вот, почитайте:
Shell
LESS=+/OPTIONS man ntfs-3g
Re: Как сделать полный доступ к FAT'овскому разделу?
Похоже, что единственный способ поменять расширения showexec - это патчить ядро
Shell
grep -A 8 'static int is_exec' ./linux-5.14.1/fs/fat/inode.c
Код: Выделить всё
static int is_exec(unsigned char *extension)
{
unsigned char exe_extensions[] = "EXECOMBAT", *walk;
for (walk = exe_extensions; *walk; walk += 3)
if (!strncmp(extension, walk, 3))
return 1;
return 0;
}
Re: Как сделать полный доступ к FAT'овскому разделу?
Понятно. Буду так работать. Не критично
Тоже не критично. Можно давать одно из расширений -- EXE, COM или BAT
В общем большое спасибо за рекомендации.
Но что касается раздела с NTFS, то он почему-то не хочет читаться под Windows 10. При подключении диска раздел с FAT монтируется, а вот два остальных раздела (NTFS и EXT4) предлагает отформатировать.
Подключил этот диск к компьютеру с Windows 7 -- он тоже предложил отформатировать, но раздел подключил. И файлы на нём нормально читаются. За исключением файлов с кавычками в имени.
Re: Как сделать полный доступ к FAT'овскому разделу?
Немного погуглил и вот что нашёл.
Windows 10 не умеет читать ext4, что называется, из коробки.
Но можно это сделать через wsl2.
Шаг 1. Идентифицировать диск:
Код: Выделить всё
wmic diskdrive list brief
Шаг 2. Монтируем!
Если ext4 раздел первый на выбранном диске:
Код: Выделить всё
wsl --mount .PHYSICALDRIVE0
Код: Выделить всё
wsl --mount .PHYSICALDRIVE0 --partition 1
PHYSICALDRIVE0 на свой диск.
Шаг 3. Ну и когда закончили работу с ext4. Отмонтируем:
Код: Выделить всё
wsl --unmount .PHYSICALDRIVE0
Добавлено (10:11):
Вот тут ничем помочь не могу, т.к. не пользуюсь Windows.
Re: Как сделать полный доступ к FAT'овскому разделу?
Про гибридное выключение есть такие варианты:
You have to do a full shutdown in Windows 10, by pressing the SHIFT key + clicking on shutdown.
Long term: Permanently Disable Hybrid Boot From Windows, the Power Options Control Panel, and click “Change what the power buttons do”. You may have to click the “Change settings that are currently unavailable” link to enable changing this configuration. Scroll down and uncheck the “Turn on fast start-up (recommended)” option. Click “Save changes” to save your changes.
The next time you shut down Windows, it will perform a full shut down, just like Windows 7 always did.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Re: Как сделать полный доступ к FAT'овскому разделу?
Я это знаю. Просто я "разбил" внешний диск на три части -- небольшой раздел с FAT32 (однажды он меня спас, когда я, записывая образ диска на флешку, перепутал имя), раздел NTFS, чтобы можно было читать под виндой и раздел EXT4 для хранения своих данных.
Спасибо. Как-нибудь попробую. Если возникнет необходимость.astroncia писал: ↑05.09.2021 10:10Но можно это сделать через wsl2.
Шаг 1. Идентифицировать диск:нужный нам идентификатор - это DeviceIDКод: Выделить всё
wmic diskdrive list brief
Шаг 2. Монтируем!
Если ext4 раздел первый на выбранном диске:Если же это не так:Код: Выделить всё
wsl --mount .PHYSICALDRIVE0
цифру 1 заменить на свою partition.Код: Выделить всё
wsl --mount .PHYSICALDRIVE0 --partition 1
PHYSICALDRIVE0 на свой диск.
Шаг 3. Ну и когда закончили работу с ext4. Отмонтируем:Код: Выделить всё
wsl --unmount .PHYSICALDRIVE0
Вы и так мне хорошо помогли. А что касается Windows, то я не исключаю, что это может быть связано с тем, что я когда-то отключил диск без размонтирования. Телевизор его нормально читает (разделы FAT и NTFS, но не EXT4) и при физическом отключении диска выскакивает сообщение, что могут быть проблемы. Хотя на самом телевизоре я не нашёл команды отключения.
Spoiler
Кстати, с разделом NTFS я однажды столкнулся с ещё одной странностью.
Меня иногда просят снять концерт (я снимаю видео, другой человек записывает звук).
Отснятое видео я записываю на диск (NTFS) в каталог с именем "Концерты/$MESTO/$DATE/"
И вот однажды после съёмки одного выступления детей в ДМШ (они хотели послать запись на какой-то конкурс) я сбросил все съёмки на диск, который потом отдал тому, кто записывал звук, чтобы он всё смонтировал.
И вдруг он вечером звонит мне и говорит, что в нужном каталоге ничего нет. То есть он пустой. Хотя я днём проверял -- там всё было.
Беру свой ноутбук и еду к нему. Подключаю диск -- всё есть. У него на компьютере (Windows 10) этот каталог пустой (или вообще не было подкаталога с этой датой, уже не помню. Другие были.)
Потом, правда, возникла мысль, что я записывал свои файлы в немного другой каталог. Но пока это не проверял.
Дело в том, что я кроме каталога $MESTO, например mkdir ДМШ10 создаю ещё ln -s ДМШ10 "Детская Музыкальная Школа №10". Может быть я записывал съёмку не в основной каталог, а по ссылке. Но очень сомневаюсь.
Меня иногда просят снять концерт (я снимаю видео, другой человек записывает звук).
Отснятое видео я записываю на диск (NTFS) в каталог с именем "Концерты/$MESTO/$DATE/"
И вот однажды после съёмки одного выступления детей в ДМШ (они хотели послать запись на какой-то конкурс) я сбросил все съёмки на диск, который потом отдал тому, кто записывал звук, чтобы он всё смонтировал.
И вдруг он вечером звонит мне и говорит, что в нужном каталоге ничего нет. То есть он пустой. Хотя я днём проверял -- там всё было.
Беру свой ноутбук и еду к нему. Подключаю диск -- всё есть. У него на компьютере (Windows 10) этот каталог пустой (или вообще не было подкаталога с этой датой, уже не помню. Другие были.)
Потом, правда, возникла мысль, что я записывал свои файлы в немного другой каталог. Но пока это не проверял.
Дело в том, что я кроме каталога $MESTO, например mkdir ДМШ10 создаю ещё ln -s ДМШ10 "Детская Музыкальная Школа №10". Может быть я записывал съёмку не в основной каталог, а по ссылке. Но очень сомневаюсь.