|
|||||||
Опции команды mount и опции монтирования
Время создания: 09.12.2022 12:33
Текстовые метки: linux, mount, монтирование, опции, файловая система, раздел, диск, ext4, ext3, ext2, ext, ntfs, fat, exfat, umsdos, msdos, vfat, vboxsf, iso9660, udf, fuse, tmpfs, cifs, smb3
Раздел: Компьютер - Linux - Bash - Команды и скрипты
Запись: xintrea/mytetra_syncro/master/base/1670578396ezepuidmdv/text.html на raw.github.com
|
|||||||
|
|||||||
Дисклеймер: В этой статье методично сделано описание опций монтирования на русском языке для всех популярных файловых систем: ext4, ext3, ext2, ext, ntfs, fat, exfat, umsdos, msdos, vfat, vboxsf, iso9660, udf, fuse, tmpfs, cifs, smb3. Данные файловые системы используются в Linux, Windows, MacOs, а так же при организации сетевых файловых хранилищ (файл-серверов). Опции команды mount Полный набор опций монтирования, используемых при вызове монтирования, определяется сначала извлечением опций монтирования для файловой системы из таблицы fstab, затем применением любых опций, указанных аргументом -o, и, наконец, применением опции -r или -w, если они присутствуют. Параметры командной строки, доступные для команды mount: -a, --all Смонтировать все файловые системы (указанных типов), упомянутые в fstab (кроме тех, чья строка содержит ключевое слово noauto). Файловые системы монтируются в соответствии с их порядком в fstab. Команда mount сравнивает источник файловой системы, цель (и корень fs для bind mount или btrfs) для обнаружения уже смонтированных файловых систем. Таблица ядра с уже смонтированными файловыми системами кэшируется во время монтирования --all. Это означает, что все повторяющиеся записи fstab будут смонтированы. Параметр --all также можно использовать для операции повторного монтирования. В этом случае все фильтры (-t и -O) применяются к таблице уже смонтированных файловых систем. Начиная с версии 2.35, можно использовать параметр командной строки -o для изменения параметров монтирования из fstab (см. также --options-mode). Обратите внимание, что использование mount -a для проверки fstab — плохая практика. Рекомендуемое решение: findmnt --verify -B, --bind Перемонтировать поддерево в другом месте (чтобы его содержимое было доступно в обоих местах). -c, --no-canonicalize Не канонизировать пути. Команда mount по умолчанию канонизирует все пути (из командной строки или fstab). Этот параметр можно использовать вместе с флагом -f для уже канонизированных абсолютных путей. Опция предназначена для помощников монтирования, которые вызывают mount -i. Настоятельно рекомендуется не использовать этот параметр командной строки для обычных операций монтирования. Обратите внимание, что mount не передаёт эту опцию помощникам /sbin/mount.ТИП. -F, --fork (Используется вместе с -a.) Разветвляет новое воплощение mount для каждого устройства. Это позволит выполнять монтирование на разных устройствах или на разных серверах NFS параллельно. Эта опция имеет преимущество в скорости; также таймауты NFS продолжаются параллельно. Недостатком является то, что порядок операций монтирования не определён. Таким образом, вы не можете использовать эту опцию, если хотите монтировать и /usr и /usr/spool. -f, --fake Делает все, кроме самого системного вызова; проще говоря, это подделка монтирования файловой системы. Эта опция полезна вместе с флагом -v, чтобы определить, что пытается сделать команда монтирования. Её также можно использовать для добавления записей для устройств, которые были смонтированы ранее с параметром -n. Параметр -f проверяет наличие существующей записи в /etc/mtab и завершается ошибкой, если запись уже существует (при обычном монтировании без подделки эта проверка выполняется ядром). -i, --internal-only Не вызывать помощник /sbin/mount.ФАЙЛОВАЯ-СИСТЕМА, даже если он существует. -L, --label МЕТКА Скопировать раздел, имеющий указанную метку. -l, --show-labels Добавляет метки в вывод монтирования. Для этого у mount должно быть разрешение на чтение с дискового устройства (например, root-идентификатор пользователя). Такую метку можно установить для ext2, ext3 и ext4 с помощью утилиты e2label, для XFS с помощью xfs_admin и для reiserfs с помощью reiserfstune. -M, --move Переместить поддерево в другое место. Смотри подраздел «Перемещение точки монтирования». -n, --no-mtab Смонтировать без записи в /etc/mtab. Это необходимо, например, когда /etc находится в файловой системе, доступной только для чтения. -N, --namespace ns Выполнит операцию монтирования в пространстве имён монтирования, указанном ns. ns — это либо PID процесса, запущенного в этом пространстве имён, либо специальный файл, представляющий это пространство имён. mount переключается на пространство имён mount, когда он читает /etc/fstab, записывает /etc/mtab (или записывает в /run/mount) и вызывает системный вызов mount, в противном случае он выполняется в исходном пространстве имён mount. Это означает, что целевое пространство имён необязательно должно содержать какие-либо библиотеки или другие требования, необходимые для выполнения вызова mount. Смотрите mount_namespaces для получения дополнительной информации. -O, --test-opts opts Ограничивает набор файловых систем, к которым применяется опция -a. В этом отношении он похож на параметр -t, за исключением того, что -O бесполезен без -a. Например, команда: mount -a -O no_netdev монтирует все файловые системы, кроме тех, для которых параметр _netdev указан в поле параметров в файле /etc/fstab. Она отличается от -t тем, что каждый параметр соответствует точно; ведущее «no» в начале одного варианта не отменяет остальных. Опции -t и -O действуют кумулятивно; то есть команда: mount -a -t ext2 -O _netdev монтирует все файловые системы ext2 с параметром _netdev, а не файловые системы, которые либо ext2, либо с указанным параметром _netdev. -o, --options ОПЦИИ Использовать указанные параметры монтирования. Аргумент ОПЦИИ представляет собой список, разделённый запятыми. Например: mount LABEL=mydisk -o noatime,nodev,nosuid --options-mode РЕЖИМ Управляет тем, как комбинировать параметры из fstab/mtab с параметрами из командной строки. РЕЖИМ может быть одним из ignore (игнорирования), append (добавления), prepend (добавления перед) или replace (замены). Например, append означает, что параметры из fstab добавляются к параметрам из командной строки. Значение по умолчанию — prepend — это означает, что параметры командной строки оцениваются после параметров fstab. Обратите внимание, что последний вариант выигрывает, если есть конфликтующие. --options-source ИСТОЧНИК Источник опций по умолчанию. ИСТОЧНИК — это список файлов fstab, mtab и disable, разделённых запятыми. disable отключает fstab и mtab и отключает --options-source-force. Значение по умолчанию — fstab,mtab. --options-source-force Использовать параметры из fstab/mtab, даже если указаны и устройство, и каталог. -R, --rbind Перемонтировать поддерево и все возможные подмонтирования в другом месте (чтобы его содержимое было доступно в обоих местах). Смысл опции в привязке директории с файловой системой через bind. -r, --read-only Монтирует файловую систему только для чтения. Синоним -o ro. Обратите внимание, что, в зависимости от типа файловой системы, состояния и поведения ядра, система все ещё может записывать данные на устройство. Например, ext3 и ext4 будут воспроизводить журнал, если файловая система загрязнена. Чтобы предотвратить такой доступ для записи, вы можете смонтировать файловую систему ext3 или ext4 с параметрами монтирования ro,noload или установить само блочное устройство в режим только для чтения, для этого используйте команду blockdev. -s Терпит неаккуратные варианты монтирования вместо завершения работы с ошибкой. При этом будут проигнорированы параметры монтирования, не поддерживаемые типом файловой системы. Не все файловые системы поддерживают эту опцию. В настоящее время она поддерживается только помощником монтирования mount.nfs. --source УСТРОЙСТВО Если указан только один аргумент для команды монтирования, то этот аргумент может интерпретироваться как цель (точка монтирования) или источник (устройство). Эта опция позволяет вам явно указать, что аргумент является источником монтирования. --target ДИРЕКТОРИЯ Если указан только один аргумент для команды монтирования, то этот аргумент может интерпретироваться как цель (точка монтирования) или источник (устройство). Эта опция позволяет вам явно указать, что аргумент является целью монтирования. --target-prefix ДИРЕКТОРИЯ Добавляет указанный каталог ко всем целям монтирования. Этот параметр можно использовать для отслеживания fstab, но операции монтирования выполняются в другом месте, например: mount --all --target-prefix /chroot -o X-mount.mkdir монтирует всё из системного fstab в /chroot, все отсутствующие точки монтирования создаются (из-за X-mount.mkdir). Смотрите также --fstab, чтобы использовать альтернативный fstab. -T, --fstab ПУТЬ Задаёт альтернативный файл fstab. Если ПУТЬ — это каталог, то файлы в каталоге сортируются с помощью strverscmp; файлы, начинающиеся с "." или без расширения .fstab игнорируются. Опция может быть указана более одного раза. Этот параметр в основном разработан для сценариев initramfs или chroot, где указывается дополнительная конфигурация помимо стандартной конфигурации системы. Обратите внимание, что mount не передаёт параметр --fstab помощникам /sbin/mount.ТИП, что означает, что альтернативные файлы fstab будут невидимы для помощников. Это не проблема для обычных монтирований, но пользовательские (не root) монтирования всегда требуют fstab для проверки прав пользователя. -t, --types fstype Аргумент, следующий за -t, используется для указания типа файловой системы. Типы файловых систем, которые в настоящее время поддерживаются, зависят от работающего ядра. Смотрите /proc/filesystems и /lib/modules/$(uname -r)/kernel/fs для получения полного списка файловых систем. Наиболее распространены ext2, ext3, ext4, xfs, btrfs, vfat, sysfs, proc, nfs и cifs. Программы mount и umount поддерживают подтипы файловых систем. Подтип определяется суффиксом «.subtype». Например, «fuse.sshfs». Рекомендуется использовать обозначение подтипа вместо добавления префикса к источнику монтирования (например, «sshfs#example.com» является устаревшим). Если опция -t не указана или указан тип auto, mount попытается угадать желаемый тип. Mount использует библиотеку blkid для определения типа файловой системы; если при этом не появится ничего знакомого, mount попытается прочитать файл /etc/filesystems или, если он не существует, /proc/filesystems. Будут опробованы все перечисленные там типы файловых систем, кроме тех, которые помечены как «nodev» (например, devpts, proc и nfs). Если /etc/filesystems оканчивается строкой с одним *, то mount затем прочитает /proc/filesystems. Во время попытки все типы файловых систем будут смонтированы с опцией монтирования silent. Создание файла /etc/filesystems может быть полезно для изменения порядка проверки (например, чтобы попробовать vfat перед msdos или ext3 перед ext2) или если вы используете автозагрузчик модуля ядра. Для параметра -t, а также в записи /etc/fstab можно указать несколько типов, разделённых запятой. Список типов файловых систем для параметра -t может начинаться с префикса no, чтобы указать типы файловых систем, с которыми не следует предпринимать никаких действий. Префикс no не действует, если он указан в записи /etc/fstab. Префикс no может иметь значение с параметром -a. Например, команда mount -a -t nomsdos,smbfs монтирует все файловые системы, кроме систем типа msdos и smbfs. Для большинства типов всё, что нужно сделать программе mount, - это выполнить простой системный вызов mount, и никаких подробных знаний о типе файловой системы не требуется. Однако для некоторых типов (таких как nfs, nfs4, cifs, smbfs, ncpfs) необходим специальный код. Файловые системы nfs, nfs4, cifs, smbfs и ncpfs имеют отдельную программу монтирования. Чтобы можно было обрабатывать все типы единообразно, mount будет выполнять программу /sbin/mount.ТИП (если она существует) при вызове с типом ТИП. Поскольку разные версии программы smbmount имеют разные соглашения о вызовах, /sbin/mount.smbfs может быть сценарием оболочки, который устанавливает желаемый вызов. -U, --uuid uuid Монтирует раздел с указанным uuid. -v, --verbose Подробный режим. -w, --rw, --read-write Монтирует файловую систему для чтения/записи. Чтение-запись — это значение по умолчанию ядра, а монтировании по умолчанию только для чтения выполняется при попытке монтирования, если предыдущий системный вызов монтирования с флагами чтения-записи на защищённых от записи устройствах файловых систем завершился неудачно. Синоним -o rw. Обратите внимание, что указание -w в командной строке заставляет mount никогда не пробовать монтирование только для чтения на устройствах защищённых от записи или уже смонтированных файловых системах только для чтения. -V, --version Показать информацию о версии и выйти. -h, --help Показать текст справки и выйти. Опции монтирования, не зависящие от файловой системы Некоторые из этих параметров полезны только тогда, когда они появляются в файле /etc/fstab. Некоторые из этих параметров могут быть включены или отключены по умолчанию в ядре системы. Чтобы проверить текущую настройку, смотрите параметры в /proc/mounts. Обратите внимание, что файловые системы также имеют параметры монтирования по умолчанию для каждой файловой системы. Например, чтобы посмотреть установленные параметры для файловых систем extN выполните команду вида: tune2fs -l /dev/РАЗДЕЛ Следующие параметры применяются к любой монтируемой файловой системе (но на самом деле не каждая файловая система учитывает их — например, параметр sync сегодня действует только для ext2, ext3, ext4, fat, vfat, ufs и xfs): async Все операции ввода-вывода в файловую систему должны выполняться асинхронно. (Смотрите также параметр sync.) atime Не использовать функцию noatime, поэтому время доступа к inode контролируется настройками ядра по умолчанию. Смотрите также описание параметров монтирования relatime и strictatime. noatime Не обновлять время доступа к индексным дескрипторам в этой файловой системе. Это работает для всех типов inode (также для каталогов), поэтому подразумевает nodiratime. auto Может быть смонтирован при запуске mount с опцией -a. noauto Может быть смонтирован только явно (т.е. опция -a не приведёт к монтированию файловой системы). context=КОНТЕКСТ, fscontext=КОНТЕКСТ, defcontext=КОНТЕКСТ и rootcontext=КОНТЕКСТ Параметр context= полезен при монтировании файловых систем, которые не поддерживают расширенные атрибуты, таких как дискета или жёсткий диск, отформатированные с помощью VFAT, или системы, которые обычно не работают под SELinux, например, отформатированный в ext3 или ext4 диск из рабочей станции не-SELinux. Вы также можете использовать context= для файловых систем, которым вы не доверяете, например, для дискет. Это также помогает в совместимости с файловыми системами, поддерживающими xattr, в более ранних версиях ядра 2.4.<x>. Даже там, где поддерживаются xattrs, вы можете сэкономить время, не помечая каждый файл, назначив всему диску один контекст безопасности. Обычно для съёмных носителей используется параметр «context="system_u:object_r:removable_t"». Два других параметра — это fscontext= и defcontext=, они оба исключают параметр context=. Это означает, что вы можете использовать fscontext и defcontext друг с другом, но ни один из них не может использоваться с context. Параметр fscontext= работает для всех файловых систем, независимо от их поддержки xattr. Опция fscontext устанавливает общую метку файловой системы для определённого контекста безопасности. Эта метка файловой системы отделена от отдельных меток файлов. Она представляет всю файловую систему для определённых видов проверок разрешений, например, во время монтирования или создания файла. Индивидуальные метки файлов по-прежнему берутся из xattrs самих файлов. Параметр context фактически устанавливает совокупный контекст, который предоставляет fscontext, в дополнение к предоставлению той же метки для отдельных файлов. Вы можете установить контекст безопасности по умолчанию для немаркированных файлов, используя опцию defcontext=. Это переопределяет значение, установленное для немаркированных файлов в политике, и требует файловой системы, поддерживающей маркировку xattr. Параметр rootcontext= позволяет вам явно пометить корневой индексный узел монтируемой файловой системы до того, как эта файловая система или индексный узел станет видимым для пользовательского пространства. Это оказалось полезным для таких вещей, как Linux без сохранения состояния. Обратите внимание, что ядро отклоняет любой запрос перемонтирования, который включает параметр контекста, даже если он не изменился по сравнению с текущим контекстом. Предупреждение: значение context может содержать запятые, и в этом случае значение должно быть правильно заключено в кавычки, иначе mount интерпретирует запятую как разделитель между параметрами монтирования. Не забывайте, что оболочка удаляет кавычки, и поэтому требуется двойное цитирование. Например: mount -t tmpfs none /mnt -o 'context="system_u:object_r:tmp_t:s0:c127,c456",noexec' Больше подробностей смотрите в справке по selinux. defaults Использовать параметры по умолчанию: rw, suid, dev, exec, auto, nouser и async. Обратите внимание, что реальный набор всех параметров монтирования по умолчанию зависит от типа ядра и файловой системы. dev Интерпретировать специальные символьные или блочные устройства в файловой системе. nodev Не интерпретировать специальные символьные или блочные устройства в файловой системе. diratime Обновлять время доступа inode к каталогу в этой файловой системе. Это значение по умолчанию. (Этот параметр игнорируется, если установлено noatime.) nodiratime Не обновлять время доступа inode к каталогу в этой файловой системе. (Этот параметр подразумевается, если установлен noatime.) dirsync Все обновления каталогов в файловой системе должны выполняться синхронно. Это влияет на следующие системные вызовы: creat, link, unlink, symlink, mkdir, rmdir, mknod и rename. exec Разрешить выполнение двоичных файлов. noexec Не разрешать прямое выполнение любых двоичных файлов в смонтированной файловой системе. group Разрешить обычному пользователю монтировать файловую систему, если одна из групп этого пользователя соответствует группе устройства. Этот параметр подразумевает параметры nosuid и nodev (если они не переопределены последующими параметрами в строке опций group,dev,suid). iversion Каждый раз, когда изменяется индексный дескриптор, поле i_version будет увеличиваться. noiversion Не увеличивать поле иноды i_version. mand Разрешить обязательную блокировку этой файловой системы. Смотрите fcntl. nomand Не разрешать принудительные блокировки этой файловой системы. _netdev Файловая система находится на устройстве, которому требуется доступ к сети (используется для предотвращения попыток системы смонтировать эти файловые системы до тех пор, пока в системе не будет включена сеть). nofail Не сообщать об ошибках для этого устройства, если оно не существует. relatime Обновить время доступа к inode относительно времени модификации или изменения. Время доступа обновляется, только если предыдущее время доступа было раньше, чем текущее время модификации или изменения. (Подобно noatime, но не нарушает работу mutt или других приложений, которым необходимо знать, был ли файл прочитан с момента последнего изменения.) Начиная с Linux 2.6.30, ядро по умолчанию использует поведение, обеспечиваемое этой опцией (если не указано noatime), а опция strictatime требуется для получения традиционной семантики. Кроме того, начиная с Linux 2.6.30, время последнего доступа к файлу всегда обновляется, если ему более 1 дня. norelatime Не использовать функцию relatime. Смотрите также вариант монтирования strictatime. strictatime Позволяет явно запрашивать полные обновления времени. Это позволяет ядру по умолчанию использовать relatime или noatime, но все же позволяет пользовательскому пространству переопределять его. Для получения дополнительных сведений о параметрах монтирования системы по умолчанию смотрите /proc/mounts. nostrictatime Использовать поведение ядра по умолчанию для обновления времени доступа inode. lazytime Обновлять только время (atime, mtime, ctime) версии файловых inode в памяти. Эта опция монтирования значительно сокращает количество операций записи в таблицу inode для рабочих нагрузок, которые часто выполняют произвольную запись в заранее выделенные файлы. Временные метки на диске обновляются только в следующих случаях:
nolazytime Не использовать функцию lazytime. suid Учитывать биты set-user-ID и set-group-ID или возможности файлов при выполнении программ из этой файловой системы. nosuid Не соблюдать биты set-user-ID и set-group-ID или возможности файла при выполнении программ из этой файловой системы. silent Включить флаг silent. loud Выключить флаг silent. owner Разрешить обычному пользователю монтировать файловую систему, если этот пользователь является владельцем устройства. Этот параметр подразумевает параметры nosuid и nodev (если они не отменены последующими параметрами, как в строке параметров owner,dev,suid). remount Попытка перемонтировать уже смонтированную файловую систему. Обычно это используется для изменения флагов монтирования файловой системы, особенно для того, чтобы сделать файловую систему доступной для записи. Это не меняет устройство или точку монтирования. Операция перемонтирования вместе с флагом bind имеет особую семантику. Смотри подраздел «Операция привязки bind». Функциональность повторного монтирования соответствует стандартному способу работы команды mount с параметрами из fstab. Это означает, что mount не читает fstab (или mtab) только тогда, когда указаны и устройство, и каталог. mount -o remount,rw /dev/foo /dir После этого вызова все старые параметры монтирования заменяются, а произвольный материал из fstab (или mtab) игнорируется, за исключением параметра loop=, который генерируется внутри и поддерживается командой mount. mount -o remount,rw /dir После этого вызова mount читает fstab и объединяет эти параметры с параметрами из командной строки (-o). Если в fstab не найдена точка монтирования, то разрешено перемонтирование с неуказанным источником. mount позволяет использовать --all для перемонтирования всех уже смонтированных файловых систем, которые соответствуют указанному фильтру (-O и -t). Например: mount --all -o remount,ro -t vfat перемонтирует все уже смонтированные файловые системы vfat в режиме только для чтения. Каждая из файловых систем перемонтируется семантикой «mount -o remount,ro /dir». Это означает, что команда mount считывает fstab или mtab и объединяет эти параметры с параметрами из командной строки. ro Смонтировать файловую систему только для чтения. rw Смонтировать файловую систему для чтения-записи. sync Все операции ввода-вывода в файловую систему должны выполняться синхронно. В случае носителей с ограниченным числом циклов записи (например, некоторые флэш-накопители) синхронизация может привести к сокращению жизненного цикла. user Разрешить обычному пользователю монтировать файловую систему. Имя монтирующего пользователя записывается в файл mtab (или в частный файл libmount в /run/mount в системах без обычного mtab), чтобы этот же пользователь мог снова размонтировать файловую систему. Этот параметр подразумевает параметры noexec, nosuid и nodev (если они не отменены последующими параметрами, как в строке параметров user,exec,dev,suid). nouser Запретить обычному пользователю монтировать файловую систему. Это значение по умолчанию; поэтому данную опцию можно не указывать. users Разрешить любому пользователю монтировать и размонтировать файловую систему, даже если её смонтировал другой обычный пользователь. Этот параметр подразумевает параметры noexec, nosuid и nodev (если они не отменены последующими параметрами, как в строке параметров users,exec,dev,suid). X-* Все параметры с префиксом «X-» интерпретируются как комментарии или как параметры конкретного приложения в пользовательском пространстве. Эти параметры не хранятся в пользовательском пространстве (например, в файле mtab), не отправляются в помощники mount.ТИП или в системный вызов mount. Предлагаемый формат — X-appname.option. x-* То же, что и параметры X-*, но постоянно хранятся в пользовательском пространстве. Это означает, что параметры также доступны для размонтирования или других операций. Обратите внимание, что поддерживать параметры монтирования в пользовательском пространстве сложно, потому что необходимо использовать инструменты на основе libmount, и нет гарантии, что параметры будут всегда доступны (например, после операции монтирования перемещения или в неразделенном пространстве имён). Обратите внимание, что до util-linux v2.30 параметры x-* не поддерживались libmount и не хранились в пространстве пользователя (функциональность была такой же, как и для X-* сейчас), но из-за растущего числа вариантов использования (в initrd, systemd и т. д.) функциональность была расширена, чтобы можно было использовать существующие конфигурации fstab без изменений. X-mount.mkdir[=РЕЖИМ] Разрешить создать целевой каталог (точку монтирования), если она ещё не существует. Необязательный аргумент РЕЖИМ определяет режим доступа к файловой системе, используемый для mkdir, в восьмеричной системе счисления. Режим по умолчанию — 0755. Эта функция поддерживается только для пользователей root или при монтировании без прав suid. Опция также поддерживается как x-mount.mkdir, эта нотация устарела с версии 2.30. Опции монтирования, специфичные для файловых систем В этом разделе перечислены параметры, относящиеся к конкретным файловым системам. Следующие параметры применимы только к определенным файловым системам. Все параметры следуют за флагом -o. Какие опции поддерживаются немного зависит от работающего ядра. Файловые системы ext4, ext3, ext2, ext ext — это сложное расширение файловой системы minix. Она была полностью заменена второй версией расширенной файловой системы (ext2) и была удалён из ядра (в 2.1.21). ext2 — это высокопроизводительная дисковая файловая система, используемая Linux для фиксированных дисков, а также съёмных носителей. Вторая расширенная файловая система была разработана как расширение расширенной файловой системы (ext). ext3 — это журналируемая версия файловой системы ext2. Легко переключаться между ext2 и ext3. ext4 — это набор обновлений для ext3, включая существенные улучшения производительности и надёжности, а также значительное увеличение ограничений на размер тома, файла и каталога. Вторая, третья и четвёртая расширенные файловые системы, или, как их обычно называют, ext2, ext3 и ext4 — это файловые системы Linux, которые исторически были файловой системой по умолчанию для многих дистрибутивов Linux. Это файловые системы общего назначения, которые были разработаны для обеспечения расширяемости и обратной совместимости. В частности, файловые системы, ранее предназначенные для использования с файловыми системами ext2 и ext3, могут быть смонтированы с помощью драйвера файловой системы ext4, и действительно, во многих современных дистрибутивах Linux драйвер файловой системы ext4 настроен для обработки запросов монтирования для файловых систем ext2 и ext3. Опции монтирования для ext2Файловая система ext2 — это стандартная файловая система Linux. Начиная с Linux 2.5.46, для большинства параметров монтирования значение по умолчанию определяется суперблоком файловой системы. Установить их можно с помощью tune2fs. acl|noacl Поддержка списков контроля доступа POSIX (или нет). Смотрите страницу руководства по acl. bsddf|minixdf Задаёт поведение для системного вызова statfs. Поведение minixdf состоит в том, чтобы вернуть в поле f_blocks общее количество блоков файловой системы, в то время как поведение bsddf (которое является по умолчанию) заключается в вычитании служебных блоков, используемых файловой системой ext2 и недоступных для хранения файлов. Таким образом mount /k -o minixdf; df /k; umount /k
Filesystem 1024-blocks Used Available Capacity Mounted on /dev/sda6 2630655 86954 2412169 3% /k
mount /k -o bsddf; df /k; umount /k
Filesystem 1024-blocks Used Available Capacity Mounted on /dev/sda6 2543714 13 2412169 0% /k (Обратите внимание, что в этом примере показано, что можно добавить параметры командной строки к параметрам, указанным в /etc/fstab.) check=none или nocheck Во время монтирования проверка не выполняется. Это значение по умолчанию. Это быстро. Целесообразно время от времени вызывать e2fsck, например во время загрузки. Поведение не по умолчанию не поддерживается (параметры check=normal и check=strict были удалены). Обратите внимание, что эти параметры монтирования не должны поддерживаться, если драйвер ядра ext4 используется для файловых систем ext2 и ext3. debug Печать отладочной информации при каждом (повторном) монтировании. errors={continue|remount-ro|panic} Определяет поведение при обнаружении ошибки. (Либо игнорировать ошибки и просто отметить файловую систему как ошибочную и продолжить (continue), либо перемонтировать файловую систему только для чтения (remount-ro), либо паниковать и остановить систему (panic)) Значение по умолчанию устанавливается в суперблоке файловой системы и может быть изменено с помощью tune2fs. grpid|bsdgroups и nogrpid|sysvgroups Эти параметры определяют, какой идентификатор группы получает вновь созданный файл. Когда установлен grpid, он принимает идентификатор группы каталога, в котором он создан; в противном случае (по умолчанию) он принимает fsgid текущего процесса, если для каталога не установлен бит setgid, и в этом случае он берет gid из родительского каталога, а также получает установленный бит setgid, если это сам каталог. grpquota|noquota|quota|usrquota Параметр монтирования usrquota (то же, что и quota) включает поддержку пользовательских квот в файловой системе. grpquota включает поддержку групповых квот. Вам нужны утилиты quota, чтобы фактически включить систему квот и управлять ею. nouid32 Отключает 32-битные UID и GID. Это сделано для взаимодействия со старыми ядрами, которые хранят и ожидают только 16-битные значения. oldalloc или orlov Использовать старый распределитель или распределитель Орлова для новых inodes. По умолчанию — orlov. resgid=n и resuid=n Файловая система ext2 резервирует определённый процент доступного пространства (по умолчанию 5%, смотрите mke2fs(8) и tune2fs(8)). Эти параметры определяют, кто может использовать зарезервированные блоки. (Примерно: тот, кто имеет указанный uid или принадлежит к указанной группе.) sb=n Вместо использования обычного суперблока использовать альтернативный суперблок, указанный в n. Эта опция обычно используется, когда повреждён первичный суперблок. Расположение суперблоков резервного копирования зависит от размера блока файловой системы, количества блоков в группе и таких функций, как sparse_super. Дополнительные резервные суперблоки могут быть определены с помощью программы mke2fs с использованием опции -n для вывода на печать, где существуют суперблоки, предполагая, что mke2fs снабжён аргументами, которые соответствуют структуре файловой системы (например, размер блока, количество блоков на группу, sparse_super и т. д.) . Номер блока здесь использует 1 k единиц. Таким образом, если вы хотите использовать логический блок 32768 в файловой системе с 4k блоками, используйте «sb=131072». user_xattr|nouser_xattr Поддержка «пользовательских» расширенных атрибутов (или нет). Опции монтирования для ext3Файловая система ext3 — это версия файловой системы ext2, в которую добавлено ведение журнала. Она поддерживает те же параметры, что и ext2, а также следующие дополнения: journal_dev=devnum/journal_path=ПУТЬ Когда старший/младший номер внешнего устройства журнала изменились, эти параметры позволяют пользователю указать новое местоположение журнала. Журнальное устройство идентифицируется либо по его новым старшим/младшим номерам, закодированным в devnum, либо по пути к устройству. norecovery/noload Не загружать журнал при монтировании. Обратите внимание: если файловая система не была размонтирована чисто, пропуск воспроизведения журнала приведёт к тому, что файловая система будет содержать несогласованности, которые могут привести к любому количеству проблем. data={journal|ordered|writeback} Задаёт режим ведения журнала для данных файла. Метаданные всегда журналируются. Чтобы использовать в корневой файловой системе режимы, отличные от ordered, передайте режим ядру в качестве параметра загрузки, например rootflags=data=journal. journal Все данные фиксируются в журнале до записи в основную файловую систему. ordered Это режим «по умолчанию». Все данные принудительно передаются непосредственно в основную файловую систему до того, как их метаданные будут сохранены в журнале. writeback Порядок данных не сохраняется — данные могут быть записаны в основную файловую систему после того, как её метаданные были зафиксированы в журнале. По слухам, это самый высокопроизводительный вариант. Он гарантирует целостность внутренней файловой системы, однако может позволить старым данным появляться в файлах после сбоя и восстановления журнала. data_err=ignore Просто печатать сообщение об ошибке, если ошибка происходит в буфере данных файла в режиме ordered. data_err=abort Прервать журнал, если в буфере данных файла в режиме ordered возникла ошибка. barrier=0 / barrier=1 Это отключает/включает использование барьеров записи в коде jbd. barrier=0 отключает, barrier=1 включает (установлен по умолчанию). Для этого также требуется стек ввода-вывода, который может поддерживать барьеры, и если jbd получит ошибку при записи барьера, он снова отключит барьеры с предупреждением. Барьеры записи обеспечивают надлежащий порядок журнальных коммитов на диске, что делает использование кэшей записи на энергозависимый диск безопасным при некотором снижении производительности. Если ваши диски так или иначе имеют резервное питание от батареи, отключение барьеров может безопасно повысить производительность. commit=nrsec Начать фиксацию журнала каждые nrsec секунд. Значение по умолчанию — 5 секунд. Ноль означает по умолчанию. user_xattr Включает расширенные атрибуты пользователя. Смотрите страницу руководства attr(5). jqfmt={vfsold|vfsv0|vfsv1} Помимо старой системы квот (как в ext2, jqfmt=vfsold или квота версии 1) ext3 также поддерживает журналируемые квоты (квота версии 2). jqfmt=vfsv0 или jqfmt=vfsv1 включает журналируемые квоты. У журналируемых квот есть то преимущество, что даже после сбоя проверка квоты не требуется. Когда функция файловой системы квот включена, журналируемые квоты используются автоматически, и этот параметр монтирования игнорируется. usrjquota=aquota.user|grpjquota=aquota.group Для журналируемых квот (jqfmt=vfsv0 или jqfmt=vfsv1) параметры монтирования srjquota=aquota.user и grpjquota=aquota.group необходимы, чтобы указать системе квот, какие файлы базы данных квот использовать. Когда функция файловой системы квот включена, журналируемые квоты используются автоматически, и этот параметр монтирования игнорируется. Опции монтирования для ext4Файловая система ext4 — это продвинутый уровень файловой системы ext3, который включает улучшения масштабируемости и надёжности для поддержки больших файловых систем. Параметры journal_dev, journal_path, norecovery, noload, data, commit, orlov, oldalloc, [no]user_xattr, [no]acl, bsddf, minixdf, debug, errors, data_err, grpid, bsdgroups, nogrpid, sysvgroups, resgid, resuid, sb, quota, noquota, nouid32, grpquota, usrquota, usrjquota, grpjquota и jqfmt обратно совместимы с ext3 или ext2. journal_checksum | nojournal_checksum Параметр journal_checksum включает контрольную сумму проводок журнала. Это позволит коду восстановления в e2fsck и ядру обнаружить повреждение ядра. Это совместимое изменение, оно будет проигнорировано старыми ядрами. journal_async_commit Блок фиксации может быть записан на диск, не дожидаясь блоков дескриптора. Если включено, старые ядра не могут смонтировать устройство. Это включит «journal_checksum» внутри. barrier=0 / barrier=1 / barrier / nobarrier Эти параметры монтирования имеют тот же эффект, что и в ext3. Опции монтирования «barrier» и «nobarrier» добавлены для согласованности с другими вариантами монтирования ext4. Файловая система ext4 по умолчанию включает барьеры записи. inode_readahead_blks=n Этот параметр настройки контролирует максимальное количество блоков таблицы inode, которые алгоритм опережающего чтения таблицы inode ext4 будет предварительно считывать в буферный кеш. Значение должно быть степенью 2. Значение по умолчанию — 32 блока. stripe=n Количество блоков файловой системы, которые mballoc попытается использовать для размера выделения и выравнивания. Для систем RAID5/6 это должен быть номер размер блока дисковых данных * RAID в блоках файловой системы. delalloc Отсрочка выделения блока до времени списания. nodelalloc Отключить отложенное выделение. Блоки выделяются при копировании данных от пользователя в кеш страницы. max_batch_time=usec Максимальное время, в течение которого ext4 должна ожидать пакетной обработки дополнительных операций файловой системы вместе с синхронной операцией записи. Поскольку синхронная операция записи будет принудительно выполнить фиксацию, а затем дожидаться завершения ввода-вывода, это не требует больших затрат и может быть огромным выигрышем в пропускной способности, мы ждём небольшое количество времени, чтобы увидеть, есть ли другие транзакции, которые могут совмещаться с синхронной записью. Используемый алгоритм предназначен для автоматической настройки скорости диска путём измерения количества времени (в среднем), которое требуется для завершения фиксации транзакции. Назовите это время «временем фиксации». Если время выполнения транзакции меньше, чем время фиксации, ext4 попытается засыпать на время фиксации, чтобы увидеть, присоединятся ли к транзакции другие операции. Время фиксации ограничено max_batch_time, которое по умолчанию составляет 15000 мкс (15 мс). Эту оптимизацию можно полностью отключить, установив max_batch_time равным 0. min_batch_time=usec Этот параметр устанавливает время фиксации (как описано выше) как минимум min_batch_time. По умолчанию это ноль микросекунд. Увеличение этого параметра может улучшить пропускную способность многопоточных синхронных рабочих нагрузок на очень быстрых дисках за счёт увеличения задержки. journal_ioprio=prio Приоритет ввода-вывода (от 0 до 7, где 0 — наивысший приоритет), который следует использовать для операций ввода-вывода, отправленных kjournald2 во время операции фиксации. По умолчанию это 3, что является немного более высоким приоритетом, чем приоритет ввода-вывода по умолчанию. abort Смоделирует эффекты вызова ext4_abort() в целях отладки. Обычно это используется при перемонтировании уже смонтированной файловой системы. auto_da_alloc|noauto_da_alloc Многие плохие приложения не используют fsync() при замене существующих файлов с помощью таких шаблонов, как fd = open("foo.new")/write(fd,...)/close(fd)/ rename("foo.new", "foo") или ещё хуже fd = open("foo", O_TRUNC)/write(fd,...)/close(fd). Если auto_da_alloc включен, ext4 обнаружит шаблоны replace-via-rename и replace-via-truncate и сделает так, что любые отсроченные блоки выделялись таким образом, чтобы при следующей фиксации журнала в дефолтном режиме data=ordered блоки данных нового файла будут принудительно записаны на диск до того, как будет зафиксирована операция rename(). Это обеспечивает примерно тот же уровень гарантий, что и ext3, и позволяет избежать проблемы «нулевой длины», которая может возникнуть при сбое системы до того, как блоки отложенного распределения будут перенесены на диск. noinit_itable Не инициализировать никакие неинициализированные блоки таблицы inode в фоновом режиме. Эта функция может использоваться установочными компакт-дисками, чтобы процесс установки завершился как можно быстрее; тогда процесс инициализации таблицы inode будет отложен до следующего монтирования файловой системы. init_itable=n Код lazy itable инициализации будет ждать в n раз больше миллисекунд, которые потребовались для обнуления таблицы inode предыдущей группы блоков. Это сводит к минимуму влияние на производительность системы при инициализации таблицы inode файловой системы. discard/nodiscard Определяет, должна ли ext4 выдавать команды discard/TRIM базовому блочному устройству при освобождении блоков. Это полезно для устройств SSD и LUN с разреженным/тонким выделением ресурсов, но по умолчанию отключено, пока не будет проведено достаточное тестирование. block_validity/noblock_validity Эта опция включает/отключает встроенную функцию ядра для отслеживания блоков метаданных файловой системы во внутренних структурах данных. Это позволяет многоблочному распределителю и другим подпрограммам быстро находить экстенты, которые могут перекрываться с блоками метаданных файловой системы. Этот параметр предназначен для отладки и, поскольку он отрицательно влияет на производительность, по умолчанию отключён. dioread_lock/dioread_nolock Определяет, следует ли ext4 использовать блокировку чтения DIO. Если указана опция dioread_nolock, ext4 выделит неинициализированный экстент перед записью в буфер и преобразует экстент в инициализированный после завершения ввода-вывода. Этот подход позволяет коду ext4 избегать использования мьютекса inode, что улучшает масштабируемость на высокоскоростных хранилищах. Однако это не работает с журналированием данных, и параметр dioread_nolock будет проигнорирован с предупреждением ядра. Обратите внимание, что путь кода dioread_nolock используется только для файлов на основе экстентов. Из-за ограничений, содержащихся в этих параметрах, он по умолчанию отключён (например, dioread_lock). max_dir_size_kb=n Это ограничивает размер каталогов, так что любая попытка расширить их сверх указанного предела в килобайтах вызовет ошибку ENOSPC. Это полезно в средах с ограничением памяти, где очень большой каталог может вызвать серьёзные проблемы с производительностью или даже спровоцировать убийцу Out Of Memory. (Например, если доступно только 512 МБ памяти, каталог 176 МБ может серьёзно ограничить стиль системы.) i_version Включить поддержку 64-битной версии inode. По умолчанию этот параметр отключён. nombcache Эта опция отключает использование mbcache для расширенной дедупликации атрибутов. В системах, где расширенные атрибуты редко или никогда не используются совместно между файлами, использование mbcache для дедупликации добавляет ненужные вычислительные затраты. prjquota Параметр монтирования prjquota включает поддержку квот проекта в файловой системе. Вам нужны утилиты quota, чтобы фактически включить систему квот и управлять ею. Для этой опции монтирования требуется функция файловой системы project. АТРИБУТЫ ФАЙЛОВ Файловые системы ext2, ext3 и ext4 поддерживают установку следующих атрибутов файлов в системах Linux с помощью утилиты chattr(1):
В дополнение, файловые системы ext3 и ext4 поддерживают следующий флаг:
Наконец, файловая система ext4 также поддерживает следующий флаг:
Описание этих флагов атрибутов смотрите на странице руководства chattr(1). NTFS — заменяет файловые системы FAT в Microsoft Window (VFAT, FAT32). Она имеет улучшения надёжности, производительности и использования пространства, а также такие функции, как списки контроля доступа, ведение журнала, шифрование и т. д. iocharset=name Набор символов для использования при возврате имён файлов. В отличие от VFAT, NTFS подавляет имена, содержащие неконвертируемые символы. Не рекомендуется для использования. nls=name Новое имя для опции, ранее называвшейся iocharset. utf8 Использовать UTF-8 для преобразования имён файлов. uni_xlate={0|1|2} При 0 (или «no» или «false») не использовать escape-последовательности для неизвестных символов Unicode. При 1 (или «yes» или «true») или 2 использовать 4-байтовые escape-последовательности в стиле vfat, начинающиеся с «:». Здесь 2 задают обратную кодировку, а 1 — двоичную кодировку с обратным байтом. posix=[0|1] Если включено (posix=1), файловая система различает верхний и нижний регистр. Псевдонимы 8.3 представлены как жёсткие ссылки, а не подавляются. Эта опция устарела. uid=value, gid=value and umask=value Установит права доступа к файлу в файловой системе. Значение umask указывается в восьмеричном формате. По умолчанию файлы принадлежат пользователю root и никому не доступны для чтения. (Примечание: fat — это не отдельная файловая система, а общая часть файловых систем msdos, umsdos и vfat.) vfat — это расширенная файловая система FAT, используемая Microsoft Windows95 и Windows NT. vfat добавляет возможность использовать длинные имена файлов в файловой системе MSDOS. msdos — это файловая система, используемая DOS, Windows и некоторыми компьютерами OS/2. Имена файлов msdos не могут быть длиннее 8 символов, за которыми следует необязательная точка и 3-символьное расширение. umsdos — это расширенная файловая система DOS, используемая Linux. Он добавляет возможность для длинных имён файлов, UID/GID, разрешений POSIX и специальных файлов (устройств, именованных каналов и т. д.) в файловой системе DOS, не жертвуя совместимостью с DOS. blocksize={512|1024|2048} Установит размер блока (по умолчанию 512). Эта опция устарела. uid=ЗНАЧЕНИЕ и gid=ЗНАЧЕНИЕ Установит владельца и группу всех файлов. (По умолчанию: UID и GID текущего процесса.) umask=ЗНАЧЕНИЕ Установит umask (битовую маску разрешений, которых нет). По умолчанию используется маска umask текущего процесса. ЗНАЧЕНИЕ даётся в восьмеричном формате. dmask=ЗНАЧЕНИЕ Установит umask только для каталогов. По умолчанию используется маска umask текущего процесса. ЗНАЧЕНИЕ даётся в восьмеричном формате. fmask=ЗНАЧЕНИЕ Установит umask только для обычных файлов. По умолчанию используется маска umask текущего процесса. ЗНАЧЕНИЕ даётся в восьмеричном формате. allow_utime=ЗНАЧЕНИЕ Эта опция управляет проверкой разрешений mtime/atime. 20 Если текущий процесс находится в группе идентификаторов группы файлов, вы можете изменить метку времени. 2 Другие пользователи могут изменить метку времени. По умолчанию устанавливается из опции «dmask». (Если каталог доступен для записи, также разрешено использование utime(2). Т.е. ~dmask & 022) Обычно utime(2) проверяет, является ли текущий процесс владельцем файла или что у него есть возможность CAP_FOWNER. Но файловые системы FAT не имеют UID/GID на диске, поэтому обычная проверка слишком негибкая. С помощью этой опции можно её расслабить. check=ЗНАЧЕНИЕ Можно выбрать три разных уровня разборчивости: r[elaxed] Допускаются верхний и нижний регистр и эквивалентны, части длинного имени усекаются (например, verylongname.foobar становится verylong.foo), ведущие и встроенные пробелы допускаются в каждой части имени (имя и расширение). n[ormal] Подобно «relaxed», но многие специальные символы (*, ?, <, пробелы и т. д.) отклоняются. Это значение по умолчанию. s[trict] Подобно «normal», но имена, содержащие длинные части или специальные символы, которые иногда используются в Linux, но не принимаются MS-DOS (+, = и т. д.), отклоняются. codepage=ЗНАЧЕНИЕ Устанавливает кодовую страницу для преобразования в символы короткого имени в файловых системах FAT и VFAT. По умолчанию используется кодовая страница 437. conv=РЕЖИМ Эта опция устарела и может не работать или игнорироваться. cvf_format=МОДУЛЬ Заставляет драйвер использовать модуль CVF (сжатый файл тома) cvf_module вместо автоопределения. Если ядро поддерживает kmod, опция cvf_format=xxx также управляет загрузкой модуля CVF по запросу. Эта опция устарел. cvf_option=option Опция передана модулю CVF. Эта опция устарел. debug Включит флаг debug. Будет напечатана строка версии и список параметров файловой системы (эти данные также распечатываются, если параметры кажутся несовместимыми). discard Если установлено, то при освобождении блоков блочному устройству будут выдаваться команды discard/TRIM. Это полезно для устройств SSD и LUN с разреженным/тонким выделением ресурсов. dos1xfloppy Если установлено, использует резервную конфигурацию блока параметров BIOS по умолчанию, определяемую размером резервного устройства. Эти статические параметры соответствуют значениям по умолчанию, принятым в DOS 1.x для дискет 160, 180, 320 и 360 КиБ и их образов. errors={panic|continue|remount-ro} Укажит поведение FAT при критических ошибках: panic (паника), continue (продолжение без каких-либо действий) или remount-ro (перемонтирование раздела в режиме только для чтения) (поведение по умолчанию). fat={12|16|32} Указывает битность 12, 16 или 32 fat. Это отменяет процедуру автоматического определения типа FAT. Используйте с осторожностью! iocharset=ЗНАЧЕНИЕ Набор символов, используемый для преобразования 8-битных символов в 16-битные символы Unicode. По умолчанию iso8859-1. Длинные имена файлов хранятся на диске в формате Unicode. nfs={stale_rw|nostale_ro} Включите это, только если вы хотите экспортировать файловую систему FAT через NFS. stale_rw Эта опция поддерживает индекс (кеш) индексных дескрипторов каталогов, который используется кодом, связанным с nfs, для улучшения поиска. Поддерживаются полные файловые операции (чтение/запись) через NFS, но с вытеснением кеша на сервере NFS это может привести к ложным ошибкам ESTALE. nostale_ro Эта опция основывает номер inode и дескриптор файла на месте на диске файла в записи каталога FAT. Это гарантирует, что ESTALE не будет возвращён после удаления файла из кэша inode. Однако это означает, что такие операции, как переименование, создание и разъединение, могут привести к тому, что дескрипторы файлов, которые ранее указывали на один файл, станут указывать на другой файл, что может привести к повреждению данных. По этой причине эта опция также монтирует файловую систему только для чтения. Для обеспечения обратной совместимости также можно использовать «-o nfs» по умолчанию — stale_rw. tz=UTC Этот параметр отключает преобразование меток времени между местным временем (используемым Windows в FAT) и временем UTC (которое Linux использует для внутренних целей). Это особенно полезно при установке устройств (например, цифровых фотоаппаратов), которые настроены на всемирное координированное время, чтобы избежать ошибок местного времени. time_offset=МИНУТЫ Установит смещение для преобразования меток времени из местного времени, используемого FAT, в UTC. То есть минуты будут вычитаться из каждой временной метки, чтобы преобразовать её в UTC, используемое внутри Linux. Это полезно, когда часовой пояс, установленный в ядре с помощью settimeofday(2), не совпадает с часовым поясом, используемым файловой системой. Обратите внимание, что эта опция по-прежнему не обеспечивает правильные отметки времени во всех случаях при наличии летнего времени — летнее время будет отличаться на один час. quiet Включит флаг quiet. Попытки открыть файлы chown или chmod не возвращают ошибок, хотя и терпят неудачу. Используйте с осторожностью! rodir FAT имеет атрибут ATTR_RO (только для чтения). В Windows ATTR_RO каталога просто игнорируется и используется только приложениями в качестве флага (например, он установлен для настраиваемой папки). Если вы хотите использовать ATTR_RO как флаг только для чтения даже для каталога, установите эту опцию. showexec Если установлено, биты разрешения на выполнение файла будут разрешены только в том случае, если часть расширения имени — .EXE, .COM или .BAT. По умолчанию не установлено. sys_immutable Если установлен, атрибут ATTR_SYS в FAT обрабатывается как флаг IMMUTABLE в Linux. По умолчанию не установлено. flush Если установлено, файловая система попытается сбросить данные на диск раньше, чем обычно. По умолчанию не установлено. usefree Использует значение «свободных кластеров», хранящееся в FSINFO. Он будет использоваться для определения количества свободных кластеров без сканирования диска. Но он не используется по умолчанию, потому что недавние версии Windows в некоторых случаях не обновляют его правильно. Если вы уверены, что «свободные кластеры» в FSINFO верны, с помощью этой опции вы можете избежать сканирования диска. dots, nodots, dotsOK=[yes|no] Различные ошибочные попытки навязать соглашения Unix или DOS файловой системе FAT. exFAT — это простая файловая система, созданная Microsoft. Она предназначена для замены FAT32, устраняя некоторые её ограничения. exFAT — это стандартная файловая система для карт памяти SDXC. umask=ЗНАЧЕНИЕ Установит umask (битовую маску разрешений, которые отсутствуют, в восьмеричном формате). По умолчанию — 0. dmask=ЗНАЧЕНИЕ Установит umask только для каталогов. fmask=ЗНАЧЕНИЕ Установит umask только для файлов. uid=n Установите владельца для всех файлов и каталогов. По умолчанию это владелец текущего процесса. gid=n Установит группу для всех файлов и каталогов. По умолчанию это группа текущего процесса. ro Смонтировать файловую систему в режиме только для чтения. noatime Не обновлять время доступа при чтении файла. Смотрите опции монтирования для msdos. Опция dotsOK явно уничтожается umsdos. Смотрите опции монтирования для fat. Если файловая система msdos обнаруживает несоответствие, она сообщает об ошибке и устанавливает файловую систему только для чтения. Файловую систему можно снова сделать доступной для записи, перемонтировав её. vfat — это расширенная файловая система FAT, используемая Microsoft Windows95 и Windows NT. vfat добавляет возможность использовать длинные имена файлов в файловой системе MSDOS. В первую очередь vfat поддерживает все опции монтирования fat. Опция dotsOK явно уничтожается vfat. Кроме того, есть следующие опции: uni_xlate Преобразует необработанные символы Юникода в специальные экранированные последовательности. Это позволяет создавать резервные копии и восстанавливать имена файлов, созданные с использованием любых символов Юникода. Без этой опции используется «?», когда перевод невозможен. Экранирующий символ — «:», потому что в противном случае он недопустим в файловой системе vfat. Используемая escape-последовательность, где u — символ Юникода, следующая: ':', (u & 0x3f), ((u>>6) & 0x3f), (u>>12). posix Разрешить два файла с именами, которые отличаются только регистром. Эта опция устарела. nonumtail Сначала попробовать сделать короткое имя без порядкового номера, а затем попробовать name~num.ext. utf8 UTF8 — это безопасная для файловой системы 8-битная кодировка Unicode, которая используется консолью. Её можно включить для файловой системы с помощью этой опции или отключить с помощью utf8=0, utf8=no или utf8=false. Если установлен uni_xlate, UTF8 отключается. shortname=РЕЖИМ Определяет поведение для создания и отображения имён файлов, которые соответствуют 8.3 символам. Если для файла существует длинное имя, оно всегда будет предпочтительным для отображения. Есть четыре режима: lower При отображении краткое имя переводится в нижний регистр; сохраняется длинное имя, если короткое имя не состоит только из верхнего регистра. win95 При отображении краткое имя переводится в верхний регистр; сохраняется длинное имя, если короткое имя не состоит только из верхнего регистра. winnt Отображать короткое имя как есть; сохраняется длинное имя, когда короткое имя состоит не только из нижнего или верхнего регистра. mixed Отображать короткое имя как есть; сохраняется длинное имя, если короткое имя не состоит только из верхнего регистра. Этот режим используется по умолчанию, начиная с Linux 2.6.32. Файловая система vboxsf используется для монтирования общей папки VirtualBox из хост-системы в точку монтирования гостевой системы. Доступные опции монтирования: rw монтирование с возможностью записи (по умолчанию) ro монтирование только для чтения uid=UID установить идентификатор пользователя владельца файла по умолчанию на UID gid=GID установить идентификатор группы владельцев файлов по умолчанию на GID ttl=TTL установите «время жизни» равным TID для дентри dmode=РЕЖИМ переопределить режим всех каталогов на (восьмеричный) РЕЖИМ fmode=РЕЖИМ переопределить режим всех обычных файлов на (восьмеричный) РЕЖИМ umask=UMASK установите umask в (восьмеричное) UMASK dmask=UMASK установить umask только для каталогов fmask=UMASK установить маску, применяемую только к обычным файлам iocharset КОДИРОВКА использовать набор символов КОДИРОВКА для операций ввода-вывода (по умолчанию используется utf8) Опции монтирования для iso9660 iso9660 — это файловая система CD-ROM, соответствующая стандарту ISO 9660. High Sierra Linux поддерживает High Sierra, предшественник стандарта ISO 9660 для файловых систем CD-ROM. Она автоматически распознаётся файловой системой iso9660, поддерживаемой в Linux. Rock Ridge Linux также поддерживает записи протокола общего использования системы, определённые протоколом обмена Rock Ridge. Они используются для дальнейшего описания файлов в файловой системе iso9660 на хосте UNIX и предоставляют такую информацию, как длинные имена файлов, UID/GID, разрешения POSIX и устройства. Она автоматически распознаётся файловой системой iso9660, поддерживаемой в Linux. ISO 9660 — это стандарт, описывающий структуру файловой системы, которая будет использоваться на CD-ROM. (Этот тип файловой системы также встречается на некоторых DVD. Смотрите также файловую систему udf.) Обычные имена файлов iso9660 отображаются в формате 8.3 (то есть, с ограничениями, подобными DOS на длину имени файла), и, кроме того, все символы находятся в верхнем регистре. Также нет поля для владения файлом, защиты, количества ссылок, положения для блочных/символьных устройств и т. д. Rock Ridge — это расширение для iso9660, которое предоставляет все эти UNIX-подобные функции. По сути, для каждой записи каталога есть расширения, которые предоставляют всю дополнительную информацию, и когда Rock Ridge используется, файловая система неотличима от обычной файловой системы UNIX (за исключением того, что она, конечно, доступна только для чтения). norock Отключит использование расширений Rock Ridge, даже если они доступны. Смотрите также опцию map. nojoliet Отключит использование расширений Microsoft Joliet, даже если они доступны. Смотрите также опцию map. check={r[elaxed]|s[trict]} При check=relaxed имя файла сначала преобразуется в нижний регистр перед выполнением поиска. Вероятно, это имеет смысл только вместе с norock и map=normal. (По умолчанию: check=strict.) uid=value и gid=value Дать всем файлам в файловой системе указанный идентификатор пользователя или группы, возможно, переопределив информацию, содержащуюся в расширениях Rock Ridge. (По умолчанию: uid=0,gid=0.) map={n[ormal]|o[ff]|a[corn]} Для томов, не относящихся к Rock Ridge, обычное преобразование имён сопоставляет заглавные буквы и прописные ASCII, удаляет конечный «;1» и конвертирует «;» в «.». С map=off перевод имени не выполняется. Смотрите также опцию norock. (По умолчанию: map=normal.) map=acorn похож на map=normal, но также применяет расширения Acorn, если они есть. mode=ЗНАЧЕНИЕ Для томов, отличных от Rock Ridge, устанавливает для всех файлов указанный режим. (По умолчанию: разрешение на чтение и выполнение для всех.) Для значений восьмеричного режима требуется начальный 0. unhide Также показывать скрытые и связанные файлы. (Если обычные файлы и связанные или скрытые файлы имеют одинаковые имена файлов, это может сделать обычные файлы недоступными.) block={512|1024|2048} Установите размер блока на указанное значение. (По умолчанию: block=1024.) conv=РЕЖИМ Эта опция устарела и может не работать или игнорироваться. cruft Если старший байт длины файла содержит другой мусор, установите эту опцию монтирования, чтобы игнорировать старшие биты длины файла. Это означает, что размер файла не может превышать 16 МБ. session=x Выберите номер сеанса на мультисессионном компакт-диске. sbsector=xxx Сессия начинается с сектора xxx. Следующие параметры такие же, как для vfat, и их указание имеет смысл только при использовании дисков, закодированных с использованием расширений Microsoft Joliet. iocharset=ЗНАЧЕНИЕ Набор символов, который используется для преобразования 16-битных символов Unicode на компакт-диске в 8-битные символы. По умолчанию iso8859-1. utf8 Преобразование 16-битных символов Unicode на компакт-диске в UTF-8. UDF — это файловая система «универсального формата диска» (Universal Disk Format), определённая OSTA, Ассоциацией технологий оптического хранения, и часто используется для DVD-ROM, часто в форме гибридной файловой системы UDF/ISO-9660. Однако она отлично подходит для использования на дисковых накопителях, флеш-накопителях и других блочных устройствах. Смотрите также iso9660. uid= Сделать все файлы в файловой системе принадлежащими данному пользователю. uid=forget может быть указано независимо от uid=<user> (или обычно в дополнение к нему), в результате UDF не сохраняет uid на носителе. Фактически записанный uid — это 32-битный uid переполнения -1, как определено стандартом UDF. Значение задаётся либо как <user>, которое является допустимым именем пользователя, либо как соответствующий десятичный идентификатор пользователя, либо как специальная строка «forget». gid= Сделать все файлы в файловой системе принадлежащими данной группе. gid=forget можно указать независимо от gid=<group> (или обычно в дополнение к нему), в результате UDF не сохраняет gid на носителе. Фактически, записанный gid является 32-битным gid переполнения -1, как определено стандартом UDF. Значение задаётся либо как <группа>, что является допустимым именем группы, либо как соответствующий десятичный идентификатор группы, либо как специальная строка «forget». umask= Скрыть данные разрешения от всех inodes, читаемых из файловой системы. Значение дано в восьмеричном формате. mode= Если установлен режим mode=, то права доступа для всех inodes, не относящихся к каталогам, считываемых из файловой системы, будут установлены в указанный режим. Значение дано в восьмеричном формате. dmode= Если dmode= установлен, права доступа для всех индексных дескрипторов каталогов, считываемых из файловой системы, будут установлены в заданный dmode. Значение дано в восьмеричном формате. bs= Установит размер блока. Значение по умолчанию до версии ядра 2.6.30 было 2048. Начиная с 2.6.30 и до 4.11, это был размер блока логического устройства с откатом до 2048. Начиная с 4.11, это размер логического блока с откатом к любому допустимому размеру блока между размером блока логического устройства и 4096. Для получения дополнительных сведений смотрите справочную страницу mkudffs(8) 2.0+, разделы СОВМЕСТИМОСТЬ и РАЗМЕР БЛОКА. unhide Показать другие скрытые файлы. undelete Показывать удалённые файлы в списках. adinicb Вставить данные в индексный дескриптор (по умолчанию) noadinicb Не вставлять данные в индексный дескриптор. shortad Использовать короткие дескрипторы адресов UDF. longad Использовать длинные дескрипторы адресов UDF. (по умолчанию) nostrict Отмените строгое соответствие. iocharset= Установит набор символов NLS. Для этого требуется ядро, скомпилированное с параметром CONFIG_UDF_NLS. utf8 Установит набор символов UTF-8. Параметры монтирования для отладки и аварийного восстановления novrs Игнорировать последовательность распознавания томов и все равно попытайтесь смонтировать. session= Выбрать номер сеанса для оптических носителей с записью нескольких сеансов. (по умолчанию = последний сеанс) anchor= Отменить стандартное расположение привязки. (по умолчанию = 256) lastblock= Установит последний блок файловой системы. Неиспользуемые исторические параметры монтирования, которые могут встретиться и должны быть удалены uid=ignore Игнорируется, используйте вместо этого uid=<user>. gid=ignore Игнорируется, используйте вместо этого gid=<group>. volume= Не реализовано и игнорируется. partition= Не реализовано и игнорируется. fileset= Не реализовано и игнорируется. rootdir= Не реализовано и игнорируется. FUSE (Filesystem in Userspace — файловая система в пространстве пользователя) — это простой интерфейс для программ пользовательского пространства для экспорта виртуальной файловой системы в ядро Linux. FUSE также стремится обеспечить безопасный метод для непривилегированных пользователей для создания и монтирования своих собственных реализаций файловой системы. ОПРЕДЕЛЕНИЯ FUSE Файловая система в ядре, которая перенаправляет запросы процессу пользовательского пространства. Файловая система Процесс пользовательского пространства, отвечающий на запросы, полученные от ядра. libfuse Общая библиотека, которую большинство файловых систем (в пространстве пользователя) используют для связи с FUSE (файловой системой ядра). libfuse также предоставляет помощник fusermount3 (или fusermount, если у вас более старая версия libfuse), позволяющий непривилегированным пользователям монтировать файловые системы. Владелец файловой системы Пользователь, запускающий файловую систему и инструктирующий ядро связать её с определённой точкой монтирования. Последнее обычно выполняется самой файловой системой при запуске. При использовании libfuse это делается путём вызова утилиты fusermount3. Клиент Любой процесс, взаимодействующий с точкой монтирования. КОНФИГУРАЦИЯ Некоторые параметры политики монтирования можно установить в файле /etc/fuse.con. В настоящее время это следующие опции: mount_max = NNN Установитемаксимальное количество подключений FUSE, разрешённое для пользователей без полномочий root. По умолчанию 1000. user_allow_other Разрешить пользователям без полномочий root указывать параметры монтирования allow_other или allow_root (смотрите ниже). Эти ограничения устанавливаются помощником fusermount3, поэтому файловые системы, работающие от имени root, могут их обойти. ПАРАМЕТРЫ Поддерживается большинство общих параметров монтирования, описанных для mount (ro, rw, suid, nosuid, dev, nodev, exec, noexec, atime, noatime, sync, async, dirsync). Файловые системы монтируются с помощью nodev, по умолчанию nosuid, который может быть переопределен только привилегированным пользователем. Общие опции монтирования: Это специфичные для FUSE опции монтирования, которые можно указать для всех файловых систем: default_permissions Этот параметр указывает ядру выполнить собственную проверку разрешений вместо того, чтобы перекладывать всю проверку разрешений на файловую систему. Проверка ядром выполняется в дополнение к любым проверкам разрешений файловой системой, и обе должны быть успешными, чтобы операция была разрешена. Ядро выполняет стандартную проверку разрешений UNIX (на основе битов режима и владения записью каталога, а также uid/gid клиента). Эта опция монтирования активируется неявно, если файловая система включает поддержку ACL во время первоначального согласования функций при открытии устройства fd. В этом случае ядро выполняет как ACL, так и стандартную проверку разрешений unix. Файловые системы, которые не реализуют проверку разрешений, обычно должны добавлять эту опцию внутри себя. allow_other Эта опция отменяет меры безопасности, ограничивающие доступ к файлам только владельцу файловой системы, так что все пользователи (включая root) могут получить доступ к файлам. rootmode=M Задаёт файловый режим корня файловой системы (в восьмеричном представлении). blkdev Смонтировать файловую систему, поддерживаемую блочным устройством. Это привилегированный вариант. Устройство должно быть указано с параметром fsname=ИМЯ. blksize=N Установит размер блока для файловой системы. Эта опция действительна только для монтирования типа fuseblk. По умолчанию 512. В большинстве случаев этот параметр не должен указываться владельцем файловой системы, а устанавливается внутри файловой системы. max_read=N С помощью этой опции можно установить максимальный размер операций чтения. По умолчанию установлено бесконечное число, но обычно ядро устанавливает собственный предел в дополнение к этому. Нулевое значение соответствует отсутствию ограничения. Этот параметр не должен указываться владельцем файловой системы. Правильное (или оптимальное) значение зависит от реализации файловой системы и, таким образом, должно устанавливаться файловой системой внутри. Эта опция монтирования устарела в пользу прямого согласования через устройство fd (как это сделано, например, для максимального размера операций записи). В настоящее время файловые системы, использующие libfuse, которые хотят ограничить размер чтения, должны использовать эту опцию монтирования и снова установить то же значение в обработчике init(). fd=N Файловый дескриптор, используемый для связи между файловой системой пользовательского пространства и ядром. Дескриптор файла должен быть получен при открытии устройства FUSE (/dev/fuse). Этот параметр не должен указываться владельцем файловой системы. Он устанавливается libfuse (или, если libfuse не используется, должен быть установлен самой файловой системой). user_id=N group_id=N Задаёт числовой uid/gid владельца монтирования. Этот параметр не должен указываться владельцем файловой системы. Он устанавливается libfuse (или, если libfuse не используется, должен быть установлен самой файловой системой). fsname=ИМЯ Устанавливает источник файловой системы (первое поле в /etc/mtab). По умолчанию это имя процесса файловой системы. subtype=ТИП Устанавливает тип файловой системы (третье поле в /etc/mtab). По умолчанию это имя процесса файловой системы. Если ядро это поддерживает, в /etc/mtab и /proc/mounts тип файловой системы будет отображаться как fuse. Если ядро не поддерживает подтипы, исходным полем будет TYPE#NAME, или, если опция fsname не указана, просто TYPE. Параметры монтирования, специфичные для libfuse: Эти следующие параметры фактически не передаются ядру, но интерпретируются libfuse. Их можно указать для всех файловых систем, использующих libfuse: allow_root Этот параметр похож на allow_other, но доступ к файлу ограничен владельцем файловой системы и root. Этот параметр и allow_other исключают друг друга. auto_unmount Эта опция включает автоматическое освобождение точки монтирования, если файловая система прекращает работу по какой-либо причине. Обычно файловая система отвечает за освобождение точки монтирования, что означает, что точка монтирования становится недоступной, если файловая система завершает работу без предварительного размонтирования. На данный момент эта опция подразумевает, что файловая система также будет смонтирована с помощью nodev и nosuid (даже при монтировании от root). Это ограничение может быть снято в будущем. Опции монтирования высокого уровня: Эти следующие параметры фактически не передаются ядру, но интерпретируются libfuse. Их можно указать только для файловых систем, использующих высокоуровневый API libfuse: kernel_cache Эта опция отключает очистку кеша содержимого файла при каждом open(2). Это должно быть включено только в файловых системах, где данные файла никогда не изменяются извне (не через смонтированную файловую систему FUSE). Таким образом, он не подходит для сетевых файловых систем и других «промежуточных» файловых систем. ПРИМЕЧАНИЕ: если этот параметр не указан (и ни один из direct_io), данные по-прежнему кэшируются после open(2), поэтому системный вызов read(2) не всегда инициирует операцию чтения. auto_cache Эта опция является альтернативой kernel_cache. Вместо того чтобы безоговорочно хранить кэшированные данные, кэшированные данные становятся недействительными при open(2), если время модификации или размер файла изменились с момента его последнего открытия. umask=M Отменит биты прав доступа в st_mode, установленные файловой системой. Результирующие биты разрешения — это те, которые отсутствуют в заданном значении umask. Значение указывается в восьмеричном представлении. uid=N Заменяет поле st_uid, установленное файловой системой (N — числовое значение). gid=N Заменяет поле st_gid, установленное файловой системой (N — числовое значение). entry_timeout=T Тайм-аут в секундах, в течение которого запросы имени будут кэшироваться. По умолчанию — 1,0 секунда. Для всех вариантов тайм-аута также можно указать доли секунды (например, entry_timeout=2.8) negative_timeout=T Тайм-аут в секундах, в течение которого будет кэшироваться отрицательный поиск. Это означает, что если файл не существует (поиск вернул ENOENT), поиск будет повторен только по истечении тайм-аута, и предполагается, что до этого момента файл/каталог не существует. Значение по умолчанию — 0,0 секунды, что означает, что кеширование отрицательных запросов отключено. attr_timeout=T Тайм-аут в секундах, в течение которого кэшируются атрибуты файла/каталога. По умолчанию — 1,0 секунда. ac_attr_timeout=T Тайм-аут в секундах, в течение которого атрибуты файла кэшируются с целью проверки, должен ли auto_cache сбрасывать данные файла при открытии. По умолчанию используется значение attr_timeout. noforget remember=T Обычно libfuse назначает inode путям только до тех пор, пока ядро знает о них. С этой опцией inodes вместо этого назначаются как минимум на T секунд (или, в случае noforget, на время жизни файловой системы). Для этого потребуется больше памяти, но может потребоваться при использовании приложений, использующих номера inode. modules=M1[:M2…] Добавить модули в стек файловой системы. Модули помещаются в указанном порядке, при этом исходная файловая система находится в нижней части стека. Опции mount.fuse3: Эти параметры интерпретируются с помощью mount.fuse3 и поэтому доступны только при монтировании файловой системы через mount.fuse3 (например, при монтировании с помощью общей команды mount(1) или /etc/fstab). Поддерживаемые опции: setuid=ПОЛЬЗОВАТЕЛЬ Перед запуском процесса файловой системы FUSE переключитесь на USER и его основную группу. mount.fuse3 должен быть запущен как root или с CAP_SETUID и CAP_SETGID, чтобы это работало. drop_privileges Выполнить настройку файлового дескриптора FUSE и монтирование файловой системы перед запуском процесса файловой системы FUSE. Для этого mount.fuse3 требует привилегии, т.е. должна запускаться как root или, по крайней мере, с CAP_SYS_ADMIN и CAP_SETPCAP. Эта опция запустит процесс файловой системы полностью непривилегированным, то есть без установленных флагов capabilities(7) и prctl(2), которые не позволяют повторно получить привилегии (например, через двоичные файлы setuid или fscaps). Это снижает риск в случае компрометации процесса файловой системы FUSE данными вредоносной файловой системы. tmpfs — это файловая система, содержимое которой находится в виртуальной памяти. Поскольку файлы в таких файловых системах обычно находятся в ОЗУ, доступ к файлам осуществляется очень быстро. Средство tmpfs позволяет создавать файловые системы, содержимое которых находится в виртуальной памяти. Поскольку файлы в таких файловых системах обычно находятся в ОЗУ, доступ к файлам осуществляется очень быстро. Файловая система создаётся автоматически при монтировании файловой системы с типом tmpfs с помощью следующей команды: sudo mount -t tmpfs -o size=10M tmpfs /mnt/mytmpfs Файловая система tmpfs имеет следующие свойства:
Если файловая система tmpfs размонтирована, её содержимое теряется (удаляется). Опции монтирования Файловая система tmpfs поддерживает следующие опции монтирования: size=БАЙТЫ Укажите верхний предел размера файловой системы. Размер указывается в байтах и округляется до целых страниц. Размер может иметь суффикс k, m или g для Ki, Mi, Gi (двоичные kilo (kibi), двоичные mega (mebi) и двоичные giga (gibi)). Размер может также иметь суффикс %, чтобы ограничить этот экземпляр процентом физической памяти. По умолчанию, когда не указан ни размер, ни nr_blocks, size=50%. nr_blocks=БЛОКИ То же, что и size, но блоками по PAGE_CACHE_SIZE. Блоки могут быть указаны с суффиксами k, m или g как и size, но не с суффиксом %. nr_inodes=inodes Максимальное количество индексных дескрипторов для этого экземпляра. Значение по умолчанию — половина количества ваших физических страниц RAM или (на машине с highmem) количество страниц lowmem RAM, в зависимости от того, что меньше. Inodes могут быть указаны с суффиксами k, m или g как и size, но не с суффиксом %. mode=РЕЖИМ Установит начальные разрешения для корневого каталога. gid=gid (начиная с Linux 2.5.7) Установит начальный идентификатор группы корневого каталога. uid=uid (начиная с Linux 2.5.7) Установит начальный идентификатор пользователя корневого каталога. huge=huge_option (начиная с Linux 4.7.0) Установит политику выделения памяти для огромной таблицы для всех файлов в этом экземпляре (если включён CONFIG_TRANSPARENT_HUGE_PAGECACHE). Значение huge_option может быть одним из следующих: never Не выделять огромные страницы. Это значение по умолчанию. always Пытаться выделять огромные страницы каждый раз, когда требуется новая страница. within_size Выделять огромную страницу только в том случае, если она полностью находится в пределах i_size. Также уважать подсказки fadvise(2)/madvise(2). advise Выделять огромные страницы только по запросу с помощью fadvise(2)/madvise(2). deny Для использования в чрезвычайных ситуациях, чтобы отключить огромную опцию от всех монтирований. force Включить опцию huge для всех монтирований; полезно для тестирования. mpol=mpol_option (начиная с Linux 2.6.15) Задаёт политику выделения памяти NUMA для всех файлов в этом экземпляре (если включён параметр CONFIG_NUMA). Значение mpol_option может быть одним из следующих: default Использовать политику распределения процессов (смотрите set_mempolicy(2)). prefer:node Предпочтительно выделять память из данного узла. bind:nodelist Выделять память только из узлов в списке узлов. interleave Выделять по очереди из каждого узла. interleave:nodelist Выделять из каждого узла по очереди. local Предпочтительно выделять память из локального узла. Список узлов (nodelist) является разделённый запятыми список десятичных чисел и диапазонов, определяющих узлы NUMA. Диапазон — это пара десятичных чисел, разделённых дефисом, наименьшее и наибольшее номера узлов в диапазоне. Например, mpol=bind:0-3,5,7,9-15. Файловая система tmpfs поддерживает расширенные атрибуты (смотрите xattr(7), но пользовательские расширенные атрибуты не разрешены. Объем памяти, потребляемой всеми файловыми системами tmpfs, отображается в поле Shmem в /proc/meminfo и в поле shared, отображаемом программой free. Опции монтирования для cifs и smb3 SMB (сокр. от англ. Server Message Block) — сетевой протокол прикладного уровня для удалённого доступа к файлам, принтерам и другим сетевым ресурсам, а также для межпроцессного взаимодействия. Первая версия протокола, также известная как Common Internet File System (CIFS) (Единая файловая система Интернета), была разработана компаниями IBM, Microsoft, Intel и 3Com в 1980-х годах; вторая (SMB 2.0) была создана Microsoft и появилась в Windows Vista. В настоящее время SMB связан главным образом с операционными системами Microsoft Windows, где используется для реализации «Сети Microsoft Windows» (англ. Microsoft Windows Network) и «Совместного использования файлов и принтеров» (англ. File and Printer Sharing). SMB — это протокол, основанный на технологии клиент-сервер, который предоставляет клиентским приложениям простой способ для чтения и записи файлов, а также запроса служб у серверных программ в различных типах сетевого окружения. Серверы предоставляют файловые системы и другие ресурсы (принтеры, почтовые сегменты, именованные каналы и т. д.) для общего доступа в сети. Клиентские компьютеры могут иметь у себя свои носители информации, но также имеют доступ к ресурсам, предоставленным сервером для общего пользования. Клиенты соединяются с сервером, используя протоколы TCP/IP (а, точнее, NetBIOS через TCP/IP), NetBEUI или IPX/SPX. После того как соединение установлено, клиенты могут посылать команды серверу (эти команды называются SMB-команды или SMBs), который даёт им доступ к ресурсам, позволяет открывать, читать файлы, писать в файлы и вообще выполнять весь перечень действий, которые можно выполнять с файловой системой. Однако в случае использования SMB эти действия совершаются через сеть. Практические примеры и инструкции монтирования SMB:
smb — это сетевая файловая система, которая поддерживает протокол SMB, используемый Windows для рабочих групп, Windows NT и Lan Manager. Опции указываются в виде списка пар ключ=значение, разделённых запятыми. Можно отправить параметры, отличные от перечисленных здесь, при условии, что модуль ядра файловой системы cifs (cifs.ko) поддерживает их. Нераспознанные опции монтирования cifs, переданные в код ядра cifs vfs, будут записаны в журнал ядра. ОПЦИИ username=АРГУМЕНТ|user=АРГУМЕНТ Указывает имя пользователя для подключения. Если это не указано, используется переменная среды USER. Более ранние версии mount.cifs также позволяли указывать user%password или workgroup/user или workgroup/user%password, чтобы можно было указать пароль и рабочую группу как часть имени пользователя. Поддержка этих альтернативных форматов имени пользователя теперь устарела и больше не должна использоваться. Пользователи должны использовать дискретные опции password= и domain= для указания этих значений. Хотя некоторые версии модуля ядра cifs принимают user= в качестве аббревиатуры для этой опции, его использование может сбить стандартную программу монтирования с мыслью, что это монтирование без суперпользователя. Поэтому рекомендуется использовать полное имя username= параметра. password=АРГУМЕНТ|pass=АРГУМЕНТ Указывает пароль CIFS. Если этот параметр не указан, используется переменная среды PASSWD. Если пароль не указан прямо или косвенно через аргумент для монтирования, mount.cifs запросит пароль, если не указана опция guest. Обратите внимание, что пароль, содержащий символ-разделитель (то есть запятую ','), не будет правильно проанализирован в командной строке. Однако тот же пароль, который определён в переменной среды PASSWD или в файле учётных данных (смотрите ниже) или введён в запросе пароля, будет считан правильно. credentials=ИМЯ ФАЙЛА|cred=ИМЯ ФАЙЛА Указывает файл, содержащий имя пользователя и/или пароль и, возможно, имя рабочей группы. Формат файла: username=значение password=значение domain=значение Это предпочтительнее чем иметь пароли в виде открытого текста в общем файле, таком как /etc/fstab. Обязательно защитите файл учётных данных должным образом. uid=АРГУМЕНТ устанавливает uid, который будет владеть всеми файлами или каталогами в смонтированной файловой системе, когда сервер не предоставляет информацию о владельце. Он может быть указан как имя пользователя или числовой uid. Если не указан, по умолчанию используется uid 0. Помощник mount.cifs должен иметь версию 1.10 или выше, чтобы поддерживать указание uid в нечисловой форме. Смотрите раздел «ВЛАДЕНИЕ И РАЗРЕШЕНИЯ НА ФАЙЛЫ И КАТАЛОГ» ниже для получения дополнительной информации. cruid=АРГУМЕНТ устанавливает uid владельца кеша учётных данных. Это в первую очередь полезно с sec=krb5. По умолчанию используется реальный uid процесса, выполняющего монтирование. Установка этого параметра предписывает восходящему вызову искать кэш учётных данных, принадлежащий этому пользователю. gid=АРГУМЕНТ устанавливает gid, который будет владеть всеми файлами или каталогами в смонтированной файловой системе, когда сервер не предоставляет информацию о владельце. Он может быть указан как имя группы или числовой идентификатор. Если не указан, по умолчанию используется gid 0. Вспомогательный модуль mount.cifs должен иметь версию 1.10 или выше, чтобы поддерживать указание gid в нечисловой форме. Смотрите раздел «ВЛАДЕНИЕ И РАЗРЕШЕНИЯ НА ФАЙЛЫ И КАТАЛОГ» ниже для получения дополнительной информации. forcegid указывает клиенту игнорировать любой gid, предоставляемый сервером для файлов и каталогов, и всегда назначать владельцем значение параметра gid=. Смотрите раздел «ВЛАДЕНИЕ И РАЗРЕШЕНИЯ НА ФАЙЛЫ И КАТАЛОГ» ниже для получения дополнительной информации. idsfromsid Извлекает uid/gid из специального SID вместо его сопоставления. Смотрите раздел «ВЛАДЕНИЕ И РАЗРЕШЕНИЯ НА ФАЙЛЫ И КАТАЛОГ» ниже для получения дополнительной информации. port=АРГУМЕНТ устанавливает номер порта, на котором клиент будет пытаться связаться с сервером CIFS. Если это значение указано, найдёт существующее соединение с этим портом и использует его, если оно существует. Если таковой не существует, попробует создать новое соединение на этом порту. Если это соединение не удаётся, вернёт ошибку. Если это значение не указано, найдёт существующее соединение на порте 445 или 139. Если такое соединение не существует, попробует сначала подключиться через порт 445, а затем через порт 139, если это не удаётся, то есть оба порта не работают, то вернёт ошибку. netbiosname=АРГУМЕНТ При подключении к серверам через порт 139 указывает имя источника RFC1001, которое будет использоваться для представления клиентской машины netbios во время инициализации сеанса netbios. servern=АРГУМЕНТ Аналогично netbiosname, за исключением того, что он указывает имя netbios сервера вместо клиента. Хотя этот параметр редко требуется для подключения к новым серверам, этот параметр необходим для подключения к некоторым более старым серверам (например, OS/2 или Windows 98 и Windows ME), поскольку при подключении через порт 139 они, в отличие от большинства новых серверов, не поддерживают имя сервера по умолчанию. Имя сервера может содержать до 15 символов и обычно пишется в верхнем регистре. file_mode=АРГУМЕНТ Если сервер не поддерживает расширения CIFS Unix, это отменяет режим файла по умолчанию. dir_mode=АРГУМЕНТ Если сервер не поддерживает расширения CIFS Unix, это отменяет режим по умолчанию для каталогов. ip=АРГУМЕНТ|addr=АРГУМЕНТ Устанавливает IP-адрес назначения. Этот параметр устанавливается автоматически, если часть имени сервера запрошенного имени UNC может быть преобразована (разрешена), поэтому пользователю редко требуется указывать её. domain=АРГУМЕНТ|dom=АРГУМЕНТ|workgroup=АРГУМЕНТ Устанавливает домен (рабочую группу) пользователя. Если домены не указаны, будет использоваться пустой домен. Используйте domainauto, чтобы автоматически угадать домен сервера, к которому вы подключаетесь. domainauto Если используется проверка подлинности NTLM и не предоставляется домен через домен, угадать домен из запроса NTLM сервера. Раньше это поведение было по умолчанию для ядер старше 2.6.36. guest Не запрашивает пароль. iocharset Набор символов, используемый для преобразования имён локальных путей в Unicode и обратно. Юникод используется по умолчанию для имён сетевых путей, если сервер поддерживает его. Если iocharset не указан, будет использоваться значение nls_default, указанное во время сборки ядра локального клиента. Если сервер не поддерживает Unicode, этот параметр не используется. ro Монтировать только для чтения. rw Монтировать для чтения-записи. setuids Если расширения CIFS Unix согласованы с сервером, клиент попытается установить эффективный uid и gid локального процесса для вновь созданных файлов, каталогов и устройств (create, mkdir, mknod). Если расширения CIFS Unix не согласованы, для вновь созданных файлов и каталогов вместо использования uid и gid по умолчанию, указанных при монтировании, локально кэширует uid и gid нового файла, что означает, что uid для файла может измениться, когда индекс перезагружается (или пользователь заново монтирует общий ресурс). nosetuids Клиент не будет пытаться установить uid и gid для вновь созданных файлов, каталогов и устройств (create, mkdir, mknod), в результате чего сервер установит uid и gid по умолчанию (обычно это uid сервера пользователя, кто монтировал шару). По умолчанию сервер (а не клиент) устанавливает uid и gid. Если CIFS Unix Extensions не согласованы, тогда uid и gid для новых файлов будут выглядеть как uid (gid) установщика или параметр uid (gid), указанный при монтировании. perm Клиент выполняет проверку разрешений (vfs_permission проверка uid и gid файла на соответствие режиму и желаемой операции). Обратите внимание, что это в дополнение к обычной проверке ACL на целевой машине, выполняемой серверным программным обеспечением. Проверка разрешений клиента включена по умолчанию. noperm Клиент не проверяет разрешения. Это может предоставить доступ к файлам на этом монтировании другим пользователям в локальной клиентской системе. Обычно это требуется только в том случае, если сервер поддерживает расширения CIFS Unix, но UID/GID в клиентской и серверной системах не совпадают достаточно близко, чтобы предоставить доступ пользователю, выполняющему монтирование. Обратите внимание, что это не влияет на обычную проверку ACL на целевой машине, выполняемую серверным программным обеспечением (серверного ACL по имени пользователя, указанному во время монтирования). dynperm Указывает серверу поддерживать владение и разрешения в памяти, которые не могут быть сохранены на сервере. Эта информация может исчезнуть в любое время (всякий раз, когда индексный дескриптор удаляется из кеша), поэтому, хотя это может помочь некоторым приложениям работать, такое поведение несколько ненадежно. Смотрите раздел ниже о ВЛАДЕНИИ И РАЗРЕШЕНИЯХ НА ФАЙЛЫ И КАТАЛОГ для получения дополнительной информации. cache=АРГУМЕНТ Режим кеширования. Смотрите раздел ниже, посвящённый СОГЛАСОВАННОСТИ КЭША, для получения подробной информации. Допустимые значения:
По умолчанию в ядрах до 3.7 был loose. В ядре 3.7 значение по умолчанию strict. nostrictsync Не просить сервер выполнить сброс с помощью fsync(). Некоторые серверы по умолчанию выполняют небуферизованную запись, и в этом случае очистка избыточна. В рабочих нагрузках, где клиент выполняет множество небольших комбинаций записи + fsync и где задержка в сети намного выше, чем задержка сервера, это даёт двукратное повышение производительности. Этот вариант также является хорошим кандидатом в сценариях, в которых производительность важнее согласованности. handlecache (по умолчанию) В SMB2 и выше клиенту часто приходится открывать корень общей папки (пустой путь) в различных местах во время монтирования, повторной проверки пути и системного вызова statfs(2). Эта опция сокращает избыточный двусторонний трафик (открытие и закрытие), просто сохраняя дескриптор каталога для корня после открытия. nohandlecache Отключить кеширование дескриптора корневого каталога общего ресурса. handletimeout=АРГУМЕНТ Время (в миллисекундах), в течение которого сервер должен зарезервировать дескриптор после аварийного переключения, ожидая повторного подключения клиента. При монтировании с опцией монтирования resilienthandles или persistenthandles или когда их использование запрашивается сервером (continuous availability shares — общие ресурсы непрерывной доступности), этот параметр переопределяет тайм-аут дескриптора сервера по умолчанию (который для большинства серверов составляет 120 секунд). rwpidforward Перенаправить pid процесса, открывшего файл, для любой операции чтения или записи в этом файле. Это предотвращает сбой при чтении и записи таких приложений, как wine(1), если мы используем обязательный стиль brlock. mapchars Переводит шесть из семи зарезервированных символов (не обратную косую черту, но включая двоеточие, вопросительный знак, вертикальную черту, звёздочку, символы больше и меньше) в диапазон переназначения (выше 0xF000), что также позволяет клиенту CIFS распознавать файлы, созданные с помощью такие символы службой Windows для Mac. Это также может быть полезно при монтировании к большинству версий Samba (что также запрещает создание и открытие файлов, имена которых содержат любой из этих семи символов). Это не действует, если сервер не поддерживает Unicode в сети. Обратите внимание, что файлы, созданные с помощью параметра монтирования mapchars, могут быть недоступны, если общий ресурс смонтирован без этого параметра. nomapchars Дописать... |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|