Как сделать полный доступ к FAT'овскому разделу?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Ответить
MiK13
Сообщения: 1180
ОС: Linux Debian

Как сделать полный доступ к FAT'овскому разделу?

Сообщение MiK13 »

На компьютере кроме Linux стоит ещё и Windows 10. И возникла проблема к доступа к его разделам. На случай необходимости передать что-то из Linux в Windows.
В Windows 7 такой проблемы не было. Но, начиная с версии 8, Windows стал вместо обычного выключения делать гибернацию. Из-за чего раздел NTFS можно смонтировать только для чтения.
Решил при установке Bullseye на свободном месте на одном из диском создать раздел vfat. Раздел создался и подключается, но писать на него может только root.
Как сделать, чтобы можно было в него писать без использования рутовских прав?
Спасибо сказали:
astroncia
Сообщения: 133

Re: Как сделать полный доступ к FAT'овскому разделу?

Сообщение astroncia »

MiK13 писал:
04.09.2021 18:13
Как сделать, чтобы можно было в него писать без использования рутовских прав?
Монтируйте с опцией umask=0
Добавлено (18:36):
для udisks2 и mount_options.conf (после [defaults]):

Код: Выделить всё

vfat_defaults=uid=$UID,gid=$GID,shortname=mixed,utf8=1,showexec,flush,umask=0
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Как сделать полный доступ к FAT'овскому разделу?

Сообщение MiK13 »

astroncia писал:
04.09.2021 18:34
MiK13 писал:
04.09.2021 18:13
Как сделать, чтобы можно было в него писать без использования рутовских прав?
Монтируйте с опцией 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 получают разрешение на исполнение. То есть я могу иметь и цветовое различие файлов по типам и могу запускать скрипты. Сейчас этого не получается,
Спасибо сказали:
astroncia
Сообщения: 133

Re: Как сделать полный доступ к FAT'овскому разделу?

Сообщение astroncia »

MiK13 писал:
04.09.2021 21:58
К сожалению не получилось :(
Странно...

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)
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Как сделать полный доступ к FAT'овскому разделу?

Сообщение MiK13 »

astroncia писал:
04.09.2021 23:13
MiK13 писал:
04.09.2021 21:58
К сожалению не получилось :(
Странно...
Наверно я всё-таки в чём-то ошибся
astroncia писал:
04.09.2021 23:13

Shell

sudo mount -o umask=0,uid=1000,gid=1000,showexec /dev/sdb1 /mnt
Спасибо. Это практически то, что я хотел.
Добавил эти опции в /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= всё нормально.
Спасибо сказали:
astroncia
Сообщения: 133

Re: Как сделать полный доступ к FAT'овскому разделу?

Сообщение astroncia »

MiK13 писал:
05.09.2021 00:34
Правда, возник ещё вопрос: можно ли настраивать список exec?
Хотелось бы, чтобы "исполняемыми" оказывались ещё файлы .btm, .sh, .gp (для gnuplot)
Насколько мне известно, нет. Хотя могу и ошибаться.
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):
MiK13 писал:
05.09.2021 00:34
И ещё: в /etc/fstab я сделал аналогичные опции и для диска с NTFS, только вместо vfat написал ntfs-3g. Но все файлы на этом диске имеют атрибут исполняемые.0
Это можно изменить?

Код: Выделить всё

# 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):
MiK13 писал:
05.09.2021 00:34
Попробовал в /etc/udisks2/mount_options.conf добавить для ntfs_defaults= showexec -- диск подключаться не захотел.
Потому что для ntfs-3g нет такой опции showexec :)
Вот, почитайте:

Shell

LESS=+/OPTIONS man ntfs-3g
(недавно узнал про этот трюк с LESS=, удобно :))
Спасибо сказали:
astroncia
Сообщения: 133

Re: Как сделать полный доступ к FAT'овскому разделу?

Сообщение astroncia »

Похоже, что единственный способ поменять расширения 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;
}
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Как сделать полный доступ к FAT'овскому разделу?

Сообщение MiK13 »

astroncia писал:
05.09.2021 00:39
MiK13 писал:
05.09.2021 00:34
Попробовал в /etc/udisks2/mount_options.conf добавить для ntfs_defaults= showexec -- диск подключаться не захотел.
Потому что для ntfs-3g нет такой опции showexec :)
Понятно. Буду так работать. Не критично :)
astroncia писал:
05.09.2021 01:49
Похоже, что единственный способ поменять расширения showexec - это патчить ядро
Тоже не критично. Можно давать одно из расширений -- EXE, COM или BAT
В общем большое спасибо за рекомендации.

Но что касается раздела с NTFS, то он почему-то не хочет читаться под Windows 10. При подключении диска раздел с FAT монтируется, а вот два остальных раздела (NTFS и EXT4) предлагает отформатировать.
Подключил этот диск к компьютеру с Windows 7 -- он тоже предложил отформатировать, но раздел подключил. И файлы на нём нормально читаются. За исключением файлов с кавычками в имени.
Спасибо сказали:
astroncia
Сообщения: 133

Re: Как сделать полный доступ к FAT'овскому разделу?

Сообщение astroncia »

MiK13 писал:
05.09.2021 03:26
EXT4
Немного погуглил и вот что нашёл.
Windows 10 не умеет читать ext4, что называется, из коробки.
Но можно это сделать через wsl2.

Шаг 1. Идентифицировать диск:

Код: Выделить всё

wmic diskdrive list brief
нужный нам идентификатор - это DeviceID

Шаг 2. Монтируем! :)
Если ext4 раздел первый на выбранном диске:

Код: Выделить всё

wsl --mount .PHYSICALDRIVE0
Если же это не так:

Код: Выделить всё

wsl --mount .PHYSICALDRIVE0 --partition 1
цифру 1 заменить на свою partition.
PHYSICALDRIVE0 на свой диск.

Шаг 3. Ну и когда закончили работу с ext4. Отмонтируем:

Код: Выделить всё

wsl --unmount .PHYSICALDRIVE0
Добавлено (10:11):
MiK13 писал:
05.09.2021 03:26
Но что касается раздела с NTFS, то он почему-то не хочет читаться под Windows 10.
Вот тут ничем помочь не могу, т.к. не пользуюсь Windows.
Спасибо сказали:
Аватара пользователя
UnixNoob
Сообщения: 1379
ОС: Slackware

Re: Как сделать полный доступ к FAT'овскому разделу?

Сообщение UnixNoob »

Про гибридное выключение есть такие варианты:
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.
"Однажды один очень мудрый человек… ничего не сказал. Времена были опасные, да и собеседники ненадёжные"
Спасибо сказали:
MiK13
Сообщения: 1180
ОС: Linux Debian

Re: Как сделать полный доступ к FAT'овскому разделу?

Сообщение MiK13 »

astroncia писал:
05.09.2021 10:10
MiK13 писал:
05.09.2021 03:26
EXT4
Немного погуглил и вот что нашёл.
Windows 10 не умеет читать ext4, что называется, из коробки.
Я это знаю. Просто я "разбил" внешний диск на три части -- небольшой раздел с FAT32 (однажды он меня спас, когда я, записывая образ диска на флешку, перепутал имя), раздел NTFS, чтобы можно было читать под виндой и раздел EXT4 для хранения своих данных.
astroncia писал:
05.09.2021 10:10
Но можно это сделать через wsl2.

Шаг 1. Идентифицировать диск:

Код: Выделить всё

wmic diskdrive list brief
нужный нам идентификатор - это DeviceID

Шаг 2. Монтируем! :)
Если ext4 раздел первый на выбранном диске:

Код: Выделить всё

wsl --mount .PHYSICALDRIVE0
Если же это не так:

Код: Выделить всё

wsl --mount .PHYSICALDRIVE0 --partition 1
цифру 1 заменить на свою partition.
PHYSICALDRIVE0 на свой диск.

Шаг 3. Ну и когда закончили работу с ext4. Отмонтируем:

Код: Выделить всё

wsl --unmount .PHYSICALDRIVE0
Спасибо. Как-нибудь попробую. Если возникнет необходимость.
astroncia писал:
05.09.2021 10:10
Добавлено (05.09.2021 10:11):
MiK13 писал:
05.09.2021 03:26
Но что касается раздела с NTFS, то он почему-то не хочет читаться под Windows 10.
Вот тут ничем помочь не могу, т.к. не пользуюсь Windows.
Вы и так мне хорошо помогли. А что касается Windows, то я не исключаю, что это может быть связано с тем, что я когда-то отключил диск без размонтирования. Телевизор его нормально читает (разделы FAT и NTFS, но не EXT4) и при физическом отключении диска выскакивает сообщение, что могут быть проблемы. Хотя на самом телевизоре я не нашёл команды отключения.
Spoiler
Кстати, с разделом NTFS я однажды столкнулся с ещё одной странностью.
Меня иногда просят снять концерт (я снимаю видео, другой человек записывает звук).
Отснятое видео я записываю на диск (NTFS) в каталог с именем "Концерты/$MESTO/$DATE/"
И вот однажды после съёмки одного выступления детей в ДМШ (они хотели послать запись на какой-то конкурс) я сбросил все съёмки на диск, который потом отдал тому, кто записывал звук, чтобы он всё смонтировал.
И вдруг он вечером звонит мне и говорит, что в нужном каталоге ничего нет. То есть он пустой. Хотя я днём проверял -- там всё было.
Беру свой ноутбук и еду к нему. Подключаю диск -- всё есть. У него на компьютере (Windows 10) этот каталог пустой (или вообще не было подкаталога с этой датой, уже не помню. Другие были.)
Потом, правда, возникла мысль, что я записывал свои файлы в немного другой каталог. Но пока это не проверял.
Дело в том, что я кроме каталога $MESTO, например mkdir ДМШ10 создаю ещё ln -s ДМШ10 "Детская Музыкальная Школа №10". Может быть я записывал съёмку не в основной каталог, а по ссылке. Но очень сомневаюсь.
Спасибо сказали:
Ответить