Як встановити дозволи за замовчуванням для автоматизованих накопичувачів FAT в Ubuntu 9.10?


17

У мене є багато дисків FAT32, які я хотів би встановити в Ubuntu, щоб вони мали режим дозволу 700 для каталогів і 600 для всіх інших файлів. За замовчуванням у них 755 для всіх файлів, що не особливо корисно, оскільки майже жодні не-каталоги не повинні бути виконані, і він викочує репост управління версіями, розміщений на накопичувачах.

"Ще вдень" у мене були б диски, перелічені в / etc / fstab з umask / dmask, який я хочу, і не було такої речі, як за замовчуванням. У наші дні накопичувачі автоматично встановлюються під своїми назвами гучності. Що чудово, за винятком того, що зараз я поняття не маю, як встановити за замовчуванням.

Я спробував змінити ключ / system / storage / default_options / vfat / mount_options gconf без видимого ефекту. Спочатку це було 077, але змонтований привід відобразив значення за замовчуванням 022; змінивши його та повторно вставивши диски, це призвело до того, що файли все ще мають біти дозволу 755.


так. подумав, що ваше ім’я користувача виглядає знайомим. я використовую мутаген протягом багатьох років. Ласкаво просимо до Супер Користувача. :)
квакш-кіхот

також, яку версію ubuntu ви використовуєте? я б припустив, що Кармік, але ви можете говорити про Lucid RC, або навіть щось раніше.
квакш-кіхот

Уточнено у назві. Я сподівався, що це не матиме значення, оскільки у мене є старіші установки, і щось на кшталт кріплення не повинно змінюватися кожні півроку.

на жаль, матеріали HAL зазнали чимало змін в останніх версіях. 9.04 та попередні, ймовірно, однакові; деякі рішення можуть стосуватися всіх; але 9.10 використовує DeviceKit, а HAL застаріло. я не довіряю жодному з речей DBus / HAL / DeviceKit, щоб він залишався стабільним на даний момент.
квакш-кіхот

1
коментар з сторінки : Я вважаю, що проблема є набагато принциповішою: я хочу змінити umask для автоматичного набору незалежно від того, який пристрій підключається до комп'ютера. Тобто, якщо мій друг загляне зі своєю палицею usb, і я хочу просто скопіювати якийсь файл із цього, я хочу, щоб вони автоматично передавались як chmod 750, а не 000 або 777, 770 чи будь-що інше. Справді має бути десь варіант, щоб налаштувати це ...
шарлатанний кіхот

Відповіді:


7

Оновлено
На жаль, немає вбудованих засобів для цього. "Правильний шлях", що підтримується , встановлює лінію / etc / fstab з потрібними параметрами монтажу за замовчуванням. Це означає, що ваші налаштування за замовчуванням повинні встановлюватися на кожному пристрої, хоча ви можете використовувати мітку розділу або UUID, щоб не вимагати конкретного шляху пристрою. Зокрема, здається, що цей метод має місце до авторизації настільних ПК PolicyKit.

Форуми Ubuntu, Launchpad та Gnome's bugzilla містять безліч дописів користувачів, які шукають однаковий функціонал, який ви шукаєте, як на NTFS, так і на FAT32. Ubuntu 9.10 та 10.04 забезпечують автоматичне автоматичне встановлення за замовчуванням за допомогою комбінації DeviceKit-Disks, GVFS та Nautilus.

DeviceKit-диски надають інтерфейс FilesystemMount , аргумент параметрів якого є правильним способом налаштування параметрів монтування. Але, здається, GVFS / Nautilus не надає жодних засобів через користувальницький інтерфейс або файл конфігурації, щоб вказати цей параметр при автоматичному налаштуванні USB-ключа.

Є кілька способів вирішення:

  • Ця помилка Launchpad містить виправлений користувачем патч, який змінює параметри DeviceKit-Disks у вбудованому на замовлення пакеті комплектних пристроїв.

    З іншого боку, це може бути найпростішим способом встановити бажані параметри за замовчуванням для всіх пристроїв. Недоліком є ​​те, що вам потрібно буде повторно перезавантажити, коли пакет оновиться.

  • Одне повідомлення на форумах Ubuntu пропонує сценарій вирішення для пристрою :

    #!/bin/bash
    devkit-disks --unmount /dev/disk/by-uuid/0D3594370C618A2A
    devkit-disks --mount-options "dmask=000" --mount /dev/disk/by-uuid/0D3594370C618A2A
    

    Це також є неоптимальним, оскільки вам доведеться постійно оновлювати це на певних пристроях. Але це уникає проблеми авторизації, яку може мати підтримуване рішення fstab .


коментар Rndmerle : Як бічна примітка, на Ubuntu Lucid (10.4) команда dekkit-disks була замінена на / usr / bin / udisks
quack quixote

Це вирішення удиски - безлічі і т. Д., Працює лише для умаски та маски. Інші параметри заборонені, як ви можете здогадатися з пов’язаного патча.
користувач39559

1

Ось мій рядок fstab для отримання моєї usb-палки для монтажу з дозволами, придатними для приватного ключа ssh (fmask = 177). Проба та помилки повідомили мене, що мені довелося додати параметр "користувач", щоб автоматична робота працювала.

/dev/disk/by-uuid/C2F8-E4F2  /media/TIM_ABELL  vfat  rw,user,nosuid,nodev,dmask=0077,flush,fmask=177

Я також повинен був створити точку кріплення, яка раніше була автоматичною:

mkdir /media/TIM_ABELL

диск uuid можна знайти, підключивши диск і запустивши

mount
ls -l /dev/disk/by-uuid/

що дозволить отримати точку монтажу -> пристрій -> uuid відображення


1
замість використання повних шляхів / dev / disk / by-uuid / FOO або / dev / disk / by-label / FOO, ви можете використовувати синтаксис швидкого доступу UUID=FOOабо LABEL=FOO.
шарлатаний кіхот

0

Ви справді, справді спробували старий метод / etc / fstab? Це працює для мене. Ubuntu використовує fstab, незалежно від автоматичної версії HAL.


2
Що потрібно вставити в / etc / fstab, щоб усі FAT-накопичувачі змонтувалися таким чином? Моя думка не в тому, що "я міг би це зробити за допомогою fstab" (я не можу), це "цього не сталося під моделлю fstab, тому що він нічого не монтував, якщо я не сказав йому".

0

Я зробив декілька сценаріїв, що розкрилися, і вийшов із покращеною версією обхідного сценарію, розміщеною вище:

#!/bin/bash
dev_path="/dev/disk/by-id"
usb_drives=$(find $dev_path -name "usb*")
mount_options="utf8=0,codepage=850,iocharset=iso8859-1"

for dev in $usb_drives ; do
  if ( devkit-disks --show-info $dev | \
       grep "is mounted:" | grep -q 1 ) ; then
    devkit-disks --unmount $dev
    devkit-disks --mount $dev \
      --mount-options $mount_options
  fi
done

Він знаходить усі пристрої, підключені через USB (сподіваємось, всі підвісні пристрої), які вже змонтовані, та перекомпонує їх за допомогою mount_options (у моєму випадку дозвольте використовувати шасі iso-8859-1 для сумісності з іншими обмеженими ОС)


3
Що станеться, якщо ви підключите USB Ext3? Чи застосовуватимуть маски та інші варіанти, які ви хочете (і мають лише сенс) для FAT?
користувач39559

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.