Я строю расширение оболочки Gnome, и я хочу иметь возможность делать некоторые вещи с повышенными привилегиями. Итак, я думаю, мне нужно использовать «набор политик», но я не знаю, как это сделать.Эскалация привилегий оболочки Gnome
Таким образом, сказать, что я хотел сделать что-то вроде ifconfig eth0 down
или ifconfig eth0 up
я могу запустить из терминала: pkexec ifconfig eth0 down
и он будет запрашивать пароль, а затем сделать это.
Но как я должен это делать изнутри расширения?
Я уверен, что это как-то связано с созданием файла в/usr/share/polkit-1/action, но я ничего не могу найти в Интернете или иначе.
Я хочу, чтобы иметь возможность настроить его, чтобы не вводить пароль, и расширение может просто запускать определенную команду всякий раз.
Я знаю, что это действительно плохая идея, чтобы разрешить команду. Это не то, о чем я прошу, я хочу иметь возможность запускать только одну программу/команду.
EDIT: Я не уверен, но я думаю, что не может быть необходимости вводить пароль. Я просто знаю, что sudo не запрашивает пароль какое-то время после первого раза, поэтому я вроде как хочу подобную функциональность. Не уверен, что возможно.
Это, как правило, не будет работать слишком хорошо, потому что расширение вашей оболочки (в JavaScript) будет запущено в том же процессе, что и сама оболочка, тем самым всевозможные «утечки» безопасности. - Безопасная ставка, по сути, заключалась бы в использовании «pkexec» или иначе изолировать «небезопасный» бит привилегированного кода в отдельном процессе ... PS: Повторное приглашение пароля с помощью ' sudo' и др. - это системная настройка безопасности; по умолчанию обычно требуется повторное приглашение после (long), тогда как – BRFennPocock
@BRPocock да, используя 'pkexec' - это то, что я хочу сделать. Как мне сделать это из расширения? – Jay