LINUX.ORG.RU
ФорумAdmin

PolicyKit: разрешение по маске файла

 


1

2

Добрый день. На Линукс Минт нужно дать разрешение PolicyKit на установку приложения без пароля. Но сложность, в том, что файл каждый раз имеет разное название. Есть постоянная часть и номер версии. Звездочки в правиле PolicyKit не принимает. Не могу найти как ему указать. Помогите, пожалуйста.

Перемещено hobbit из general



Последнее исправление: hobbit (всего исправлений: 1)

Ты пытаешься сделать какую-то ерунду. Разрешения в зависимости от имени рандомного файла это идиотизм. Впрочем, policykit само по себе не нужно, я его давно снёс у себя отовсюду.

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

Да именно так. И я не хочу в этом правиле каждый раз менять имя файла в соответствии с новой версией. Вот работает - <annotate key="org.freedesktop.policykit.exec.path">/tmp/1/test11.bash</annotate>

Вот так вообще не работает - <annotate key="org.freedesktop.policykit.exec.path">/tmp/1/test*.bash</annotate>

Не хочу бегать по всем ПК и вводит пароль, каждый раз, когда надо обновить клиенты программы.

Давать права совсем на все, я не хочу. Может можно ограничить по другим, ключам?

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

Если быть совсем точным, то пытаюсь разрешить автообновление тонкого клиента 1С. Я уже нашел, что он создает такой файл и запускает его - /tmp/v8_ue1dxL_b.tmp/setup-thin-8.3.21.1775-x86_64.run

Первое что пришло в голову - ограничить по маске файла.

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

Да именно так.

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

Более подходящий путь таков: распространяй свою софтину мимо системного пакетного менеджера. Сделай самописный установщик и пусть он ставит софтину в домашний каталог пользователя.

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

А обновлять её должен системный менеджер пакетов?

Тогда самый простой вариант - написать скрипт, который будет запускаться по крону, дёргать пакетный менеджер, проверять через него наличие обновления для 1С, и в случае наличия - запускать обновление пакета, скармливая пакетному менеджеру пароль пользователя при запросе.

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

Нет. 1С сама при запуске проверяет версию сервера.

Если другая, то спрашивает сервер, где взять архив.

Скачивает архив с WEB сервера и распаковывает его.

Получается файл типа /tmp/v8_ue1dxL_b.tmp/setup-thin-8.3.21.1775-x86_64.run и сам его запускает.

После этого появляется запрос пароля.

ChaoticSerg
() автор топика
Ответ на: комментарий от monkdt

Что касается лично меня и конкретно gparted - то пример неудачный: gparted я ни разу не запускал, разбивал fdisk-ом, но даже когда я последний раз запускал fdisk - не помню. Комп настроен и работает, зачем что-то переразбивать непонятно.

Но если от этих частностей отвлечься и предположить, что действительно надо что-то поадминистрировать через гуи (чего я ни разу не делал), то два момента:

1) это не программа должна как-то получить себе права, а запускающий её администратор должен залогиниться с правами, и потом запускать из этой сессии административный софт

2) лучше это делать в отдельной изолированной от юзера гуи-сессии (Ctrl-Alt-Fn и запустить там отдельные иксы), иначе в плане безопасности это эквивалентно «выдать всем рут»

firkax ★★★★★
()
12 марта 2024 г.