LINUX.ORG.RU

Re: монтирование съемных носителей в Дебиан etch

>Как разрешить не руту отмонтировать СД, флешку и т.д.?

Добавь пользователя в группу plugdev.

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

А также в группу cdrom и floppy (на всякий случай).

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

>Где указать codepage и iocharset для монтирования флешек (а может, и СД)?

В policy для hal

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

>Пользователь во всех этих группах состоит.

А, ну еще добавь опцию user в соответсвующих записях в /etc/fstab. Там же и для cdrom можешь указать кодировки.

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

> А, ну еще добавь опцию user в соответсвующих записях в /etc/fstab. Там же и для cdrom можешь указать кодировки.

Ну с СД да, можно, а вот с тем, что засовывается в USB - нет.

anonymous ()

Re: монтирование съемных носителей в Дебиан etch

>Там их вроде несколько, не подскажешь, куда?

В каталоге /usr/share/hal/fdi/policy/ находишь три подкаталога: 10osvendor, 20thirdparty и 30user. В этом порядке они и запускаются. Тебе, соотвтественно, нужен 30user. Туда добавь новое правило про vfat.

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

Посмотри на пакет usbmount - автоматически монтирует usb storage с заданными параметрами. Очень простой и удобный :)

anonymous ()

Re: монтирование съемных носителей в Дебиан etch

> В каталоге /usr/share/hal/fdi/policy/ находишь три подкаталога: 10osvendor, 20thirdparty и 30user. В этом порядке они и запускаются. Тебе, соотвтественно, нужен 30user. Туда добавь новое правило про vfat.

Спасибо, вечерком попробую, тогда напишу, чего выходит.

> Посмотри на пакет usbmount - автоматически монтирует usb storage с заданными параметрами. Очень простой и удобный :)

Если не асилю предыдущий совет, буду это пробовать.

anonymous ()

Re: монтирование съемных носителей в Дебиан etch

>Спасибо, вечерком попробую, тогда напишу, чего выходит.

Тебе это пригодится, если будешь мутить автомонтирование. Можешь поставить ivman для этой цели. Он автоматически замонтирует то, что hal выставил в соответсвии со своими правилами. Опции для монтирования берутся из hal, поэтому если ты правило для кодировки ФС vfat не укажешь, то автоматом замонтируется все с кодировкой по умолчанию.

Ну а если руками монтировать, то подойдет и usbmount.

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

> Тебе это пригодится, если будешь мутить автомонтирование. Можешь поставить ivman для этой цели

Дык, ессно, уже стоит и монтирует, буду я еще руки напрягать)) Только вот с размонтированием не от рута разобраться и с кодировкой. Вот что нарыл по теме после очередного сосредоточения гугла на хале (может пригодится):

http://kde.ru/forum/viewtopic.php?start=0&t=2544

Оказывается, КЕДы (а они у меня тоже есть) забивают на правила ХАЛа, но имеется лекарство.

anonymous ()

Re: монтирование съемных носителей в Дебиан etch

>Дык, ессно, уже стоит и монтирует, буду я еще руки напрягать)) Только вот с размонтированием не от рута разобраться и с кодировкой.

ivman для монтирования использует pmount и pmount-hal. Так что с монтированием из-под пользователя проблем быть не должно. А ручное отмонтирование, соотвтественно, надо делать pumount. Для pmount/pumount главное, чтобы ты был в группе plugdev

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

Извиняюсь, что ничего не писал долго, опять не буду писать минимум до завтрашнего вечера (для Москвы), но, млин, обстоятельства. Посмотри потом еще, если сможешь.

ivman запущен от рута. В fstab user стоит, да ivman, похоже, кладет на fstab, хотя по "паспорту" при наличии соотв. строчки не должен бы. Вот выдержка по поводу размонтирования. Монтировать-то оно монтирует, да без опций fstab...

puh@innna:~$ groups puh dialout cdrom floppy audio video plugdev puh@innna:~$ pumount /dev/cdrom umount: only root can unmount /dev/hdc from /media/cdrom0 puh@innna:~$

anonymous ()

Re: монтирование съемных носителей в Дебиан etch

Не, кажется, я наврал. Я забыл из-под рута выйти, когда проверял. Короче, дело такое. Если монтирует ivman, то он монтирует от имени пользователя ivman, который входит в группу plugdev. Раз замонтировав cdrom, он не даст его больше никому размонтировать, кроме рута или самого ivman, даже если ты тоже в группе plugdev. А ivman размонтирование врубит, когда ты вытащишь диск. Если посмотреть /etc/mtab, то видно, что монтирование диска происходит с опцией user=ivman. Надо подумать. Что-то мне раньше не приходило в голову замонтированное ivman размонтировать руками от пользователя. Может, и правильно, что не дает этого делать?

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

>Монтировать-то оно монтирует, да без опций fstab...

Ну да. В man сказано, что pmount предназначен для монтирования и без этих опций в fstab

pmount ("policy mount") is a wrapper around the standard mount program which permits normal users to mount removable devices without a matching /etc/fstab entry.

Однако потом есть оговорочка:

The mount will succeed if all of the following conditions are met: [skip]

* device is not in /etc/fstab (if it is, pmount executes mount device as the calling user to handle this transparently)

[skip]

То есть, он должен скушать параметры из /etc/fstab, но замонтировать с опцией user=ivman (Ну или любой другой пользователь из группы plugdev), что не даст возможности другому пользователю из группы plugdev размонтировать диск.

У меня так и монтируется (/etc/mtab):

/dev/hdd /media/cdrom0 iso9660 ro,noexec,nosuid,nodev,utf8,user=ivman 0 0

Вот опцию utf8 он у меня скушал. Я попробовал в /etc/fstab поменять опцию на iocharset=cp1251 для примера, и pmount ее абсолютно прозрачно скушала, что отразилось на /etc/mtab:

/dev/hdd /media/cdrom0 iso9660 ro,noexec,nosuid,nodev,iocharset=cp1251,user=ivman 0 0

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

Да нет, я ж не хочу ручками. КЕДы должны все делать. Думаю, либо конфиги ivman править, либо не знаю)) Щас потрогал umask в configbase (извиняюсь, но помню, что 000 - хорошо для всех), и вот что: puh@innna:~$ pumount /dev/sda1 Ошибка: устройство /dev/sda1 было присоеденено другим пользователем puh@innna:~$ Я понимаю, что ivman'ом!

Про ЦД:

puh@innna:~$ pumount cdrom umount: only root can unmount /dev/hdc from /media/cdrom0 puh@innna:~$

anonymous ()

Re: монтирование съемных носителей в Дебиан etch

> Может, и правильно, что не дает этого делать?

Да не думаю. Неразумно для вытаскивания флэшки рутом заходить.

> То есть, он должен скушать параметры из /etc/fstab, но замонтировать с опцией user=ivman (Ну или любой другой пользователь из группы plugdev), что не даст возможности другому пользователю из группы plugdev размонтировать диск.

Ага, понял, надо посмотреть. То есть картина вырисовывается примерно след.:

Для размонтирования не рутом надо конфиг pmount править, для правильности кодировки - HAL Policy. Надо почитать дебиановские readme.

anonymous ()

Re: монтирование съемных носителей в Дебиан etch

>Для размонтирования не рутом надо конфиг pmount править, для правильности кодировки - HAL Policy. Надо почитать дебиановские readme.

Да, размонтировать может только пользователь, который замонтировал, либо рут. То есть ivman и должен размонтировать. Он это и делает, но только тогда получается сигнал о том, что устройство вынули. Если я понимаю правильно, то тебе требуется заставить ivman размонтировать устройство принудительно до того, как ты вытаскиваешь его?

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

> Если я понимаю правильно, то тебе требуется заставить ivman размонтировать устройство принудительно до того, как ты вытаскиваешь его?

Ну да, ведь флешку по другому вытаскивать плохо...

anonymous ()

Re: монтирование съемных носителей в Дебиан etch

>Ну да, ведь флешку по другому вытаскивать плохо...

Ну тогда тебе надо, в соответсвии с документацией на ivman, запустить еще одну копию, но от пользователя:

For automount purposes, Ivman should be run once from a system-wide init script and once per user session (e.g., create a link to /usr/bin/ivman in ~/.kde/Autostart or put an entry for /usr/bin/ivman in gnome-session-manager).

Все настройки пользовательского ivman будут находится тогда в ~/.ivman. Насколько я понимаю, тогда монтирование носителя будет происходить от имени пользователя, а не ivman:

When a device is attached, Ivman will call pmount or mount to mount the device. If pmount is used, it will mount the device readable and writeable only for the current user; if no per-user instance of Ivman is running, the device will be mounted read/write for everyone in the same group as is required to use the pmount command, and read-only for everyone else.

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

>Ну тогда тебе надо, в соответсвии с документацией на ivman, запустить еще одну копию, но от пользователя:

Да, все так. Сейчас проверил. Добавил в свой ~/.icewm/startup запуск ivman. Потом вставляю диск и получаю в /etc/mtab:

/dev/hdd /media/cdrom0 iso9660 ro,noexec,nosuid,nodev,utf8,user=zubok 0 0

Как видно, монтирование уже производится от моего имени. И pumount от пользователя отлично работает.

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

> Ну тогда тебе надо, в соответсвии с документацией на ivman, запустить еще одну копию, но от пользователя

Йес!! Где-то я что-то недосмотрел и/или поторопился. Доку по ивману я все-ж читал, про рута и пользователя знал... Два ивмана, правда, дрались - КЕДы выдавали окошки "что делать", но не кликальбеные, это и еще что-то сбивало с толка. Отрубил Ивман, который в инит-скриптах был, вручную пустил из под пользователя и заработало. Надо прописать ивман куда-нито в скрипт залогинивания.

Спасибо! С кодировкой разберусь, нарыл таки нужное, похоже.

А можно вопрос еще, извиняюсь)) Ну куда покошерней прописать ивмана да еще xxkb, чтобы работали при разных-таки логинах в систему?

Еще раз спасибо.

anonymous ()

Re: монтирование съемных носителей в Дебиан etch

Вдогонку - для ускорения эксперимента отрубил запись в fstab на ЦД. Так эти друзья (ivman и pmount надо думать) замонтировали ЦД по его метке (названию). Хотя чего тут удивляться - с USB устройствами именно так и происходит, а для ЦД необычно и непривычно просто...

anonymous ()

Re: монтирование съемных носителей в Дебиан etch

>Вдогонку - для ускорения эксперимента отрубил запись в fstab на ЦД. Так эти друзья (ivman и pmount надо думать) замонтировали ЦД по его метке (названию). Хотя чего тут удивляться - с USB устройствами именно так и происходит, а для ЦД необычно и непривычно просто...

Совершенно правильно сделали. Откуда pmount знать, что надо монтировать именно в /media/cdrom? В fstab у тебя это было явно задано, а тут требуешь чудес искусственного интеллекта. :)

Сам еще не пробовал, так как монтируется CDROM через запись в /etc/fstab, но название точки монтирования для CDROM (если без fstab) тоже можно задать в HAL policy. Есть там такой параметр, как desired_mount_point.

Поставь aptitude install hal-doc (будет лежать в /usr/share/hal-doc) И поищи по тексту. Там еще и примерчики какие-то есть на этот счет, демонстрирующие, как, скажем, автоматически замонтировать MP3 плеер в нужную тебе точку монтирования my_mp3_player. Понятное дело, аналогичное правило можно добавить и для cdrom.

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

> Сам еще не пробовал, так как монтируется CDROM через запись в /etc/fstab, но название точки монтирования для CDROM (если без fstab) тоже можно задать в HAL policy. Есть там такой параметр, как desired_mount_point. Поставь aptitude install hal-doc (будет лежать в /usr/share/hal-doc) И поищи по тексту. Там еще и примерчики какие-то есть на этот счет, демонстрирующие, как, скажем, автоматически замонтировать MP3 плеер в нужную тебе точку монтирования my_mp3_player. Понятное дело, аналогичное правило можно добавить и для cdrom.

Понял. С кодировкой для флешки все получилось, хотя монтирует без codepage=866. Надо еще будет поэкспериментировать. А вот в ЦД все наши буквы транслитом...

anonymous ()

Re: монтирование съемных носителей в Дебиан etch

>Понял. С кодировкой для флешки все получилось, хотя монтирует без codepage=866. Надо еще будет поэкспериментировать. А вот в ЦД все наши буквы транслитом...

Надо подробнее почитать про ivman. Дело в том, что он, если ему не указать явно, выбирает программу для монтирования автоматически. Явно это можно указать в ~/.ivman/IvmConfigBase.xml (если запуск от пользователя). Там опции mountcommand и umountcommand закомментированы, что означает для ivman "автовыбор". В исходниках, наверное, есть ответ на то, по какому алгоритму он работает. Но можно попробовать явно указать в этих опциях pmount-hal. У меня есть ощущение, что ivman использует pmount, который из hal ничего не берет и вообще опции codepage не понимает, только iocharset. А тут важно, чтобы опции именно из hal брались.

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

скачал исходники ivman. Все правильно он смотрит. Он сначала смотрит 
на опцию в IvmConfigBase.xml. Если она не выставлена, то смотрит на 
наличие pmount-hal на диске. Если нет pmount-hal, то ищет pmount. А 
если нет pmount, то использует mount. Так что ищи отсутсвие codepage в
другом месте. проверь правильность написания правила. Должно быть 
что-то вроде такого (для уникодной локали):


<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
<device>
  <match key="volume.fstype" string="vfat">
    <merge key="volume.policy.mount_option.utf8" type="bool">true</merge>
    <merge key="volume.policy.mount_option.codepage=866" type="bool">true</merge>
  </match>
</device>
</deviceinfo>

Zubok ★★★★★ ()

Re: монтирование съемных носителей в Дебиан etch

Привет.

В принципе, на флешке все видно и без codepage=866, так что на это я, в общем, не жалуюсь. А вот с ЦД столкнулся чуть ли не в первый раз. В другом Дебиане стоит локаль CP1251 и в fstab для ЦД iocharset=cp1251, все показывает по русски. А вот сейчас с utf8 что делать? codepage=866 для ISO9660 никто (mount или pmount) не жрет. кто мне вообще туда транслит прописывает?

anonymous ()

Re: монтирование съемных носителей в Дебиан etch

>А вот сейчас с utf8 что делать? codepage=866 для ISO9660 никто (mount 
или pmount) не жрет. кто мне вообще туда транслит прописывает?


Вообще-то опции codepage для ISO9660 вообще нет. (man mount).

The following options are the same as for vfat and specifying them only
 makes  sense  when  using discs encoded using Microsoft&#8217;s Joliet 
extensions.


    iocharset=value
       Character set to use for converting 16 bit Unicode characters on
       CD to 8 bit characters. The default is iso8859-1.

    utf8  
       Convert 16 bit Unicode characters on CD to UTF-8.

Zubok ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.