This is an old revision of the document!


Файловая система UDF в GNU/Linux: настройка HAL

Впервые опубликовано 2010-07-09.

Файловая система UDF, точно так же как любая *nix'овая ФС, обладает поддержкой хранения и использования расширенной информации о файлах: прав доступа (umask), пользователя и группы-владельца (uid и gid).

Однако, поскольку UDF в основном применяется на переносимых с компьютера на компьютер носителях, в некоторых ОС принято по умолчанию игнорировать эти возможности UDF. К примеру, используемый во многих дистрибутивах GNU/Linux для автомонтирования сменных дисков инструмент HAL, подключает UDF-флешки с опцией uid=, выставляемой равной идентификатору подмонтировавшего ФС пользователя. В результате сохранённый в ФС владелец игнорируется, а все файлы и каталоги как бы принадлежат текущему пользователю.

В случае, если такое поведение не является предпочтительным (к примеру, вы хотите сохранять на UDF-устройство бэкап корневой ФС простым копированием каталогов, без “заворачивания” его в tar), существует возможность его отключить. В Debian для этого следует создать файл /etc/hal/fdi/policy/udf.fdi (или с любым другим названием, но в том же каталоге). Содержимое файла:

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
    <match key="volume.is_disc" bool="false">
      <match key="volume.fstype" string="udf">
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="Linux">
          <remove key="volume.mount.valid_options" type="strlist">uid=</remove>
          <remove key="volume.mount.valid_options" type="strlist">umask=</remove>
        </match>
        <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" string="FreeBSD">
          <remove key="volume.mount.valid_options" type="strlist">-C=</remove>
          <remove key="volume.mount.valid_options" type="strlist">-v</remove>
        </match>
      </match>
    </match>      
  </device>  
</deviceinfo>

После чего достаточно перезапустить HAL выполнив /etc/init.d/hal restart, и при следующем их подключении, на не являющихся сменными дисками устройствах (т.е. на флешках и жёстких дисках), сохранённая в UDF информация о правах доступа и владельцах файлов игнорироваться более не будет.


udf-hal.1278958033.txt.gz · Last modified: 2010-07-29 10:56 UTC (external edit)