В ALT Linux есть удобный инструмент epm play, который устанавливает программы из репозитория. Сейчас epm play aimp ставит старую версию 5.40 (Wine-based) вместо актуальной нативной 6.00.3056b.
Но если вы обновите пакет - проблема решится на корню для всех пользователей ALT.
Ручная установка нативной версии на ALT работает (проверено):
rpm2cpio aimp-6.00-3056b.x86_64.rpm | cpio -idmv
cp usr/lib64/*.so opt/aimp/
cd opt/aimp && LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./AIMP
Зависимости: libcairo, gtk+2, libpango, libpixman, libsqlite3
Что касается epm play - я передам ваш ответ мейнтейнерам ALT Linux. Спасибо за поддержку!
Подскажите как с ними можно связаться?
Есть несколько способов:Спасибо
1) https://bugzilla.altlinux.org/ , тред по AIMP с запросом добавления в epm: https://bugzilla.altlinux.org/58962
2) Остальные ссылки: https://www.basealt.ru/poleznye-ssylki
В первых же строках:
chmod 666 /opt/aimp/AIMP.ini - запись от всех пользователей в системный конфиг
chmod 777 /opt/aimp/Plugins/ - небезопасный метод раздачи прав (все пользователи могут менять/добавлять плагины плееру.
Да, именно так. Любой пользователь может ставить / обновлять плагины
Это не те настройки, про которые вы думаете. Пользовательские настройки хранятся в папке профиля пользователя. Что касается плагинов - сделано так не просто так.Установка плагина сопровождается uac, а уже потом идёт процесс установки.
ALT Linux на телефон представлен проектом «Альт Мобильный» (ALT Mobile) — безопасной операционной системой на базе Linux для смартфонов и планшетов, входящей в реестр Минцифры. Это полноценный Linux с адаптированным интерфейсом, предназначенный для корпоративной и частной работы.Получается, что для мобильного устройства можно установить десктопные приложения или нет?
Получается, что для мобильного устройства можно установить десктопные приложения или нет?да если это именно линукс а не андройд
Установка плагина сопровождается uac, а уже потом идёт процесс установки
Это не те настройки, про которые вы думаете. Пользовательские настройки хранятся в папке профиля пользователя. Что касается плагинов - сделано так не просто так.
Плагины не должны храниться в папке пользователя:
1) в некоторых плагинах есть относительные референсы на общие модули плеера.
2) на некоторых системах может быть установлен запрет на загрузку исполняемых модулей из пользовательских папок
3) дублирование кода. Каждый пользователь будет вынужден хранить свою копию плагина
4) установщик будет вынужден класть их в папку профиля каждого пользователя. Так же непонятно, как быть с пользователями, которые будут созданы после установки
- испортить настройки (Profile - это же ваши личные данные!)
подложить вирус/что угодно в Plugins
Согласен. Надо только поискать информацию, как вызвать повышение прав в линуксах без sudo и консоли.
...
Выше уже отвечал на этот вопрос. Нужно вот с этим разобраться
...
Никакого "повышения прав без пароля" в Linux нет и быть не должно. Это не баг, это фича.
плагин не имеет доступа к системным файлам, только к данным пользователя
AIMP не нужно сканировать плагины с правами root. Он должен просто при запуске загружать все .so файлы из стандартных папок (системной и пользовательской) через обычный dlopen().
ну и ещё разок:
1. Системные файлы (программа + общие плагины):
пользователь сам может ставить плагины в свой каталог
1) в некоторых плагинах есть относительные референсы на общие модули плеера.
2) на некоторых системах может быть установлен запрет на загрузку исполняемых модулей из пользовательских папок
3) дублирование кода. Каждый пользователь будет вынужден хранить свою копию плагина и обновлять их по отдельности
В общем, я постараюсь к ближайшей бете переделать установку плагинов, чтобы она происходила так же, как в Windows - только через админские права.
Не могу дать хорошего совета, но такой вопрос задавался и предложено поднимать субпроцесс, задействовать pkexec.
https://discourse.gnome.org/t/root-permission-on-gtk-applications/17181
https://stackoverflow.com/questions/2400965/authenticating-gtk-app-to-run-with-root-permissions
Если это не подойдёт, то придётся смотреть в сторону создания отдельного модуля управления плагинами, который при запуске будет будет запрашивать повышение прав (пароль) для себя.
Да, спасибо. Я выше об этом уже писал. К сожалению, под root-ом не инициализируется gtk (ну оно и понятно), таким образом, текущий подход "как есть" применить не получится. Я пока торопиться не стал - надо подумать, каким путём лучше пойти.
Плеер не лазает в чужие папки, не сканирует ничего от root, просто загружает то, что есть и не запрещено пользователем.
Согласен. Надо только поискать информацию, как вызвать повышение прав в линуксах без sudo и консоли.Одно из решений, это подпрограмма, которая имеет setuid бит, при вызове которой она запускается от имени владельца. (типо элеватора, но занимающаяся именно установкой и удалением плагинов)
Одно из решений, это подпрограмма, которая имеет setuid бит, при вызове которой она запускается от имени владельца. (типо элеватора, но занимающаяся именно установкой и удалением плагинов)
Для безопасности в этой программе должна быть реализована система аутентификации используя PAM или готовые гуи библиотеки типо gsu и gsudo
Он может их открыть в проводнике вручную или нажать в плеере "Установить". Плеер запрашивает повышение доступа только на это действие. В старом формате распространения плагинов использовались обычные архивы, где пользователь вручную их распаковывал. В некоторой степени такой формат тоже поддерживается плеером, если структура архива ему понятна.
Кроме непосредственно плагинов ещё есть и пакеты иконок, которые добавляются через по аналогичной схеме.
.....
Итого: исходная проблема мне понятна, я беру паузу и на досуге неспеша подумаю, как лучше её решить, чтобы всем было хорошо
К сожалению, под root-ом не инициализируется gtk (ну оно и понятно), таким образом, текущий подход "как есть" применить не получится.В линукс есть три пользовательских идентификатора для приложения: SUID, EUID и RUID.
В линукс есть три пользовательских идентификатора для приложения: SUID, EUID и RUID.
Это позволяет привилегированному приложению работать как от лица запустившего (user), так и владеющего (root). Если кратко, то gui инициализируем от лица юзера, а установку от лица рута
И тоже самое надо сделать в AIMP и пакет будет допущен в репозитории Alt, Debian и прочих линуксовВ отличии от GIMP, AIMP - проприетарный, а все проприетарные приложения должны хранить всё своё барахло в /opt (как например это делает Chrome)
В отличии от GIMP, AIMP - проприетарный, а все проприетарные приложения должны хранить всё своё барахло в /opt (как например это делает Chrome)
Как сказал Артём он не хочет хранить плагины в пользовательской папке из-за им перечисленных проблем, даже если аимп бы располагал системные файлы где-нибудь ещё (в том же самом /usr/etc или /usr/share), проблема с безопасностью не решилась бы
Дружище, ты немного путаешься в стандартах Linux.Я говорю про системные данные
Я говорю про системные данные
Естественно, что любые пользовательские будут лежать в ~/.config/ иначе в многопользовательской системе использовать приложение будет трудно затратно
Сначало читай внимательно перед тем как генерить ответ у нейронки