Включение автомонтирования USB Flash в Debian Wheezy/Sid |
Автор: admin Просмотров: 10049 Комментарии:
Добавлен: 14 сентября 2014
Обновлено: 28.05.2015 - 23:42
Начиная с Wheezy, в Debian (по крайней мере при использовании XFCE4 и Thunar) возникла одна проблема. При установке в качестве дисплейного менеджера чего-либо кроме GDM и KDM (например XDM или SLIM), перестали автоматом монтироваться USB Flash, да и выключение/перезагрузка из главного меню XFCE тоже не активны (прав нету). Хотя sudo mount и sudo shutdown работают как часы.
Как пишут в интернете, произошло сие прискорбное событие из-за того, что разработчики начали использовать связку из ConsoleKit и PolicyKit. И если разрабы KDM и GDM изменили свои менеджеры соответствующим образом, то господа, занимающиеся XDM, поленились это сделать.
Нет, можно поставить и KDM/GDM, но ведь они в Debian'e тянут за собой дикое количество зачастую малополезных библиотек и тому подобного "мусора". Ещё можно поиграться с правами на shutdown и mount (через sudo, естественно), написать своё меню, сделать свой скрипт для монтирования и т.д. Но изобретать велосипед, если честно, было неохота и просто лень, так что пришлось залезть во всезнающий Google и чуть менее всезнающий Яndex. Перекопав там кучу ссылок, я пришёл к описанному ниже рецепту.
Сразу скажу что, возможно, первые пункты ни на что не влияют, но у меня они уже были сделаны, а удалять их и проверять опять же лень. (Вот надо будет настроить так ещё один комп, тогда и проверю.)
Ну а теперь само решение:
Вот мы на исходной: XFCE (или какой-нибудь WM) стоит, установлен Thunar (конечно же вместе с пакетом thunar-volman), а в качестве DM стоит XDM (или DM вообще не стоит, а запуск X'ов осуществляется старым добрым startx).
XFCE (WM) запущен, запущен Thunar в режиме демона (и настроен на автомонтирование), втыкаем флешку, а нам говорят: "Mount Failed: Failed to mount "[device]" Not Authorized" Мол, обломись --- прав у тебя нету.
В этом случае делаем так:
1. Прописываем как запускать WM:
Для этого создаём файл ~/.xinitrc с содержимым:
#!/bin/bash
exec ck-launch-session startxfce4
Делаем его исполняемым:
$ chmod u+x ~/.xinitrc
2. Прописываем загрузку библиотеки:
В файл /etc/pam.d/common-session перед строкой
session optional pam_ck_connector.so nox11
вставляем строку
session optional pam_loginuid.so
3. Прописываем права:
Создаём файл /etc/polkit-1/localauthority/50-local.d/consolekit.pkla с содержимым (вместо username вписываем своё имя пользователя или *):
[restart]
Identity=unix-user:*
Action=org.freedesktop.consolekit.system.restart
ResultAny=yes
[stop]
Identity=unix-user:username
Action=org.freedesktop.consolekit.system.stop
ResultAny=yes
Создаём файл /etc/polkit-1/localauthority/50-local.d/udisks.pkla с содержимым:
[udisks]
Identity=unix-user:*
Action=org.freedesktop.udisks*
ResultAny=yes
4. Перезагружаемся.
Вот и всё. Теперь у нас работает и автомонтирование флешек и выключение/перезагрузка из главного меню XFCE.
5. Если после выше приведенных действий, Thunar, Nautilus, Pacman и другие файловые менеджеры требуют ввести пароль, то возможно причина в файле /usr/share/polkit-1/actions/org.freedesktop.udisks.policy или в файле с похожим названием, который лежит в /usr/share/polkit-1/actions. Этот файл не рекомендуется настраивать, так как при обновлении системы он будет автоматически заменён, настраивать можно только /etc/polkit-1/localauthority/. Я настраиваю этот файл потому что не знаю что писать в /etc/polkit-1/localauthority/
В /usr/share/polkit-1/actions/org.freedesktop.udisks.policy
замените
на
Или замените все строки
На всякий случай приведу свой /usr/share/polkit-1/actions/org.freedesktop.udisks.policy:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"https://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
<policyconfig>
<vendor>The udisks Project</vendor>
<vendor_url>https://udisks.freedesktop.org/</vendor_url>
<icon_name>drive-removable-media</icon_name>
<action id="org.freedesktop.udisks.filesystem-mount">
<description>Mount a device</description>
<description xml:lang="da">Montér en enhed</description>
<description xml:lang="de">Gerät einhängen</description>
<description xml:lang="pt_BR">Montar um dispositivo</description>
<message>Authentication is required to mount the device</message>
<message xml:lang="da">Autorisering er påkrævet for at montere et fil system</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um das Gerät einzuhängen</message>
<message xml:lang="pt_BR">Autenticação é requerida para montar o dispositivo</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.filesystem-mount-system-internal">
<description>Mount a system-internal device</description>
<description xml:lang="da">Montér en intern enhed</description>
<description xml:lang="de">Eingebautes Gerät einhängen</description>
<description xml:lang="pt_BR">Montar um dispositivo interno</description>
<message>Authentication is required to mount the device</message>
<message xml:lang="da">Autorisering er påkrævet for at montere et fil system</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um das Gerät einzuhängen</message>
<message xml:lang="pt_BR">Autenticação é requerida para montar o dispositivo</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.filesystem-check">
<description>Check file system on a device</description>
<description xml:lang="da">Check fil system for en enhed</description>
<description xml:lang="de">Dateisystem auf einem Gerät prüfen</description>
<description xml:lang="pt_BR">Verificar o sistema de arquivos de um dispositivo</description>
<message>Authentication is required to check the file system on the device</message>
<message xml:lang="da">Autorisering er påkrævet for at checke fil systemet på en enhed</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um das Dateisystem auf dem Gerät zu prüfen</message>
<message xml:lang="pt_BR">Autenticação é requerida para verificar o sistema de arquivos no dispositivo</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.filesystem-check-system-internal">
<description>Check file system of a system-internal device</description>
<description xml:lang="da">Check fil system for en intern enhed</description>
<description xml:lang="de">Dateisystem auf einem eingebauten Gerät prüfen</description>
<description xml:lang="pt_BR">Verificar o sistema de arquivos de um dispositivo interno</description>
<message>Authentication is required to check the file system on the device</message>
<message xml:lang="da">Autorisering er påkrævet for at checke fil systemet på en enhed</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um das Dateisystem auf dem Gerät zu prüfen</message>
<message xml:lang="pt_BR">Autenticação é requerida para verificar o sistema de arquivos no dispositivo</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active><allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.filesystem-unmount-others">
<description>Unmount a device mounted by another user</description>
<description xml:lang="da">Afmontér en enhed monteret af en anden bruger</description>
<description xml:lang="de">Gerät eines anderen Benutzers aushängen</description>
<description xml:lang="pt_BR">Desmontar um dispositivo montado por um outro usuaŕio</description>
<message>Authentication is required to unmount devices mounted by another user</message>
<message xml:lang="da">Autorisering er påkrævet for at afmontere enheder monteret af en anden bruger</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um ein Gerät auszuhängen, das ein anderer Benutzer eingehängt hat</message>
<message xml:lang="pt_BR">Autenticação é requerida para desmontar dispositivos montados por um outro usuário</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.filesystem-lsof">
<description>List open files</description>
<description xml:lang="da">Vis åbne filer</description>
<description xml:lang="de">Offene Dateien anzeigen</description>
<description xml:lang="pt_BR">Listar arquivos abertos</description>
<message>Authentication is required to list open files on a mounted file system</message>
<message xml:lang="da">Autorisering er påkrævet for at liste åbne filer</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um offene Dateien auf einem eingehängen Dateisystem anzuzeigen</message>
<message xml:lang="pt_BR">Autenticação é requerida para listar arquivos abertos num sistema de arquivos montado</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.filesystem-lsof-system-internal">
<description>List open files on a system-internal device</description>
<description xml:lang="da">Vis åbne filer på en intern enhed</description>
<description xml:lang="de">Offene Dateien auf einem eingebauten Gerät anzeigen</description>
<description xml:lang="pt_BR">Listar arquivos abertos num dispositivo interno</description>
<message>Authentication is required to list open files on a mounted file system</message>
<message xml:lang="da">Autorisering er påkrævet for at liste åbne filer</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um offene Dateien auf einem eingehängen Dateisystem anzuzeigen</message>
<message xml:lang="pt_BR">Autenticação é requerida para listar arquivos abertos num sistema de arquivos montado</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active><allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.drive-eject">
<description>Eject media from a device</description>
<description xml:lang="de">Medium aus Gerät auswerfen</description>
<description xml:lang="pt_BR">Ejetar mídia de um dispositivo</description>
<message>Authentication is required to eject media from the device</message>
<message xml:lang="da">Autorisering er påkrævet for at skubbe medie ud af en enhed</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um das Medium aus dem Gerät auszuwerfen</message>
<message xml:lang="pt_BR">Autenticação é requerida para ejetar mídia do dispositivo</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.drive-detach">
<description>Detach a drive</description>
<description xml:lang="de">Laufwerk trennen</description>
<description xml:lang="pt_BR">Desanexar um disco</description>
<message>Authentication is required to detach the drive</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um das Laufwerk zu trennen</message>
<message xml:lang="pt_BR">Autenticação é requerida para desanexar o disco</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.change">
<description>Modify a device</description>
<description xml:lang="da">Modificér en enhed</description>
<description xml:lang="de">Gerät ändern</description>
<description xml:lang="pt_BR">Modificar um dispositivo</description>
<message>Authentication is required to modify the device</message>
<message xml:lang="da">Autorisering er påkrævet for at ændre en enhed</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um das Gerät zu ändern</message>
<message xml:lang="pt_BR">Autenticação é requerida para modificar o dispositivo</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.change-system-internal">
<description>Modify a system-internal device</description>
<description xml:lang="da">Modificér en intern enhed</description>
<description xml:lang="de">Eingebautes Gerät ändern</description>
<description xml:lang="pt_BR">Modificar um dispositivo interno</description>
<message>Authentication is required to modify the device</message>
<message xml:lang="da">Autorisering er påkrævet for at ændre en enhed</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um das Gerät zu ändern</message>
<message xml:lang="pt_BR">Autenticação é requerida para modificar o dispositivo</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active><allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.drive-ata-smart-refresh">
<description>Refresh ATA SMART data</description>
<description xml:lang="da">Læs ATA SMART data</description>
<description xml:lang="de">ATA-SMART-Daten aktualisieren</description>
<description xml:lang="pt_BR">Atualizar dados ATA SMART</description>
<message>Authentication is required to refresh ATA SMART data</message>
<message xml:lang="da">Autorisering er påkrævet for at læse ATA SMART data</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um ATA-SMART-Daten zu aktualisieren</message>
<message xml:lang="pt_BR">Autenticação é requerida para atualizar os dados ATA SMART</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.drive-ata-smart-selftest">
<description>Run ATA SMART Self Tests</description>
<description xml:lang="da">Kør ATA SMART selv checks</description>
<description xml:lang="de">ATA-SMART-Selbsttest starten</description>
<description xml:lang="pt_BR">Executar autotestes ATA SMART</description>
<message>Authentication is required to run ATA SMART self tests</message>
<message xml:lang="da">Autorisering er påkrævet for at køre ATA SMART selvcheck</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um ATA-SMART-Selbsttests zu starten</message>
<message xml:lang="pt_BR">Autenticação é requerida para executar autotestes ATA SMART</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.drive-ata-smart-retrieve-historical-data">
<description>Retrieve historical ATA SMART data</description>
<description xml:lang="da">Hent historisk ATA SMART data</description>
<description xml:lang="de">Historische ATA-SMART-Daten holen</description>
<description xml:lang="pt_BR">Recuperar histórico de dados ATA SMART</description>
<message>Authentication is required to retrieve historical ATA SMART data</message>
<message xml:lang="da">Autorisering er påkrævet for at hente historisk ATA SMART data</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um historische ATA-SMART-Daten zu holen</message>
<message xml:lang="pt_BR">Autenticação é requerida para recuperar o histórico de dados ATA SMART</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.luks-unlock">
<description>Unlock an encrypted device</description>
<description xml:lang="da">Åbn en krypteret enhed</description>
<description xml:lang="de">Verschlüsseltes Gerät entsperren</description>
<description xml:lang="pt_BR">Desbloquear um dispositivo criptografado</description>
<message>Authentication is required to unlock an encrypted device</message>
<message xml:lang="da">Autorisering er påkrævet for at åbne en krypteret enhed</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um ein verschlüsseltes Gerät zu entsperren</message>
<message xml:lang="pt_BR">Autenticação é requerida para desbloquear um dispositivo criptografado</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.luks-lock-others">
<description>Lock an encrypted device unlocked by another user</description>
<description xml:lang="da">Lås en krypteret enhed åbnet af en anden bruger</description>
<description xml:lang="de">Verschlüsseltes Gerät eines anderen Benutzers sperren</description>
<description xml:lang="pt_BR">Bloquear um dispositivo criptografado desbloqueado por um outro usuário</description>
<message>Authentication is required to lock an encrypted device unlocked by another user</message>
<message xml:lang="da">Autorisering er påkrævet for at låse en krypteret enhed åbnet af en anden bruger</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um ein verschlüsseltes Gerät zu sperren, das ein anderer Benutzer entsperrt hat</message>
<message xml:lang="pt_BR">Autenticação é requerida para bloquear um dispositivo criptografado desbloqueado por um outro usuário</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.linux-md">
<description>Configure Linux Software RAID</description>
<description xml:lang="da">Konfigurér Software RAID</description>
<description xml:lang="de">Linux Software-RAID konfigurieren</description>
<description xml:lang="pt_BR">Configurar RAID por software Linux</description>
<message>Authentication is required to configure Linux Software RAID devices</message>
<message xml:lang="da">Autorisering er påkrævet for at konfigurere RAID enheder</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um Linux Software-RAID-Geräte zu konfigurieren</message>
<message xml:lang="pt_BR">Autenticação é requerida para configurar dispositivos de RAID por software Linux</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active><allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.linux-lvm2">
<description>Configure Linux LVM2</description>
<description xml:lang="pt_BR">Configurar LVM2 Linux</description>
<message>Authentication is required to configure Linux LVM2</message>
<message xml:lang="pt_BR">Autenticação é requerida para configurar LVM2 Linux</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep</allow_active><allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.cancel-job-others">
<description>Cancel a job initiated by another user</description>
<description xml:lang="da">Afbryd job påbegyndt af en anden bruger</description>
<description xml:lang="de">Auftrag eines anderen Benutzers abbrechen</description>
<description xml:lang="pt_BR">Cancelar uma tarefa iniciada por um outro usuário</description>
<message>Authentication is required to cancel a job initiated by another user</message>
<message xml:lang="da">Autorisering er påkrævet for at afbryde et job påbegyndt af en anden bruger</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um einen Auftrag eines anderen Benutzers abzubrechen</message>
<message xml:lang="pt_BR">Autenticação é requerida para cancelar uma tarefa iniciada por um outro usuário</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.inhibit-polling">
<description>Inhibit media detection</description>
<description xml:lang="da">Undertryk medie detektion</description>
<description xml:lang="de">Medium-Erkennung unterdrücken</description>
<description xml:lang="pt_BR">Inibir detecção de mídia</description>
<message>Authentication is required to inhibit media detection</message>
<message xml:lang="da">Autorisering er påkrævet for at undertrykke medie detektion</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um Mediumerkennung zu unterdrücken</message>
<message xml:lang="pt_BR">Autenticação é requerida para inibir detecção de mídia</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
<action id="org.freedesktop.udisks.drive-set-spindown">
<description>Set drive spindown timeout</description>
<description xml:lang="de">Laufwerks-Zeitabschaltung setzen</description>
<description xml:lang="pt_BR">Definir o intervalo para desaceleração do disco</description>
<message>Authentication is required to configure drive spindown timeout</message>
<message xml:lang="de">Zugriffsrechte werden benötigt um die Laufwerks-Zeitabschaltung zu konfigurieren</message>
<message xml:lang="pt_BR">Autenticação é requerida para configurar o intervalo para desaceleração do disco</message>
<defaults>
<allow_any>no</allow_any>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
</policyconfig>
Кстати, если nm-applet не имеет доступа к устройствам, нужно прописать пользователя в группе netdev. И если nm-applet показывает ошибку Insufficient privileges сделайте такую настройку:
sudo nano /etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla
[nm-applet]
Identity=unix-group:netdev
Action=org.freedesktop.NetworkManager.*
ResultAny=yes
ResultInactive=no
ResultActive=yes
По материалам сайта https://grey-rakshas.blogspot.com/
Выкиньте этот Polkit, он нам ненужен !!!
Файловый менеджер Spacefm монтирует и размонтирует диски простыми юниксовыми командами mount/unmount:В /etc/fstab добавьте:
/dev/sdb1 /media/sdb1 auto rw,noauto,user
/dev/sdb2 /media/sdb2 auto rw,noauto,user
/dev/sdb3 /media/sdb3 auto rw,noauto,user
/dev/sdb4 /media/sdb4 auto rw,noauto,user
/dev/sdd /media/sdd auto rw,noauto,user
/dev/sdd1 /media/sdd1 auto rw,noauto,user
/dev/sdd2 /media/sdd2 auto rw,noauto,user
/dev/sdd3 /media/sdd3 auto rw,noauto,user
/dev/sdc /media/sdc auto rw,noauto,user
/dev/sdc1 /media/sdc1 auto rw,noauto,user
/dev/sdc2 /media/sdc2 auto rw,noauto,user
/dev/sdc3 /media/sdc3 auto rw,noauto,user
/dev/sde1 /media/sde1 auto rw,noauto,user
/dev/sde2 /media/sde2 auto rw,noauto,user
/dev/sde3 /media/sde3 auto rw,noauto,user
/dev/sr0 /media/sr0 auto rw,noauto,user
В /media создайте эти каталоги (sdc1, sdb2 и т.д). Чтобы не было ошибок "такой точки монтирования нет", сделайте таким образом, точки монтирования от A до Z. Да и у вас же нет 100 usb-портов, в которые можно воткнуть флэшку ?
------------------------
ТРИО теплый пол отзыв
Заработок на сокращении ссылок
Earnings on reducing links
Код PHP на HTML сайты
Я уже пять лет не занимаюсь сайтом, так как работаю по 12 часов. Образование у меня среднее, и по этому нет нормальной работы. Если бы сайт приносил по 100$ в месяц, я бы добавлял по 50 статей каждый месяц. Если отправите пожертвования, я оставлю Ваши имена и фамилии в списке благодетелей !
Bitcoin: 1AP3JCZVFpHzZwcAyNztbrbFFiLdnKbY1j
Litecoin LfHXHz4k6LnDNNvCodd5pj9aW4Qk67KoUD
Dogecoin D9HHvKNFZxRhjtoh6uZYjMjgcZewwiUME9
Есть также другие кошельки.
Категория: Компьютерные советы
Комментарии |