Дерево страниц

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 10 Следующий »

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)

Общий обзор доступных параметров идентификации

В данный обзор не включены параметры устройств, относящиеся к их подключению к ОС. Такие параметры нежелательно применять для идентификации устройств, так как они:

  • могут повторяться для разных устройств  (присвоение имени sdX);
  • могут зависеть от порядка подключения устройств (присвоение имен sdX);
  • могут изменяться при изменении аппаратной конфигурации;
  • с высокой вероятностью будут отличаться на разных доменных компьютерах, имеющих разную аппаратную конфигурацию.

При желании все параметры устройства можно получить командой:

sudo udevadm info --query=property --name=/dev/<имя_устройства>

  1. Операции назначения мандатных атрибутов выполняются при подключении носителя:

    ACTION=="add"

    при этом операции подключения выполняются раздельно для самого носителя и для всех находящихся на этом носителе дисковых разделов.

  2. Сменные носители всегда являются блочными устройствами:

    ENV{SUBSYSTEM}=="block"
  3. Сменные носители всегда являются устройствами типа "диск" (disk) или типа "дисковый раздел" (partition):

    ENV{DEVTYPE}=="disk"
    ENV{DEVTYPE}=="partition"

    при этом правила МРД Parsec, применяемые для реализации учета съемных носителей, работают с дисковыми разделами.

  4. Атрибуты, теоретически применимые для идентификации сменных носителей:

    1. Для устройств типа "диск" (также применимы к устройствам типа "дисковый раздел", которыми наследуются от устройства "диск"):

      1. ENV{ID_VENDOR}=="SanDisk"
      2. ENV{ID_VENDOR_ID}=="0781"
      3. ENV{ID_VENDOR_ENC}=="SanDisk\\x20"
      4. ENV{ID_MODEL}=="Cruzer_Glide"
      5. ENV{ID_MODEL_ID}=="5575"
      6. ENV{ID_MODEL_ENC}=="Cruzer\\x20Glide\\x20\\x20\\x20\\x20"
      7. ENV{ID_SERIAL}=="SanDisk_Cruzer_Glide_XXXXXXXXXXXXXXXXXX-0:0"
      8. ENV{ID_SERIAL_SHORT}=="XXXXXXXXXXXXXXXXXX"
    2. Дополнительные атрибуты, применимые к устройствам типа "дисковый раздел":
      1. "ENV{ID_FS_LABEL}=="FLASH128G2"
      2. "ENV{ID_FS_LABEL_ENC}=="FLASH128G2"
      3. "ENV{ID_PART_ENTRY_NUMBER}=1"
      4. "ENV{ID_FS_TYPE}=="vfat"
      5. "ENV{ID_FS_USAGE}=="filesystem"
      6. "ENV{ID_FS_UUID}=="0047-C44D"
      7. "ENV{ID_FS_UUID_ENC}=="0047-C44D"
      8. "ENV{ID_FS_VERSION}=="FAT32" 
      9. "ENV{ID_PART_ENTRY_NUMBER}=1"

Рекомендации по выбору параметров идентификации

  1. Основным минимальным параметром идентификации съемного носителя является его серийный номер (ID_SERIAL или ID_SERIAL_SHORT);

  2. Для гарантированной уникальности идентификации носителей при использовании оборудования разных моделей и разных производителей можно использовать набор параметров "Производитель" - "Модель" - "Серийный номер" (например, ID_VENDOR, ID_MODEL, ID_SERIAL или ID_VENDOR_ID, ID_MODEL_ID, ID_SERIAL и т.д.);

  3.  С учетом того, что на одном устройстве может располагаться несколько дисковых разделов в дополнение к параметрам идентификации носителя для идентификации дисковых разделов можно использовать:

    Следует помнить, что все параметры файловой системы подделать гораздо проще, чем параметры физического носителя, поэтому предпочтительно придерживаться политики "один носитель - один дисковый раздел".
    1. Метку файловой системы (ID_FS_LABEL);
    2. Универсальный идентификатор файловой системы UUID (ID_FS_UUID);
    3. Номер раздела на носителе (ID_PART_ENTRY_NUMBER}.

Параметры дисковых разделов, описывающие файловую систему (ID_FS_TYPE и ID_FS_VERSION) могут быть использованы для создания правил монтирования с учетом кодировок (известная проблема: правило монтирования, по умолчанию заданное в файле etc/fstab.pdac для устройства /dev/sd* несовместимо с устройствами с файловой системой ext4).

Примерный шаблон правила udev

Автоматически создаваемые локальные правила Parsec находятся в каталоге /etc/udev/rules.d/.
Автоматически создаваемые доменные правила Parsec находятся в каталоге /run/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"
  • Нет меток