Другой UID / GID при использовании USB-накопителя в формате ext4 с другим компьютером

11

Проблема использования файловой системы, подобной ext4USB-карте или карте памяти, заключается в том, что при подключении к другой системе UID / GID диска может отсутствовать.

Можно ли это исправить с помощью опции монтирования?

Марк
источник
Аналогичный вопрос: askubuntu.com/questions/12009/…
jofel

Ответы:

11

Я предполагаю, что вы надеетесь найти эквивалент параметров 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.

Уоррен Янг
источник
Некоторое время назад я сделал некоторые исправления этих опций в udf и добавил их в ext [234], который некоторое время был в моем списке задач. Кажется глупым, что вы можете сделать это с помощью udf, а macs может сделать это с помощью своего hfsplus, но linux по-прежнему не может с предпочитаемым fs.
psusi
3
На самом деле UDF имеет разрешения posix. Если вы не укажете параметры uid / gid, он сохранит владельца и разрешения точно так же, как ext [234] или любой другой posix fs. Если вы укажете идентификатор, по умолчанию он будет переведен в -1 при записи на диск, а при чтении с диска - в -1. Это позволяет обычному пользователю легко перемещать файлы между системами, где их идентификатор отличается. Несколько лет назад я добавил «игнорировать» в качестве значения, чтобы всегда применять идентификатор, а не только когда он равен -1 на диске, и «забывать» всегда записывает -1 на диск, независимо от того, совпадает ли владелец с идентификатором по умолчанию или нет.
psusi
Я подозреваю, что причина, по которой они допускают это для UDF, заключается в том, что UDF обычно используется с CD-RW и DVD. Это делает его «мобильной» файловой системой, поэтому применение пропущенных прав владения будет обычной потребностью. Кроме того, вероятно, редко можно увидеть файловую систему UDF, которая включает права пользователей и групп. Я все еще думаю, что добавление такой опции в ext4 было бы потенциальной дырой в безопасности. Но, если это не имеет значения для вас, возможно, UDF является хорошей альтернативой ext4 в этом случае.
Уоррен Янг
Таким образом, UDF - отличное решение для устройств, которые будут использоваться в разных операционных системах, а не в vfat.
Марк
1
Единственная защита для съемных носителей - это физическая защита или шифрование. Неважно, что вы используете, если вы дадите мне диск, я всегда смогу подключить его и изменить разрешения. Возможность автоматически переопределить это просто вопрос удобства.
Псуси