Проблема использования файловой системы, подобной ext4
USB-карте или карте памяти, заключается в том, что при подключении к другой системе UID / GID диска может отсутствовать.
Можно ли это исправить с помощью опции монтирования?
Проблема использования файловой системы, подобной ext4
USB-карте или карте памяти, заключается в том, что при подключении к другой системе UID / GID диска может отсутствовать.
Можно ли это исправить с помощью опции монтирования?
Ответы:
Я предполагаю, что вы надеетесь найти эквивалент параметров uid=N
и gid=N
, поддерживаемых некоторыми другими файловыми системами, mount
о которых знает команда Linux . Извините, но нет, у ext4 такой опции нет.
Эти другие файловые системы имеют такую опцию для предоставления разрешений файлам для файловой системы, которая может не иметь полезных разрешений POSIX. Вы хотите отобрать разрешения или, по крайней мере, переназначить их, что является плохой идеей с точки зрения безопасности, и, несомненно, почему эти опции не существуют.
Когда вы используете файловую систему вроде ext4 на съемном носителе, вы говорите, что заботитесь о таких вещах, как разрешения POSIX. Это означает, что для синхронизации идентификаторов пользователей и групп необходимо выполнить те же действия, что и, например, для NFS.
Если вы на самом деле не заботитесь о разрешениях, возможно, существует более подходящая файловая система для вашей ситуации.
Я попробовал UDF в качестве кандидата на такую файловую систему после комментария ниже, но, увы, он не будет работать:
Если вы создадите файловую систему UDF на одном из блоков Linux, добавите в нее файлы, измените их разрешения и смонтируете их на другом блоке Linux, он будет подчиняться разрешениям, которые он там находит, даже если вы их предоставите uid=N,gid=N
. Вы должны синхронизировать UID и GID здесь, как с NFS.
Mac OS X ведет себя так, как и ожидалось: она считает, что ей принадлежит все в файловой системе UDF, созданной на Linux-компьютере. Но, добавьте файл на диск, и он установит UID и GID файла, которому будет подчиняться коробка Linux.
Если вы затем попытаетесь смонтировать эту файловую систему на коробку FreeBSD, она закричит invalid argument
. Я предполагаю, что это потому, что разработчики ядра не понимали, что UDF может появиться на неоптических носителях, просто потому, что я не мог найти никаких сообщений об успехах в Интернете. Возможно, есть магическое заклинание, которое я пропустил.
Как сообщается, можно заставить работать жесткий диск UDF в Windows, но он очень требователен к тому, как он создается. Если вам нужно, чтобы это работало, вероятно, лучше всего отформатировать из Windows. Из командной строки:
format /fs:udf x:
Не используйте /q
: это создает файловую систему, которая с меньшей вероятностью монтируется в других ОС.
Обратите внимание, что UDF только для чтения / записи в Vista и новее. XP установит жесткий диск UDF, созданный в Vista, но не сможет записать на него.
Некоторая форма FAT, вероятно, является лучшим вариантом здесь. Если вы избегаете этого из-за ограничения размера файла в FAT32 4 ГБ, вы можете рассмотреть exFAT . Существует бесплатная версия FUSE доступна.
NTFS также может работать, если вы используете последние дистрибутивы Linux, которые включают надежную поддержку чтения / записи для NTFS.