pmount - монтирование произвольных устройств горячего подключения обычным пользователем
НАЗВАНИЕ
pmount − монтирование произвольных устройств горячего подключения обычным пользователем
ОБЗОР
pmount [ опции ] устройство
pmount [ опции ] метка_устройства
pmount −−lock [ опции ] идентификатор_процесса_устройства
pmount −−unlock [ опции ] идентификатор_процесса_устройства
pmount
ОПИСАНИЕ
pmount ("policy mount" − политика монтирования) − это прослойка меду стандартной программой монтирования, которая
разрешает обычным пользователям монтировать съёмные устройства, не совпадающие с записью в файле /etc/fstab.
pmount также поддерживает шифрованные устройства, использующие метаданные dm−crypt и LUKS. Если вставлено
устройство, совместимое с LUKS cryptsetup, pmount воспользуется им для расшифровки устройства и последующего монтирования отображенного расшифрованного
устройства.
pmount вызывается следующим образом:
pmount устройство [ метка ]
Это позволит смонтировать устройство в подкаталог /media, если это позволяет политика (смотри ниже). Если
указана метка, точкой монтирования будет каталог /media/метка, а иначе им будет каталог /media/устройство.
Устройство будет смонтировано с использованием следующих флагов: async,atime,nodev,noexec,noauto,nosuid,user,rw
Некоторые приложения, например программы для записи CD, изменяют исходное устройство таким образом, чтобы оно не
было смонтировано во время процесса записи. Для предотвращения автоматического монтирования, pmount предлагает следующий механизм блокировки: pmount
−−lock идентификатор_процесса_устройства, что предотвратит устройство от размонтирования с помощью pmount до тех пор, пока оно не будет
разблокировано с помощью pmount −−unlock идентификатор_процесса_устройства. Идентификатор процесса pid связывает блокировку с определённым
процессом; это позволяет некоторым процессам заблокировать устройство.
В процессе монтирования список блокировок очищается, так как все блокировки, связанные с несуществующими
процессами, будут удалены. Это предотвращает от навсегда забытых блокировок, оставленных аварийно завершившимися программами.
Запуск pmount без параметров заставит программу вывести список смонтированных съёмных устройств, чем−то
напоминающий список, выводимый mount (1).
Отметим, что вы можете воспользоваться метками или уникальными идентификаторами устройств (UUID), которые обычно
описываются в fstab (5) для устройств, присутствующих в /etc/fstab. В этом случае необходимо, чтобы имя устройства полностью совпадало с тем,
которое прописано в записи из файла /etc/fstab, включая часть LABEL= или UUID=.
Важное замечание для Debian: Права на выполнение pmount ограничены членами системной группы plugdev.
Добавьте в неё всех пользователей рабочих столов, которые должны иметь возможность пользоваться pmount, выполнив следующую команду:
adduser пользователь plugdev
(от имени пользователя root).
ПОЛИТИКА
Монтирование будет успешным при выполнении каждого из следующих усовий:
•
устройство является блочным устройством в каталоге /dev/
•
устройство не упоминается в файле /etc/fstab (если это так, pmount выполнит mount устройство от имени вызывающего пользователя для
прозрачной обработки этой ситуации). Обратитесь к описанию ниже за подробностями.
•
устройство уже не смонтировано по данным файлов /etc/mtab и /proc/mounts
•
Если точка монтирования уже существует, то в ней не должно уже быть смонтировано другое устройство и каталог должен быть пуст
•
устройство является съёмным (устройство USB, FireWire, или MMC, или /sys/block/устройство/removable равно 1) или оно помещено в
белый список в файле /etc/pmount.allow.
•
устройство не заблокировано
ОПЦИИ
−r, −−read−only
Принудительно смонтировать устройство в режиме чтения. Если не указаны ни −r ни −w, то ядро самостоятельно выберет подходящий режим
по умолчанию.
−w, −−read−write
Принудительно смонтировать устройство в режиме чтения/записи. Если не указаны ни −r ни −w, то ядро самостоятельно выберет
подходящий режим по умолчанию.
−s, −−sync
Монтировать устройство с опцией sync, то есть без отложенной записи. По умолчанию используется режим async
(write−back − обратная запись). При указании этой опции, операции записи станут намного медленнее и вследствие значительного увеличения обновлений структур
inode/FAT, flash−устройства могут значительно износиться при записи больших файлов. Эта опция предназначена для обеспечения безопасности на случай внезапного
изъятия USB−диска без размонтирования.
−A, −−noatime
Устройство будет смонтировано с опцией noatime. По умолчанию используется опция atime.
−e, −−exec
Смонтировать устройство с опцией exec. По умолчанию используется опция noexec.
−t файловая_система, −−type файловая_система
Смонтировать файловую систему указанного типа. Если эта опция не указана, тип файловой системы определяется автоматически.
Обратитесь к последующему списку поддерживаемых в настоящее время файловых систем.
−c набор_символов, −−charset набор_символов
Использовать указанный набор символов в операциях ввода−вывода (по умолчанию: utf8, если программа вызвана с локалью UTF−8,
а иначе происходит монтирование с опциями по умолчанию). Эта опция соответствует опции монтирования iocharset (или nls для NTFS). Эта опция
игнорируется файловыми системами, не поддерживающими настроек набора символов (обратитесь за подробностями к mount (8)). Важное замечание: pmount
теперь монтирует файловые системы VFAT с iocharset=iso8859−1 как iocharset=utf8, что делает файловые системы чувствительными к регистру символов
(что очень плохо...).
−u umask, −−umask umask
Использовать указанное значение umask вместо значения по умолчанию. Для UDF значением по умолчанию является ’000’, для VFAT и NTFS
значением по умолчанию является ’077’. Это значение игнорируется файловыми системами, не поддерживающим настройку umask. Отметим, что вы можете воспользоваться
значением 077, чтобы запретить кому−либо читать или писать файлы, 027 чтобы позволить членам вашей группы читать файлы и 022, чтобы разрешить кому−либо читать
файлы (но только вы будете иметь право писать).
−−dmask dmask
−−fmask fmask
Некоторые файловые системы (главным образом VFAT и HFS) поддерживают раздельные параметры umask (обратитесь к описанию опции
−u выше) для каталогов и файлов, во избежание эффекта выполняемости всех файлов. Для этих файловых систем вы можете указать маски с помощью этих опций.
По умолчанию fmask равна umask без всех исполняемых бит, а dmask равна umask. В большинстве случаев эти настройки должны делать то,
что вы хотите, поэтому вам в болшинстве случаев не понадобится пользоваться опциями −−fmask и −−dmask напрямую.
−p файл −−passphrase файл
Если устройство зашифровано (dm−crypt с метаданными LUKS), то следует прочитать ключевую фразу из указанного файла файл, а
не запрашивать фразу с терминала.
−h, −−help
Вывести справочное сообщение и успешно завершить работу.
−d, −−debug
Включить подробные отладочные сообщения.
−V, −−version
Вывести номер текущей версии и успешно завершить работу.
ФАЙЛЫ
/etc/pmount.allow
Список устройств (по одному в строке), которые дополнительно разрешается монтировать pmount. Разрешаются шаблоны вроде
/dev/sda[123]. Обратитесь также к glob (7) за более подробным описанием синтаксиса шаблонов.
СМОТРИ ТАКЖЕ
pumount(1), mount(8)
ПОДДЕРЖИВАЕМЫЕ ФАЙЛОВЫЕ СИСТЕМЫ
В настоящее время pmount поддерживает следующие файловые системы: udf, iso9660, vfat,
ntfs, hfsplus, hfs, ext3, ext2, ext4, reiserfs, reiser4, xfs, jfs и omfs. Если не
указана конкретная файловая система, она будет подобрана в порядке перечисления в списке.
Дополнительно, pmount поддерживает файловые системы типов ntfs−fuse и ntfs−3g для монтирования
томов NTFS с помощью соответственно ntfsmount (1) или ntfs−3g (1). Если обнаружен файл /sbin/mount.ntfs−3g, то pmount попытается
смонтировать файловую систему NTFS типа ntfs−3g прежде чем воспользоваться обычным типом ntfs. Для отключения этого поведения просто укажите в
командной строке опцию −t ntfs, которая будет влиять только на автообнаружение.
ПОДРОБНЕЕ ОБ FSTAB
В настоящее время pmount полностью распознаёт все символические ссылки в командной строке и в файле
/etc/fstab, что означает, что если /dev/cdrom является символической ссылкой на /dev/hdc и вы попытались смонтировать напрямую mount
/dev/hdc, то pmount делегирует монтирование mount(1). Эта возможность отличается от прошлого противоречивого поведения pmount в
обработке символических ссылок из /etc/fstab.
ИЗВЕСТНЫЕ НЕИСПРАВНОСТИ
Не смотря на то, что мы верим в достаточную безопасность pmount, существуют некоторые неожиданные
особенности, которые никогда не будут исправлены.
•
pmount требуется несколько попыток, чтобы в конце концов правильно смонтировать файловую систему; важно, что pmount не подозревает о том, с
насколько правильными опциями монтируется файловая система с точки зрения безопасности. Это чаще всего заключается в особом поведении mount с опцией
−t auto, при котором предпринимаются попытки смонтировать файловую систему и проверки, что это за файловая система. pmount никогда не пытается
открыть устройство и посмотреть на него в поисках типа файловой системы, что может привести к появлению некоторых дыр в системе безопасности. Более того,
порядок, в котором происходит попытка определения типа файловой системы, продиктован распространённостью файловых систем данного типа на съёмных носителях.
Этот порядок отличается от действительности. В частности, это означает, что при попытке смонтировать файловую систему ext3 с помощью pmount, вы
можете получить несколько сообщений об ошибках о файловой системе от ядра. Простите!
ЗАМЕЧАНИЕ: Начиная с версии 0.9.17, pmount использует тот же механизм, что и mount (1)
для автоопределения типа файловой системы, поэтому некоторые виды проблем более не должны проявляться.
АВТОР
pmount изначально разработана Мартином Питтом (Martin Pitt) <martin.pitt@canonical.com>. В настоящее
время программа сопровождается Винсентом Фаурмондом (Vincent Fourmond) <fourmond@debian.org>.
АВТОР ПЕРЕВОДА
Перевод на русский язык выполнил Владимир Ступин <vladimir@stupin.su>.