LINUX.ORG.RU

polkit authentication failed

 ,


0

2

Господа, помогите с таким вопросом. Собрал Trinity для Слаки, всё работало без проблем. Потом выпилил системный kde, перестали работать проги которые хотят права администратора-не проходит авторизация:

abc123@slackware:~$ grub-customizer
==== AUTHENTICATING FOR net.launchpad.danielrichter2007.pkexec.grub-customizer ===
Authentication is required to run Grub Customizer
Authenticating as: root
password:
polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized

polkit в системе установлен:

root@slackware:~# slackpkg file-search polkit

Looking for polkit in package list. Please wait... DONE

The list below shows the packages that contains "polkit" file.

[ installed ] - NetworkManager-1.8.4-i586-1_slack14.2
[ installed ] - udisks-1.0.5-i586-3
[ installed ] - udisks2-2.1.5-i586-2
[ installed ] - upower-0.9.23-i586-3
[ installed ] - hplip-3.16.5-i586-3
[uninstalled] - baloo-4.14.3-i586-2
[uninstalled] - k3b-2.0.3-i586-2
[uninstalled] - kde-runtime-4.14.3-i586-3
[uninstalled] - kde-workspace-4.11.22-i586-4
[uninstalled] - kdepim-4.14.10-i586-1
[uninstalled] - kwalletmanager-4.14.3-i586-2
[uninstalled] - nepomuk-core-4.14.3-i586-2
[uninstalled] - polkit-kde-agent-1-9d74ae3_20120104git-i586-2
[uninstalled] - polkit-kde-kcmodules-1-001bdf7_20120111git-i586-2
[uninstalled] - wicd-kde-0.3.0_bcf27d8-i586-2
[ installed ] - ConsoleKit2-1.0.0-i586-3
[ installed ] - GConf-3.2.6-i586-3
[ installed ] - polkit-0.113-i586-2
[ installed ] - polkit-gnome-0.105-i586-1
[ installed ] - polkit-qt-1-0.103.0-i486-1
[ installed ] - xf86-video-intel-git_20160601_b617f80-i586-1
[ installed ] - blueman-2.0.4-i586-1
[ installed ] - gparted-0.26.1-i586-1
[uninstalled] - Thunar-1.6.10-i586-3
[uninstalled] - xfce4-power-manager-1.4.4-i586-4
[uninstalled] - xfce4-session-4.12.1-i586-2

You can search specific packages using "slackpkg search package".

polkitd демон висит в процессах. Возвращение polkit-kde-agent назад ничего не дало.

под рутом тоже нифига не открывается:

root@slackware:~# gparted
No protocol specified

(gpartedbin:28850): Gtk-WARNING **: cannot open display: :0

в какую сторону копать?

polkitd демон висит в процессах. Возвращение polkit-kde-agent назад ничего не дало.

ну а polkit-kde-kcmodules-1-001bdf7_20120111git-i586-2 вернул ?

Собрал Trinity для Слаки, всё работало без проблем. Потом выпилил системный kde,

вот и ответ на твой вопрос. Если что-то в системе может прицепиться как зависимость при сборке пакета при опущенных умолчаниях - оно обязательно прицепится. Поэтому прежде чем что-то ставить с дальнейшим прицелом что-то другое выпилить, нужно внимательно исследовать вопрос на предмет, а не отвалится ли какая вещь при этом.

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

У Патрика многие пакеты собраны по рекурсивной схеме, аналог этого финта в генте выглядит как emerge world после установки. Поэтому многие зависимости неочевидны.

Gramozeka ★★ ()
Ответ на: комментарий от Algierd

ну попробуй посмотреть чего кому не хватает для полного счастья:

# ldconfig -v
выхлоп длинный, лучше в файлик сохранить. Ну и потом стоит пересобрать эту твою тринити(сперва удалив старую) в реальном окружении.

Gramozeka ★★ ()
Ответ на: комментарий от Algierd

смущает правда

это ерунда, так и должно быть. Тогда надо смотреть что не правильно работает. Если до этого стояли кеды, то логичнее всего просто обнулить профиль и кеш. Т.е. прибить все настройки в $HOME(удалить или переместить все скрытые файлы в какой-нибудь бекап) и удалить всё из /var/cache(не обязательно в общем-то). Вполне вероятно что какая-то настройка залипает на несуществующие уже сервисы. После этого стоит перезагрузиться.

Gramozeka ★★ ()
Последнее исправление: Gramozeka (всего исправлений: 1)
Ответ на: комментарий от Gramozeka

Да нет, не в этом дело. Проверял уже, даже нового пользователя создал для «чистоты эксперимента», нифига не помогло. Пересобирал среду несколько раз с разными пакетами, никакого эффекта.

Algierd ()
Ответ на: комментарий от Algierd

Проверял уже, даже нового пользователя создал

всё-таки дело в настройке, в Слаке многие настроечные файлы зашиты прямо в сборочные слакбилды.

По порядку - проверь права на /etc/polkit-1/rules.d/* , все правила должны принадлежать пользователю polkitd с правами rw-,r--,r--, то же относится и к /usr/share/polkit-1/rules.d/*. Дальше - в /etc/xdg/autostart/ не должно быть того, чего не установлено в системе, и в polkit-gnome-authentication-agent-1 должен стоять правильный путь : Exec=/usr/libexec/polkit-gnome-authentication-agent-1 . Дальше уже смотреть что там ещё может быть.

Вот тут - тыц много подобных случаев, какой из них твой смотри, возможно баг в DM.

Gramozeka ★★ ()
Ответ на: комментарий от Gramozeka

Спасибо! Дело было в правах: изменение *.rules с root на polkitd решило проблему с polkit. Осталось решить:

root@slackware:~# gparted
No protocol specified

(gpartedbin:28850): Gtk-WARNING **: cannot open display: :0

гуглил, но рабочего решения так и не нашёл...

Algierd ()
Ответ на: комментарий от Algierd

То есть, сеанс пользователя, а запустить пытаемся Иксовое приложение от root, правильно понимаю?
Тогда все правильно, одно из решений (в самом начале X и su)
https://docs.slackware.com/ru:howtos:slackware_admin:kernelbuilding

bormant ★★★★★ ()
Ответ на: комментарий от Algierd

гуглил, но рабочего решения так и не нашёл...

bormant дело говорит, сессия принадлежит пользователю вся, если пытаться вызвать графическое приложение под другим пользователем, то и будет этот фейл, есть несколько решений(например kdesu, gksu) позволяющих это обойти или как в его ссылке пошаманить с окружением. Другой вариант полностью ломать всю секюрити, но тогда возникает вопрос - а зачем весь этот цирк линукс нужен.

Gramozeka ★★ ()
Последнее исправление: Gramozeka (всего исправлений: 1)
Ответ на: комментарий от Gramozeka

Работает в меню tde, а из терминала так и не открывает:

abc123@slackware:~$ grub-customizer

==== AUTHENTICATING FOR net.launchpad.danielrichter2007.pkexec.grub-customizer ===
Authentication is required to run Grub Customizer
Authenticating as: root
password:
polkit-agent-helper-1: authentication failure. This incident has been logged.
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized

This incident has been reported.

работало в xfce и кедах, там помню polkit-agent-helper-1 при загрузке висел в процессах, в tde он почему-то не хочет загружаться.

Algierd ()
Ответ на: комментарий от Algierd

в tde он почему-то не хочет загружаться.

я не знаю тонкостей этого странного мутанта, но есть простой кошерный путь через $HOME/.bash_profile + $HOME/.bashrc первый меняет системный /etc/profile на себя, во втором можно накидать своих костылей, например указать явный вызов polkit-agent-helper-1, например:

exec /usr/libexec/polkit-gnome-authentication-agent-1
ставь свой костыль.

Gramozeka ★★ ()
Ответ на: комментарий от Gramozeka

Если прописать команда в bashrc у меня сессия вообще не загружается тогда. Залогинился посмотреть вывод в консоле:

abc123@slackware:~$ exec /usr/libexec/polkit-gnome-authentication-agent-1

(polkit-gnome-authentication-agent-1:1039): Gtk-WARNING **: cannot open display:

в итоге выбросило из сессии в диалог с логином и паролем.

Algierd ()
Ответ на: комментарий от Algierd

в итоге выбросило из сессии в диалог с логином и паролем.

тут надо смотреть как устроен запуск рабочего стола в этом мутанте(tde), какие-то настроечные файлы должны быть, как глобально, так и локально, я не знаю как он устроен, могу посоветовать только открыть пакет(тот же mc умеет глядеть в архивы не распаковывая их) этого тде и посмотреть где они и как устроены. С bashrc наверно надо вставить таймер перед командой, что-то вроде :

sleep 5
DISPLAY=:0
exec /usr/libexec/polkit-gnome-authentication-agent-1
но это на коленке, скорее всего всё намного проще должно быть, смотри как работает DM реально, там должно быть не сложнее палка-палка-два гвоздя.

Gramozeka ★★ ()
Ответ на: комментарий от Gramozeka

Это наверное не связано с tde т.к я его в голой консоле запускал и в другом de, exec /usr/libexec/polkit-gnome-authentication-agent-1 почему-то портит сессию, приходится перелогиниться, а запуск напрямую из /usr/libexec/polkit-gnome-authentication-agent-1 оканчивается

** (polkit-gnome-authentication-agent-1:18068): WARNING **: Unable to register authentication agent: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: User of caller and user of subject differs.
Cannot register authentication agent: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: User of caller and user of subject differs.
Algierd ()
Ответ на: комментарий от Algierd

ну так он тебе же говорит русским английским языком :

User of caller and user of subject differs.

пользователь объекта и вызывающий пользователь различаются...

прочитай по ссылке @bormant'а внимательно, как правильно совмещать сессии и пользователей. В кедах и гномах этим занимается специальная приблуда из самого DE или kdesu, или gksu. В твоём случае нужно это всё просто скостылить самостоятельно, как это сделать каждый велосипедит в силу собственной дремучести и дуболомства. Если уж некроманты пинающие этот труп не сподобились прикрутить вменяемую морду для su, то «ой». Могу предложить использовать sudo, выдать нужные разрешения пользователю и вызывать от его имени то, что тебе надо, хоть так :

lamer@host $ sudo grub-customizer

Gramozeka ★★ ()
Ответ на: комментарий от Gramozeka

Тут тоже есть эта приблуда, только оно почему-то не работает:

polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie

при попытке принудительно вызвать из .bashrc закрывает сессию и почему так хз. Вариант bormant'а, тоже подходит, только как его скостылять чтобы Xauthority сразу смержились при входе в сессию, ну, или только при вызове самих этих прог?

Algierd ()
Ответ на: комментарий от Algierd

No session for cookie

это уже было - права на правила. Как смерживать это я не скажу, так как это локальный велосипед, вариант с sudo попробуй, sudo не меняет владельца, он только расширяет полномочия до нужного уровня, большинство дистров только на нём и сидят при административных задачах.

Gramozeka ★★ ()
Ответ на: комментарий от Gramozeka

Как смержить уже разобрался. С polkit-gnome только не понятно, его вообще можно как-то запустить от юзера? Права выставил как ты сказал:

abc1@slackware:~$ sudo ls -l /etc/polkit-1/rules.d/
Пароль:
итого 12
-rw-r--r-- 1 polkitd root 189 мар 26  2016 10-org.freedesktop.NetworkManager.rules
-rw-r--r-- 1 polkitd root 461 мар 26  2016 20-plugdev-group-mount-override.rules
-rw-r--r-- 1 polkitd root 324 мар 26  2016 50-default.rules

рутом запускается, юзером ругается на User of caller and user of subject differs.

Algierd ()
Ответ на: комментарий от Algierd

его вообще можно как-то запустить от юзера?

если вольно глумится над переводом этой всей приблуды то это «набор инструментов политики безопасности по предоставлению прав исполнения процессам в системе» она работает только от самой себя, даже рут ей не указка если последний не вписан в эти правила, у меня вот так:

ls -l /etc/polkit-1/rules.d/
итого 8
-rw-r--r-- 1 polkitd polkitd 1218 дек 15 23:09 20-udisks.rules
-rw-r--r-- 1 polkitd polkitd  326 дек 13 14:58 50-default.rules

но у меня и не совсем слака, а скорее моё виденье как должна выглядеть слака. Я не знаю причины зачем тебе эта некромантия, да, в своё время это было класной штукой, да и второй гном на излёте был уже торт, но всё умирает рано или поздно, последние кеды(те что 5.12) уже довольно не плохи и по памяти и по отзывчивости. Ну да ладно дело твоё, ошибку он тебе всё ту же пишет - пользователь сабжа и тот кто запускает не совпадают, мы уже пять раз это обсудили - исправь права доступа, добавь юзера в группу polkitd и пробуй, раз уж ты не хочешь пользоваться общепризнанными инструментами. Может тебе просто собрать свой велосипед? Рекомендую прокачанный LFS(сам кропал) там можно хоть что забубенить «под себя».

Gramozeka ★★ ()
Последнее исправление: Gramozeka (всего исправлений: 1)
Ответ на: комментарий от Gramozeka

Всё так

abc123@slackware:~$ groups abc123
abc123 : users lp wheel floppy audio video cdrom plugdev power netdev polkitd scanner

не работает, почему-то. Что там ещё может быть, 50-default.rules? Монял и в нём return [«unix-user:root»] на разные значения, не помогло.

Algierd ()
Ответ на: комментарий от Algierd

не работает, почему-то. Что там ещё может быть, 50-default.rules

Если не понимаешь как это работает всегда есть man'ы, на худой конец погуглить что об этом пишут. Вот так выглядит настройка у меня(заточено под sudo без пароля,wheel это стандартная группа sudo в которую должен быть добавлен юзер):


# cat /etc/polkit-1/rules.d/50-default.rules

/* -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- */

// DO NOT EDIT THIS FILE, it will be overwritten on update
//
// Default rules for polkit
//
// See the polkit(8) man page for more information
// about configuring polkit.
polkit.addAdminRule(function(action, subject) {
    return ["unix-group:wheel"];
});

Gramozeka ★★ ()