assertion9 |
|
Темы:
4
Сообщения:
15
Участник с: 13 апреля 2019
|
Пытаюсь осуществить возможность запуска программы для прослушивания музыки spotify только после ввода пароля текущего пользователя и запретить запуск без пароля. Причина по которой я этим занялся в том, что я настроил в spotify автоматический логин по своим данным и не хочу чтобы у любого человека была возможность запустить программу и сразу же оказаться у меня в профиле. Первый метод который я попробовал: * - создал фаил polkit
С помощью "pkexec --user $USER /usr/bin/spotify" запрашивает пароль в вот обычный запуск spotify просто запускает программу без подтверждения пароля от polkit. Второй метод: * - изменил права доступа фаила /usr/bin/spotify с помощью chmod 700, получается запуск возможен только от root пользователя; * - изменил секцию default фаила polkit на * - запустил spotify с помощью команды pkexec spotify;Запуск происходит только после ввода пароля, запустить spotify как обычный пользователь не могу. Однако я не уверен, что это оптимальный способ от пользователя root запускать программу для прослушивания музыки, это похоже лишнее, ведь это не gparted и не gnome-disks где необходимы максимально возможные привелегии. При запуске приложения от пользователя root все временные файлы будут сохраняться в каталог root с последующим засорением этой директории? |
vs220 |
|
Темы:
25
Сообщения:
8524
Участник с: 16 августа 2009
|
assertion9Создайте пользователя spotify задайте ему пароль , дайте права на запись и чтение вашего конфига spotify только пользователю spotify. И запускайте через pkexec. Осталььные смогут запускать spotify с дефолтным конфигом |
vasek |
|
Темы:
47
Сообщения:
11933
Участник с: 17 февраля 2013
|
assertion9Умные (работающие по феншею) способы вроде бы описаны все, НО если эти любые человеки имеют право использовать sudo, то они всегда могут запустить это приложение (даже могут в текущей сессии изменить пароль root поработать и вернуть все обратно). Это я к тому, что если не доверяешь этим человекам, то не нужно им давать право на пользование sudo и нужно убирать у них права на запуск данного приложения (без sudo они эти права не восстановят) ... и тогда все довольно упростится. Но есть еще один не стандартный и очень простой способ (иногда им пользуюсь) - изменить название запускаемого бинарника (конечно, нужно смотреть конкретно процесс запуска).
Ошибки не исчезают с опытом - они просто умнеют
|
assertion9 |
|
Темы:
4
Сообщения:
15
Участник с: 13 апреля 2019
|
vs220 Спасибо за совет, работает как нужно vasek Спасибо, что напомнили упустил этот момент |
vasek |
|
Темы:
47
Сообщения:
11933
Участник с: 17 февраля 2013
|
assertion9Сегодня пришлось решать аналогичную проблему - нужно было запретить запуск одного файла. Приведенные в топике способы не подходят. Решил использованием openssl для шифрования/дешифрования - очень удобно - перед запуском дешифрую, поработал, зашифровал. Время не занимает, практически мгновенно (время уходит только на ввод пароля), повесил команду на горячую клавишу.
Ошибки не исчезают с опытом - они просто умнеют
|
vs220 |
|
Темы:
25
Сообщения:
8524
Участник с: 16 августа 2009
|
vasekvasek если не затруднит несколько примеров вашего практического применения раздел же для новичков самому интересно :) |
vasek |
|
Темы:
47
Сообщения:
11933
Участник с: 17 февраля 2013
|
vs220На ноуте нет ничего секретного для других, за исключением KeePass (но там очень стойкий пароль), но недавно достал из запасников одну прогу, запуск которой другими в принципе не желатен. Так как к ноуту имеют доступ и другие, для которых обход разграничений прав доступа не проблема, то пришлось шифровать. Для шифрования файла решил использовать openssl, а вот для автоматизации процесса создал два файла (один для шифрования enc.sh, другой для дешифрования dec.sh) 1. Создаем файл ~/enc.sh (шифрование) cat ~/enc.sh PS - read -s - опция -s для скрытия набора пароля - на вкус, можно и убрать2. Создаем файл ~/dec.sh (дешифрование) cat ~/dec.sh 3. Делаем файлы исполняемымиchmod +x ~/enc.sh, chmod +x ~/dec.sh 4. Шифрование/дешифрование перед запуском файла ~/dec.sh /прога …… после окончания работы ~/enc.sh /прога Можно вешать на горячие клавиши, можно изменить функцию шифрования 5. Нюансы Если применять к программам в директории /usr/bin, то придется применять sudo в результате изменятся права доступа к файлу и придется их менять (делать дополнение в скрипт). Рекомендую Перед шифрованием узнать права доступа stat -c%a /usr/bin/прога 755 А после операции enc/dec вернуть права на место, если они меняются sudo chmod -R 755 /usr/bin/прога ... и прописать это в скрипт ... EDIT - внес изменение в скрипт (исключил cat) по замечанию indeviral - это, бузусловно правильный вариант и полностью соответствует man - просто у меня давно валялась эта конструкция и взял ее, даже не заглянув в man и не проверив на соответствие doc.
Ошибки не исчезают с опытом - они просто умнеют
|
vs220 |
|
Темы:
25
Сообщения:
8524
Участник с: 16 августа 2009
|
vasekСпасибо |
vasek |
|
Темы:
47
Сообщения:
11933
Участник с: 17 февраля 2013
|
Нашел описку исправил на
PS - перед запуском дешифровать, после работы зашифровать
Ошибки не исчезают с опытом - они просто умнеют
|
indeviral |
|
Темы:
39
Сообщения:
3206
Участник с: 10 августа 2013
|
По моему cat лишнее. Хотя особой разницы нету...
Ошибки в тексте-неповторимый стиль автора©
|