Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Общий обзор доступных параметров идентификации
Command | ||
---|---|---|
В данный обзор не включены параметры устройств, относящиеся к их подключению к ОС. Такие параметры нежелательно применять для идентификации устройств, так как они:
При желании все параметры устройства можно получить командой:
|
Операции назначения мандатных атрибутов выполняются при подключении носителя:
Блок кода ACTION=="add"
Сменные носители всегда являются блочными устройствами типа диск:
Блок кода ENV{SUBSYSTEM}=="block"
Сменные носители всегда являются устройствами типа "диск" или типа "дисковый раздел":
Блок кода ENV{DEVTYPE}=="disk" ENV{DEVTYPE}=="partition"
при этом правила МРД Parsec, применяемые для реализации учета съемных носителей, работают с дисковыми разделами.
Атрибуты, теоретически применимые для идентификации сменных носителай:
Для устройств типа "диск" (также применимы к устройствам типа "дисковый раздел" которыми наследуются от устройства "диск"):
- ENV{ID_VENDOR}=="SanDisk"
- ENV{ID_VENDOR_ID}=="0781"
- ENV{ID_VENDOR_ENC}=="SanDisk\\x20"
- ENV{ID_MODEL}=="Cruzer_Glide"
- ENV{ID_MODEL_ID}=="5575"
- ENV{ID_MODEL_ENC}=="Cruzer\\x20Glide\\x20\\x20\\x20\\x20"
- ENV{ID_SERIAL}=="SanDisk_Cruzer_Glide_XXXXXXXXXXXXXXXXXX-0:0"
- ENV{ID_SERIAL_SHORT}=="XXXXXXXXXXXXXXXXXX"
- Дополнительные атрибуты, применимые к устройствам типа "дисковый раздел":
- "ENV{ID_FS_LABEL}=="FLASH128G2"
- "ENV{ID_FS_LABEL_ENC}=="FLASH128G2"
- "ENV{ID_PART_ENTRY_NUMBER}=1"
- "ENV{ID_FS_TYPE}=="vfat"
- "ENV{ID_FS_USAGE}=="filesystem"
- "ENV{ID_FS_UUID}=="0047-C44D"
- "ENV{ID_FS_UUID_ENC}=="0047-C44D"
- "ENV{ID_FS_VERSION}=="FAT32"
- "ENV{ID_PART_ENTRY_NUMBER}=1"
Рекомендации по выбору
парамеровпараметров идентификации
- Основным минимальным параметром идентификации съемного носителя является его серийный номер (ID_SERIAL или ID_SERIAL_SHORT);
- Для гарантированной уникальности идентификации носителей при использовании оборудования разных моделей и разных производителей можно использовать набор параметров "Производитель" - "Модель" - "Серийный номер" (например, ID_VENDOR, ID_MODEL, ID_SERIAL или ID_VENDOR_ID, ID_MODEL_ID, ID_SERIAL и т.д.);
С учетом того, что на одном устройстве может располагаться несколько дисковых разделов, в дополнение к параметрам идентификации носителя, для идентификации дисковых разделов можно использовать:
Предупреждение Следует помнить, что все параметры файловой системы подделать гораздо проще, чем параметры физического носителя, поэтому предпочтительно придерживаться политики "один носитель - один дисковый раздел". - Метку файловой системы (ID_FS_LABEL);
- Универсальный идентификатор файловой системы UUID (ID_FS_UUID);
- Номер раздела на носителе (ID_PART_ENTRY_NUMBER}.
Информация |
---|
Параметры дисковых разделов, описывающие файловую систему (ID_FS_TYPE и ID_FS_VERSION) могут быть использованы для создания правил монтирования с учетом кодировок (известная проблема: правило монтирования, по умолчанию заданное в файле etc/fstab.pdac для устройства /dev/sd* несовместимо с устройствами с файловой системой ext4). |
Примерный шаблон правила udev
Информация |
---|
Автоматически создаваемые локальные правила Parsec находятся в каталоге /etc/udev/rules.d/. |
Идентификация дискового раздела по серийному номеру устройств и UUID:
Блок кода |
---|
# отсекаются ненужные устройства - вероятность несовпадения серийника выше, правило сработает чаще
ENV{ID_SERIAL}!="SanDisk_Cruzer_Glide_ХХХХХХХХХХХХХ-0:0", GOTO="END"
ENV{ID_FS_UUID}!="0047-C44D", GOTO="END"
# отсекаются ненужные события
ACTION!="add", GOTO="END"
ENV{SUBSYSTEM}!="block", GOTO="END"
ENV{DEVTYPE}!="partition", GOTO="END"
# настройка правил Parsec
OWNER="luser", GROUP="root", MODE="740", PDPL="0:0:0x0:0x0!:", AUDIT="o:0x0:0x0"
ENV{ID_FS_TYPE}=="?*", SYMLINK+="%k_$env{ID_FS_TYPE}", RUN+="/bin/ln -f /dev/%k /dev/%k_$env{ID_FS_TYPE}"
LABEL="END"
|