Policykit linux ��� ���

Содержание
  1. PolicyKit Authentication Framework: Creating Your Own Rules
  2. What Can You Do With Polkit?
  3. Pre-Defined Policies
  4. Pre-Defined Rules
  5. Creating New Rules
  6. Experiment With Polkit In A Safe Environment
  7. PolicyKit: на страже безопасности системы
  8. Помогите — KDE systemsettings не дружит с polkit
  9. Как пордужить polkit с доменными группами?
  10. Невозможность обойтись без spidermonkey
  11. Polkit кушает много памяти
  12. polkit & javascript
  13. Gentoo, sys-auth/polkit-0.118, KDE: не монтируются флешки пользователем
  14. VPN не работает если написать правило на polkit?
  15. Что почитать про DBUS и POLKIT?
  16. Not authorized for perform operation
  17. Какой самый адекватный вариант запуска suid приложений через GUI
  18. Запретить или требовать пароль для выключения/перезагрузки компьютера
  19. Группы пользователей debian, polkit и монтирование дисков.
  20. Автоопределение USB-устройств в Linux Mint 18.3 (udev,udisks, или что?)
  21. Debian Jessie и polkit доступ к флешкам определённой группе пользователей
  22. polkit authentication failed
  23. Эксперт обнаружил критическую уязвимость в библиотеке Polkit (PolicyKit) для Linux, баг в коде был с 2014 года

PolicyKit Authentication Framework: Creating Your Own Rules

Last week I was explaining the important distinction between authentication and authorization, and how Linux handles them in PAM and polkit, respectively.

The PolicyKit Authentication Framework or polkit controls how subjects or unprivileged programs (such as a user’s shell) can be allowed to run mechanisms or privileged programs (such as normally root -only programs like mount or reboot ) after authenticating simply as the current user or as a user who knows the root password.

What Can You Do With Polkit?

Use the pkaction command to list the set of possible polkit actions. There’s a lot of output, let’s see those possibly related to rebooting and shutting down as configured by Red Hat on RHEL 7. The ones we’re really interested in are highlighted here:

Pre-Defined Policies

Mechanisms define the set of possible actions in XML files named /usr/share/polkit-1/actions/*.policy . Based on the above output, we want to change to the /usr/share/polkit-1/actions directory and examine the contents of the file org.freedsktop.login1.policy .

Within that file we will look for blocks such as:

Notice that three defaults have been defined:

We mustn’t edit any of these policy files, because future updates to the polkit packages would overwrite our changes. We must change the behavior with rules.

Pre-Defined Rules

Rules applying to those policies about actions and the authentication methods are written in Java and are stored in /usr/share/polkit-1/rules.d/*.rules and /etc/polkit-1/rules.d/*.rules . The polkitd daemon watches both directories so it should notice your changes. Packages may put rule files into either location.

Make your changes by adding new files named /etc/polkit-1/rules.d/*.rules .

Rules are sorted into lexical order by the file names, with files in /etc before those in /usr if you have two files with the same name in both areas. Start your file names with 2-digit numbers as that’s the environment already in place. As the polkit(8) manual page explains, the following order would be used for these four files:

  1. /etc/polkit-1/rules.d/10-auth.rules
  2. /usr/share/polkit-1/rules.d/10-auth.rules
  3. /etc/polkit-1/rules.d/15-auth.rules
  4. /usr/share/polkit-1/rules.d/20-auth.rules

Creating New Rules

Let’s try this! Let’s make the following policy change:

In order to shut down or reboot, even if an application has asked for those actions to be delayed until it is finished, and even if there are others logged in, you must enter the root password.

Create /etc/polkit-1/rules.d/10-shutdown.rules with this content:

Or maybe you would prefer to allow all members of group wheel to do this without further authentication, while everyone else will be asked for the root password. Use this:

You have to get the Java syntax correct, and it may not be obvious that you have an extra or missing parenthesis or curly bracket. If you wonder why your new rule isn’t doing what you expect, try the following and look for syntax error messages:

Читайте также:  Smartglass xbox one windows

Experiment With Polkit In A Safe Environment

Not everyone is ready to start experimenting with polkit. One of the exercises in Learning Tree’s Linux server administration course has a bonus section that leads more advanced attendees through this. Come to the course and experiment with this on a non-critical system.

Источник

PolicyKit: на страже безопасности системы

PolicyKit (Polkit) – библиотека для Unix подобных систем, основной функцией которой является предоставление возможности непривилегированным процессам вести себя как привилегированные, при этом не наделяя их правами администратора.

Права разграничиваются согласно модели DAC (Discretionary Access Control) по такому принципу: все объекты в Linux являются файлами, каждому файлу могут быть предоставлены права на чтение, запись и выполнение отдельно для root, группы и остальных пользователей. Цель создания этой утилиты – гибкая настройка привилегий в системе. В отличие от sudo, PolicyKit предоставляет права суперпользователя не на весь процесс, а на определенные действия.

Принцип работы. PolicyKit отслеживает все системные запросы на выполнение каких-либо действий, поступающие от пользовательского процесса. Программа разрешает или запрещает выполнение конкретного действия. При этом, действие или процесс могут выполняться, но с условиями. Затем решение передается системной программе, которая выполняет соответствующие действия. Решения принимаются на основе правил выполнения действий (Authorization Rules). Совокупность таких правил для конкретного приложения называется политикой (Authorization policy).

Таким образом, в процессе решения о присвоении прав суперпользователя файлам участвуют: пользовательский процесс (subject), системный процесс (Mechanism), агент аутентификации (authentication agent) и непосредственно PolicyKit. Взаимодействие между субъектами осуществляется через системную шину сообщений D-Bus.

Сегодня PolicyKit поддерживается фактически всеми дистрибутивами Linux. Подробнее утилиту разбираем на нашем авторском курсе «L2-Security. Безопасность в Linux«!

13 октября Автор: Text Writer

Источник

Помогите — KDE systemsettings не дружит с polkit

Запускаю KDE systemsetings, модуль для настройки SDDM. Там как известно, все настройки требуют повышения прав до рута через PolicyKit.

Есть другой модуль — настройка даты/времени. Там смена таймзоны требует запроса рута.

Проблема — модуль для даты-времени работает отлично — сразу вылетает диалог PolicyKit кедового агента, ввожу пароль рута, все применяется.

Модуль для SDDM не работает наглухо, при сохранении настроек выдает ошибку — permission denied, при этом никакого диалога PolicyKit не вылетает вообще.

В логах видно, что в первом (удачном) случае идет запрос к polkitd, далее к кедовому агенту, и вылетает диалог.

В неудачном случае — запроса к polkitd нет вообще. dbus-daemon сразу пишет: не удалось запустить, permission denied.

Разница, не знаю насколько это может влиять — для настройки времени (что работает) запускается сервис через systemd, для настройки SDDM — просто напрямую приложение.

Также (ВАЖНО!!) есть эталонная система, где все работает. Но я в упор не могу понять в чем разница.

Эталонная система — Arch, сломанная — самосбор.

Подскажите, куда можно копать? Подходят любые варианты, вплоть до пересборки всего вручную и запуска на gdb.

intelfx

Как пордужить polkit с доменными группами?

Есть ldap сервер виндовый, в нём есть группа «local linux machine administrator». В системе эта группа видится формате «local linux machine administrator@domain.lan». Не могу понять как впихнуть это в polkit с учётом того, что пробелы так то не поддерживаются. В sudoers решил через экранирование, в polkit так не вышло.

Дистр fedora 34.

Невозможность обойтись без spidermonkey

Есть задача поставить минимальную установку Gentoo на нетбук. Без polkit не взлетит сон и гибернация поэтому собирать его нужно, но появляется проблема в громоздком spidermonkey, который успешно заменили на вроде как легковесный duktape. https://forums.gentoo.org/viewtopic-t-1131447.html

Возникает первый вопрос: почему в gentoo досих пор не заменили его по умолчанию.

Ну это уж ладно. Я вроде могу собрать бинарный пакет polkit и установить на нетбук не ставя spidermonkey. Если в зависимостях polkit в арче spidermonkey отсутсвует – значит он нужен только при сборке. Но не тут то было. В генте он в RDEPENDS, что означает что он необходим для рантайма, и тянуть его всё равно придётся.

Читайте также:  Создать форму окна windows

Вопрос второй: почему в генте spidermonkey есть, а в арче нету.

Про устройство polkit ничего не знаю. Просто сравниваю зависимости. Если можно обойтись без polkit, пожалуйста скажите как.

Polkit кушает много памяти

Доброго дня!
Есть сервер на Centos 8.
Это обычный сервер для 1-2 сайтов, не высоконагруженный.
Заметил, что на первом месте по потреблению памяти системы (выше apache и mysql) стоит polkit.
Отключал его автозагрузку через systemctl, однако бесполезно, он снова возникает и кушает много памяти.
Что с этим делать, нужен ли этот самый polkit для не высоконагруженного сервера вообще и как его правильно отключить/удалить?

polkit & javascript

Не сильно обращал внимания, пока на новогодних празниках не добрался до древнего ноутбука ( pentium3 ! ). Ну и решил взгромоздить на него генту. Всё шло нормально, пока не дошло до обновления polkit, поскольку он зацепил мозилловский движок js(spidermonkey).

А этот движок только для процов sse2. В общем печаль-тоска.
Но недолго рыская на просторах сети нашел патчи для использования микробиблиотеку «duktape» вместо объемного «spidermonkey».

Посему вопрос — кто его пользовал-смотрел?

Gentoo, sys-auth/polkit-0.118, KDE: не монтируются флешки пользователем

У кого-нибудь ещё наблюдается подобный баг при обновлении до sys-auth/polkit-0.118 ?

VPN не работает если написать правило на polkit?

Постоянно отваливается VPN в ubuntu, каждый раз при включении просит пароль. Нашел в сети рецепт со созданию правила polkit:

Делаю systemctl restart polkit и VPN отказывается подключаться вообще (икона не реагирует, а слайдер в настройках переходит в положение вкл без вопросов но сети нет)

Кто-нибудь сталкивался? Ubuntu 20.04

Что почитать про DBUS и POLKIT?

порекомендуйте, пожалуйста, что почитать (доступно, кратко и не много) на тему DBUS и POLKIT. Я тут обнаружил, что большая часть моих проблем с линкусом за последние годы связана с этими штуками, а я даже не понимаю, что это. Вообще.

Not authorized for perform operation

При попытке монтировать диски в Сиде через Тунар — Not authorized for perform operation. Через консоль монтируется. Пользователь добавлен в sudores (deepforest ALL=(ALL:ALL) ALL)

Гугл говорит, что надо что-то дабавить в polkit. Но не знаю, что? Подскажите гуру?

Какой самый адекватный вариант запуска suid приложений через GUI

Короче я пишу софтину на Qt (С++) которая удобно монтирует cifs(samba) и sftp(через sshfs), что-то наподобие Gigolo. И пытаюсь адекватно сделать так, чтоб пароль для операций монтирования/размонтирования спрашивался всего один раз при первой операции или вообще при входе (т.к. PAM все дела, автоанлок кейринга). Так-же конечно желательно чтоб это не оказалось дырой.

Я рассмотрел 3 варианта:

  1. sudo + keyring + mount — многие говорят, что так не стоит (т.к. там и таймауты и дырявое оно) и такие вещи может вызвать только пользователь в группе wheel (если конечно в конфиге sudo так написано). Хотя там есть и -S параметр удобный и даже -A который позволяет прикрутить ASKPASS программу любую ( например вызов keyring)
  2. pkexec (polkit) + mount — постоянно спрашивает пароль (в общем-то и понятно почему), а чтоб не спрашивал нужно руками править rules/actions. Простой смертный пользователь точно не будет этим заморачиваться
  3. Отдельный демон запущенный под рутом + dbus (и возможно polkit) — выглядит как самый адекватный вариант. Можно запилить демона который будет чисто запускать mount/umount/fusermount по запросу через dbus. Поидее тут можно и пароль адекватно запомнить и передавать.

Интересно узнать мнение разбирающихся в этом людей

Запретить или требовать пароль для выключения/перезагрузки компьютера

В современных системах какая-то модная дичь, позволяющая любому активному пользователю выключать, суспендить или перезагружать компьютер. Правила эти прописаны в /usr/share/polkit-1/actions/org.freedesktop.login1.policy . Редактировать этот файл не рекомендуется, т.к. он перезапишется при обновлении. Вместо этого они предлагают создать .rules файл, например в /usr/share/polkit-1/rules.d/ .
Ок, создал файл /usr/share/polkit-1/rules.d/local.shutdown.rules

Однако нифига, по прежнему из диалога входа SDDM и из меню KDE залогиненного пользователя по прежнему можно перезагрузить и выключить без запроса прав. Что за фигня?

Читайте также:  Прописать загрузку windows 10 через командную строку

Понавыдумали всякую дичь переусложнённую.

Система Ubuntu 18.04, если это что-то значит.

Группы пользователей debian, polkit и монтирование дисков.

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

При попытке воткнуть любой накопитель и смонтировать его через Thunar, вываливает ошибку

Автоопределение USB-устройств в Linux Mint 18.3 (udev,udisks, или что?)

По причине описанной в другой ветке этого форума, у меня возник более конкретный вопрос, который я вынес сюда как более общую тему:

  • Как в системе Linux Mint 18.3 реализовано автоопределение usb-устройств сейчас в 2018 году?

Проблема в том, что почти вся информация, которая находится по подобным поисковым запросам датируется 2011-2015 годами и ссылается на настройку утилиты udev путём добавления в каталог /etc/udev/rules.d/ файлов с описаниями правил монтирования.

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

Каталог /etc/udisks2/ тоже пуст.

Я нашёл упоминание о рolkit, но как это может быть связано с моей задачей я не очень понимаю.

Debian Jessie и polkit доступ к флешкам определённой группе пользователей

Есть такая задача, нужно запретить флешки всем пользователям кроме тех кто состоит в определенной группе.

Пока нашел решение только с помощью polkit, но тут логика такая что надо указывать пользователей в Identity=unix-user

Создал файл /etc/polkit-1/localauthority/50-local.d/10-org-freedesktop-udisks.pkla в нем прописал

polkit authentication failed

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

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

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

Источник

Эксперт обнаружил критическую уязвимость в библиотеке Polkit (PolicyKit) для Linux, баг в коде был с 2014 года

10 июня 2021 года ИБ-исследователь из GitHub Security Lab Кевин Бэкхаус подробно рассказал об обнаруженной им критической уязвимости в Polkit (PolicyKit) для Linux, включая технические подробности об архитектуре polkit и способах эксплуатации уязвимости. Непривилегированные злоумышленники могут получить уровень доступа root, используя обход аутентификации в системной службе polkit auth, установленной по умолчанию во многих современных дистрибутивах Linux. Под угрозой оказались сборки RHEL 8, Fedora 21, Ubuntu 20.04, а также нестабильные версии Debian и его производные.

Баг в коде библиотеки при использовании polkit_system_bus_name_get_creds_sync() появился 7 лет назад. Он позволял пользователю с помощью нескольких команд повысить привилегии в системе до администратора. Для его активации хватает стандартных системных утилит bash, kill и dbus-send.

Уязвимость получила номер CVE-2021-3560 и затрагивает все версии polkit, начиная с 0.113. 3 июня Red Hat выпустила фикс против этой уязвимости для Red Hat Enterprise Linux 8.

Уязвимость в polkit связана с тем, что в случае, когда запрашивающий процесс отключается от dbus-daemon (демона шины сообщений D-BUS) непосредственно перед вызовом polkit_system_bus_name_get_creds_sync, то этот процесс не может получить уникальный uid и pid процесса и возникает ситуация, когда система не может проверить привилегии запрашивающего процесса.

Пример использования уязвимости в polkit в Ubuntu 20.04.

Бэкхаус настоятельно порекомендовал всем пользователям обновить polkit в своих системах.

12 марта 2021 года специалист по кибербезопасности из компании GRIMM Адам Николс (Adam Nichols) рассказал об обнаруженной им критической уязвимости CVE-2021-27365 (переполнение буфера кучи, повышение локальных привилегий) в подсистеме iSCSI ядра Linux. Баг в коде был с 2006 года. В настоящее время затронутыми оказались все дистрибутивы Linux, но, к счастью, уязвимый модуль ядра scsi_transport_iscsi не загружается по умолчанию.

В январе 2021 года эксперты компании Qualys обнаружили критическую уязвимость в утилите sudo, которая попала в исходный код утилиты в июле 2011 года. Злоумышленник может получить доступ с правами root, используя уязвимость CVE-2021-3156 под любым пользователем и без наличия записи в файле /etc/sudoers. Эту уязвимость можно применять для повышения привилегий в системе в непривилегированном процессе.

Источник

Оцените статью