The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

Монтирование usb flash от юзера в FreeBSD (freebsd usb mount flash)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: freebsd, usb, mount, flash,  (найти похожие документы)
From: Roman Shramko <http://dormestmass.blogspot.com>; Date: Mon, 3 Jan 2008 14:31:37 +0000 (UTC) Subject: Монтирование usb flash от юзера в FreeBSD Оригинал: http://dormestmass.blogspot.com/2007/06/usb-flash-freebsd.html Как ни странно, но в FreeBSD процесс монтирования флеш-накопителя от непривелигированного пользователя немного напоминает танец с бубном :). По крайней мере, так мне показалось после проделывания этой процедуры в Linux-системах. Для того, чтобы можно было смонтировать накопитель от пользователя, необходимо выполнить несколько действий. Во-первых, разрешить монтирование пользователям, установив переменную sysctl vsf.usermount в 1 srn@rawbeer ~>> cat /etc/sysctl.conf ... vfs.usermount=1 ... Во-вторых, пользователь должен быть владельцем точки монтирования и иметь, как минимум, права доступа на чтение для устройства накопителя. С точкой монтирования всё понятно. С правами доступа к устройству придется немного повозится. Поскольку начиная с ветви 5.Х в системе используется механизм devfs, то эти права придется выставлять как раз через него. В приведенной конфигурации подразумевается что пользователь входит в группу operator. Прямая атака на /etc/devfs.conf в виде записи own da0 root:operator perm da0 0660 own da0s1 root:operator perm da0s1 0660 в качестве результата дала абсолютный ноль. После непродолжительного гугления выяснил причину. Как оказалось, записи в devfs.conf применяются только во время загрузки, а т.к. на момент загрузки, usb устройство, как правило, не присоединено и /dev/da0 с /dev/da0s1 не существуют, то правила own и perm никогда не будут выполнятся. Для динамически подключаемых устройств следует использовать файл правил /etc/devfs.rules. Необходимо создать этот файл и создать в нем секцию с нашими правилами. Для флеш-накопителя это будет нечто подобное: srn@rawbeer ~>> cat /etc/devfs.rules [localrules=10] add path 'da*0*' mode 0660 group operator Формат файла можно посмотреть в devfs.rules(5), формат правил в devfs(8). В /etc/rc.conf необходимо указать созданный набор правил: srn@rawbeer ~>> cat /etc/rc.conf ... devfs_system_ruleset="localrules" ... После этого перезапускаем devfs и пробуем монтировать накопитель. Сразу же видим грабли. srn@rawbeer ~>> sudo /etc/rc.d/devfs restart srn@rawbeer ~>> mount -t msdosfs -o -L=ru_RU.KOI8-R /dev/da0s1 ~/flash mount_msdosfs: cannot find or load "msdosfs_iconv" kernel module mount_msdosfs: msdosfs_iconv: Operation not permitted Если не использовать ключ для конвертирования имен файлов, то данной проблемы не возникает. Красивого решение проблемы не нашёл. Как описано в блоге StraNN'ое место, существуют два варианта решения этого бага. Либо добавить SUID-бит для команд mount_msdosfs и umount, либо первоначально монтировать устройство от пользователя root. К сожалению второй вариант мало подходит, т.к. устройство вовремя загрузки системы не подключено. Так что, пока пришлось воспользоваться SUID-правами на командах. Осталось лишь прописать для удобства точку монтирования в fstab и всё готово.

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Ваш комментарий
Имя:         
E-Mail:      
Заголовок:
Текст:



АКЦИЯ! ПОДПИШИСЬ на журнал Linux Format до 31 января 2012 года и выиграй СУПЕРПРИЗ!

Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

Каждый, кто оформит подписку, получает бонус- объёмные наклейки на системный блок и подарки: с одним из первых выпусков журнала в 2012 году- диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

Подробнее о проведении акции вы можете прочитать на странице сайта.


  Закладки на сайте
  Проследить за страницей
Created 1996-2012 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
RUNNet TopList