Как установить разрешения по умолчанию для автоматически подключаемых дисков FAT в Ubuntu 9.10?

26131

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

«Назад в тот день» я бы перечислил диски в / etc / fstab с нужным мне umask / dmask, и по умолчанию не было такого понятия. В наши дни диски автомонтируются под своими именами томов. Что здорово, кроме как сейчас я понятия не имею, как установить значение по умолчанию.

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

16
huh. thought your username looked familiar. i've been using mutagen for years. welcome to Super User. :) quack quixote 14 лет назад 0
also, which version of ubuntu are you using? i'd assume Karmic, but you might be talking about the Lucid RC, or even something earlier. quack quixote 14 лет назад 0
Поясняется в заголовке. Я надеялся, что это не будет иметь значения, так как у меня есть некоторые старые установки, и что-то вроде монтажа не должно меняться каждые шесть месяцев. 14 лет назад 0
unfortunately the HAL stuff has undergone quite a few changes in recent versions. 9.04 and previous are probably the same; some solutions might apply to all; but 9.10 uses DeviceKit and HAL is deprecated. i don't trust any of the DBus/HAL/DeviceKit stuff to stay stable at the moment. quack quixote 14 лет назад 0
комментарий от [pagin] (http://superuser.com/users/37982/pagin): Я думаю, что проблема гораздо более фундаментальная: я хочу изменить umask для автоматического монтирования независимо от того, какое устройство подключается к компьютеру. Т.е. если мой друг заходит с его USB-флешки, и я хочу просто скопировать какой-нибудь файл с этого, я хочу, чтобы они автоматически передавались как chmod 750, а не 000 или 777, 770 или что-то еще. Там действительно должна быть возможность где-то настроить это ... quack quixote 14 лет назад 1

5 ответов на вопрос

7
quack quixote

Обновлено
К сожалению нет встроенных средств для этого. «Правильный путь», поддерживаемый способ, это установка строки / etc / fstab с параметрами по умолчанию, которые вы хотите. Это означает, что ваши значения по умолчанию должны быть установлены для каждого устройства, хотя вы можете использовать метку раздела или UUID, чтобы избежать необходимости указания конкретного пути к устройству. В частности, этот метод, кажется, имеет место до авторизации PolicyKit на рабочем столе.

На форумах Ubuntu, Launchpad и bugzilla Gnome есть много сообщений от пользователей, которые ищут ту же функциональность, что и вы, как в NTFS, так и в FAT32. Ubuntu 9.10 и 10.04 обеспечивают автоматическое монтирование по умолчанию через комбинацию DeviceKit-Disks, GVFS и Nautilus.

DeviceKit-disk предоставляет интерфейс FilesystemMount, аргумент параметров которого является правильным способом настройки параметров подключения. Но GVFS / Nautilus, по-видимому, не предоставляет каких-либо средств через пользовательский интерфейс или файл конфигурации для указания этой опции при автоматическом подключении USB-ключа.

Есть несколько обходных путей:

  • Эта ошибка Launchpad содержит предоставленное пользователем исправление, которое изменяет значения по умолчанию DeviceKit-Disks в пакете devicekit-disk, созданном пользователем .

    С другой стороны, это может быть самый простой способ установить предпочитаемые значения по умолчанию для всех устройств. Недостатком является то, что вам нужно будет повторно выполнить повторную проверку при обновлении пакета.

  • В одном посте на форумах 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] (http://superuser.com/users/35531/rndmerle): В качестве дополнительного примечания в Ubuntu Lucid (10.4) команда devkit-disc была заменена на / usr / bin / udisks quack quixote 14 лет назад 0
Этот обходной путь с udisks - unmount и т. Д., Работает только для umask и dmask. Другие варианты не разрешены, как вы можете догадаться из патча, который вы связали. user39559 14 лет назад 0
1
Tim Abell

Вот моя строка 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/ 

который позволит вам получить точку монтирования -> device -> uuid mapping

вместо использования полных путей * / dev / disk / by-uuid / FOO * или * / dev / disk / by-label / FOO * вы можете использовать сокращенный синтаксис `UUID = FOO` или` LABEL = FOO`. quack quixote 14 лет назад 1
0
Ivan Petrushev

Вы действительно пытались использовать старый метод / etc / fstab? Меня устраивает. Ubuntu использует fstab, независимо от автомонтирования HAL.

Что я помещаю в / etc / fstab, чтобы все FAT-диски монтировались таким образом? Моя точка зрения заключается не в том, что «я мог бы сделать это с помощью fstab» (я не могу), а в том, что «этого не произошло в модели fstab, потому что она ничего не монтировала, пока я этого не сказал». 14 лет назад 2
0
Guido I

Я сделал несколько сценариев bash и выпустил улучшенную версию сценария обхода, которая опубликована выше:

#!/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 (возможно, все pendrive), которые уже смонтированы, и перемонтирует их, используя mount_options (в моем случае, пусть они используют кодировку iso-8859-1 для совместимости с другими ограниченными операционными системами)

Что произойдет, если вы подключите ext4 USB? Будут ли применяться маски и другие параметры, которые вы хотите (и только имеют смысл) для FAT? user39559 14 лет назад 3
0
JRT

Я только что опубликовал свое решение для этого на другом вопросе https://askubuntu.com/questions/17540/how-do-i-set-executable-permissions-on-a-removable-drive/17550#17550

Похожие вопросы