ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Alexey Morozov <morozov_ml@ngs.ru>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: [devel] Bring the boys back^W^W^W^WВерните мне моё флэшко!
Date: Thu, 22 Nov 2012 12:54:21 +0700
Message-ID: <50ADBE0D.3000407@ngs.ru> (raw)

Здравствуйте!

Несмотря на то, что будущее уже почти наступило, космические корабли
вот-вот забороздят, а systemd вот-вот заколоси^W заработает, как
Леннарту мечталось в самых сладких его снах, остались ещё некоторые
проблемы в отдельных областях социалистического хозяйства.

Проблема, которая меня выбешивает^W беспокоит вот уже на протяжении
длительного времени - это работоспособность всей чудесной, чудесной
связки ConsoleKit + PolicyKit (который в народе нынче любовно клычуть
полкIтом) + udisks обеих версий + KDE.

Вкратце, проблема эта с udisks-1.x, которым до 4.8.x пользовался Solid в
KDE, выглядит так:

alex@rhyme ~ $ udisks --mount
/dev/sdc                                       
Mount failed: Not Authorized
alex@rhyme ~ $ _

При этом, волшебные советы не ходить нищеб^W^W^W завести себе консольную
сессию не работают, т.к. она уже есть:

alex@rhyme ~ $
ck-list-sessions                                                        
Session2:
        unix-user = '500'
        realname = 'Алексей Морозов'
        seat = 'Seat1'
        session-type = ''
        active = TRUE
        x11-display = ':0'
        x11-display-device = '/dev/tty7'
        display-device = ''
        remote-host-name = ''
        is-local = TRUE
        on-since = '2012-11-22T03:14:52.061085Z'
        login-session-id = '4294967295'
alex@rhyme ~ $ _

Насколько я успел увидеть, я не первый среди пользователей ALT'а,
который побегал по этим граблям

http://lists.altlinux.org/pipermail/sisyphus/2012-May/357588.html

Приятно стоять на плечах гигантов, чо.

По счастью, для udisks-1.x есть специальная чудодейственная мазь,
почерпнутая с http://unixforum.org/index.php?showtopic=132351 :

------------- 8< ---
/etc/polkit-1/localauthority/50-local.d/10-users-mount.pkla --- >8
---------------------
[Storage Permissions]
Identity=unix-group:users
Action=org.freedesktop.udisks.filesystem-mount;org.freedesktop.udisks.filesystem-unmount-others;org.freedesktop.udisks.drive-eject;org.freedesktop.udisks.drive-detach;org.freedesktop.udisks.luks-unlock;org.freedesktop.udisks.inhibit-polling;org.freedesktop.udisks.drive-set-spindown
ResultAny=yes
ResultActive=yes
ResultInactive=yes
--------------8<
---------------------------------------------------------------------------------------
>8 -----------------------

Ну, то есть, решение то ещё (спрашивается, нафейхоа было городить весь
этот огород с тремя демонами и пятью интерфейсами, если всё в итоге
свелось к обычным unix groups), но да ладно. Типа, издержки
поступательного движения ко всеобщему счастью.

И всё было хорошо, пока я не проапгрейдился до KDE-4.9.x. В нём
какой-то, м-м-м, прогрессор придумал, что теперь "все знатные татары в
Париже"(1) должны использовать udisks-2. В (альтовских) настройках
которого, о чудо! стоит обязательная аутентификация при монтировании диска:

alex@rhyme ~ $ udisksctl mount -b /dev/sdc            
==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-mount ===
Authentication is required to mount USB2.0 Flash Disk (/dev/sdc)
Authenticating as: Алексей Морозов (alex)
Password:
==== AUTHENTICATION COMPLETE ===
Mounted /dev/sdc at /run/media/alex/001B-9622.
alex@rhyme ~ $ _

Не, оно мне, конечно, приятно... Лишний раз увидеть на экране монитора
своё имя, да и меньше шансов забыть пароль из-за надвигающегося склероза.

Но есть одно но. KDE (as of 4.9.3) к такому вероломству и патологической
недоверчивости, видимо, не готов, и обламывается монтировать флэшки на
таких дискриминационных, по его мнению, условиях. В логах почти-что
пусто, только в .xsession-errors появляется довольно невнятное:

got invalid reply for cache: "Name"
got invalid reply for cache: "DeviceNumber"
got invalid reply for cache: "Device"
file:///usr/share/kde4/apps/plasma/plasmoids/notifier/contents/ui/DeviceItem.qml:66:
TypeError: Result of expression 'notifierDialog.highlightItem' [null] is
not an object.

dbus-monitor кажет следующее на _сессионной_ шине:

signal sender=:1.15 -> dest=(null destination) serial=1731
path=/org/kde/solid/Device__2Forg_2Ffreedesktop_2FUDisks2_2Fblock_5Fdevices_2Fsdc;
interface=org.kde.Solid.Device; member=setupRequested
signal sender=:1.15 -> dest=(null destination) serial=1732
path=/org/kde/solid/Device__2Forg_2Ffreedesktop_2FUDisks2_2Fblock_5Fdevices_2Fsdc;
interface=org.kde.Solid.Device; member=setupDone
   int32 1
   string "An unspecified error has occurred: Not authorized to perform
operation"

Как поймать сообщения летающие между solid'ом и
/usr/libexec/udisks2/udisksd я пока не придумал, на системной шине их не
видно.

Я, в принципе, уже нашёл такое:

https://wiki.archlinux.org/index.php/PolicyKit#Workaround_to_mount_filesytems_by_user_in_group_storage_without_password

но чо-та мне пока стрёмно конфигурировать свою систему при помощи
джаваскриптов, да и не работает этот рецепт у нас искаропки.

В общем, таперича для монтирования флэшек моей жене требуется монтировка
и такая-то матерь^W^W^W^W помощь мужа. Начинаешь чувствовать себя
немножко фрибздишнегом.

С уважением,
АМ

(1) - https://www.youtube.com/watch?v=Ebqk1c397Rs



             reply	other threads:[~2012-11-22  5:54 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-22  5:54 Alexey Morozov [this message]
2012-11-22  6:01 ` Pavel Vainerman
2012-11-22  6:46   ` Alexey Morozov
2012-12-07  8:57     ` [devel] [workarounded] Верните " Alexey Morozov
2012-12-07  9:21       ` Sergei Epiphanov
2012-12-10  3:58         ` Alexey Morozov
2012-12-07 12:06       ` Sergey V Turchin
2012-12-10  4:00         ` Alexey Morozov
2012-12-10 12:07           ` Sergey V Turchin
2012-11-22  6:50 ` [devel] Bring the boys back^W^W^W^WВерните " Ildar Mulyukov
2012-11-22  7:00   ` thecrux
2012-11-22  7:39     ` Ildar Mulyukov
2012-11-22  8:10   ` [devel] [JT] " Alexey Morozov
2012-11-22  8:54     ` Ildar Mulyukov
2012-11-22 11:06 ` [devel] " Sergey V Turchin
2012-11-22 11:12   ` [devel] [JT] " Pavel Vainerman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50ADBE0D.3000407@ngs.ru \
    --to=morozov_ml@ngs.ru \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git