The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Монтирование Flash-накопителей с FAT в XFCE, работающем во FreeBSD
Инструкция для тех, кому лень набирать "sudo mount_msdosfs /dev/da0s1 ..." и
хочется, чтобы при подключении USB Flash на рабочем столе XFCE для монтирования
автоматически появлялась иконка, корректно работающая с русскими именами файлов
и не требующая для своей работы повышенных прав доступа.

1. Через PolicyKit настраиваем разрешение на монтирование для пользователя
homeuser, под котором будет осуществлен вход в систему. В
/usr/local/etc/PolicyKit/PolicyKit.conf добавляем новую секцию:

   <match user="homeuser">
       <match action="org.freedesktop.hal.storage.mount-removable">
           <return result="yes"/>

       </match>
       <match action="org.freedesktop.hal.storage.mount-fixed">
           <return result="yes"/>
       </match>
       <match action="org.freedesktop.hal.storage.eject">
           <return result="yes"/>

       </match>
       <match action="org.freedesktop.hal.storage.unmount-others">
           <return result="yes"/>
       </match>
   </match>

2. Настраиваем опции монтирования по-умолчанию в файле /usr/local/etc/xdg/xfce4/mount.rc:

   [vfat]
   # FreeBSD specific option
   longnames=true
   -L=ru_RU.UTF-8
   -D=CP866
   -m=0664
   -M=0775
   -u=homeuser

Список возможных опций можно посмотреть в выводе lshal после подключения
флэшки. Искать нужно строку volume.mount.valid_options. В ней содержатся
разрешённые HAL'ом опции, которые можно передать ему для монтирования. Их же
можно найти в файле
/usr/local/share/hal/fdi/policy/10osvendor/20-storage-methods.fdi. По-умолчанию
для FreeBSD эти опции разрешены и соответствуют перечисленным в мануале mount_msdosfs(8).

В результате при подключении флэшки на рабочем столе появляется иконка диска,
на которой можно  вызвать команду "Подключить том", либо просто два раза
кликнуть,  чтобы открыть  Thunar с уже смонтированным носителем. Причём файлы с
кириллицей в именах будут корректно отображаться,  и пользователь сможет
записывать и удалять их.
 
21.04.2010 , Автор: bu7cher , Источник: http://bu7cher.blogspot.com/2010/04...
Ключи: freebsd, xfce, mount, flash, hal
Раздел:    Корень / Пользователю / Файлы, копирование, архивация

Обсуждение [ RSS ]
  • 1, iZEN (ok), 19:55, 23/04/2010 [ответить]  
  • +/
    > опции монтирования по-умолчанию в файле /usr/local/etc/xdg/xfce4/mount.rc

    Вот оно чё! А я всё не мог понять, что же мешает HAL/PolicyKit брать опции монтирования из /etc/fstab.

    СПАСИБО!

     
  • 2, iZEN (ok), 13:37, 26/04/2010 [ответить]  
  • +/
    Кстати, политику монтирования (PolicyKit.conf) лучше определять для групп, а не для конечных пользователей.
     
  • 3, iZEN (ok), 21:41, 26/04/2010 [ответить]  
  • +/
    Вот рабочие конфиги.

    /usr/local/etc/PolicyKit/PolicyKit.conf:

    <?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->

    <!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"
    "http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd">

    <!-- See the manual page PolicyKit.conf(5) for file format -->

    <config version="0.1">
    <define_admin_auth group="operator" />
    <match action="org.freedesktop.hal.storage.mount-removable">
    <return result="yes" />
    </match>
    <match action="org.freedesktop.hal.storage.mount-fixed">
    <return result="yes" />
    </match>
    <match action="org.freedesktop.hal.storage.eject">
    <return result="yes" />
    </match>
    <match action="org.freedesktop.hal.storage.unmount-others">
    <return result="yes" />
    </match>
    <match action="org.freedesktop.hal.power-management.reboot">
    <return result="yes" />
    </match>
    <match action="org.freedesktop.hal.power-management.shutdown">
    <return result="yes" />
    </match>
    <match action="org.freedesktop.hal.power-management.hibernate">
    <return result="yes" />
    </match>
    <match action="org.freedesktop.hal.power-management.suspend">
    <return result="yes" />
    </match>
    </config>


    /usr/local/etc/xdg/xfce4/mount.rc:
    ...
    [vfat]
    uid=<auto>
    shortname=winnt
    # FreeBSD specific option
    longnames=true
    -L=ru_RU.UTF-8
    -D=CP866
    -m=0664
    -M=0775
    #пользователя не указываем
    ...

    /etc/group:

    # $FreeBSD: src/etc/group,v 1.35.10.1 2009/08/03 08:13:06 kensmith Exp $
    #
    wheel:*:0:root,iZEN
    daemon:*:1:
    kmem:*:2:
    sys:*:3:
    tty:*:4:
    operator:*:5:root,iZEN
    ...

     
  • 4, vitek16 (ok), 09:41, 04/06/2010 [ответить]  
  • +/
    А для KDE это реализуемо?
    То есть если сделать файл /usr/local/etc/xdg/kde/mount.rc, будет ли так работать?
     

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




    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру