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, выполнив следующую команду:
(от имени пользователя root).
adduser пользователь plugdev
Монтирование будет успешным при выполнении каждого из следующих усовий:
o устройство является блочным устройством в каталоге /dev/ o устройство не упоминается в файле /etc/fstab (если это так, pmount выполнит mount устройство от имени вызывающего пользователя для прозрачной обработки этой ситуации). Обратитесь к описанию ниже за подробностями. o устройство уже не смонтировано по данным файлов /etc/mtab и /proc/mounts o Если точка монтирования уже существует, то в ней не должно уже быть смонтировано другое устройство и каталог должен быть пуст o устройство является съёмным (устройство USB, FireWire, или MMC, или /sys/block/устройство/removable равно 1) или оно помещено в белый список в файле /etc/pmount.allow. o устройство не заблокировано
-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, 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, которая будет влиять только на автообнаружение.
В настоящее время pmount полностью распознаёт все символические ссылки в командной строке и в файле /etc/fstab, что означает, что если /dev/cdrom является символической ссылкой на /dev/hdc и вы попытались смонтировать напрямую mount /dev/hdc, то pmount делегирует монтирование mount(1). Эта возможность отличается от прошлого противоречивого поведения pmount в обработке символических ссылок из /etc/fstab.
Не смотря на то, что мы верим в достаточную безопасность pmount, существуют некоторые неожиданные особенности, которые никогда не будут исправлены.
ЗАМЕЧАНИЕ: Начиная с версии 0.9.17, pmount использует тот же механизм, что и mount (1) для автоопределения типа файловой системы, поэтому некоторые виды проблем более не должны проявляться.
o pmount требуется несколько попыток, чтобы в конце концов правильно смонтировать файловую систему; важно, что pmount не подозревает о том, с насколько правильными опциями монтируется файловая система с точки зрения безопасности. Это чаще всего заключается в особом поведении mount с опцией -t auto, при котором предпринимаются попытки смонтировать файловую систему и проверки, что это за файловая система. pmount никогда не пытается открыть устройство и посмотреть на него в поисках типа файловой системы, что может привести к появлению некоторых дыр в системе безопасности. Более того, порядок, в котором происходит попытка определения типа файловой системы, продиктован распространённостью файловых систем данного типа на съёмных носителях. Этот порядок отличается от действительности. В частности, это означает, что при попытке смонтировать файловую систему ext3 с помощью pmount, вы можете получить несколько сообщений об ошибках о файловой системе от ядра. Простите!
pmount изначально разработана Мартином Питтом (Martin Pitt) <martin.pitt@canonical.com>. В настоящее время программа сопровождается Винсентом Фаурмондом (Vincent Fourmond) <fourmond@debian.org>.
Перевод на русский язык выполнил Владимир Ступин <wheelof@gmail.com>.
Мартиан Питт (Martin Pitt) | pmount (1) | 27 августа 2004 |