Как заставить агент набора политик показывать полная информация об аргументах командной строки

Я использую Ubuntu Mate 20.04 и pkexec для запуска приложений с правами администратора, если это необходимо.

Однако, когда набор агента политики запрашивает авторизацию запроса, информации недостаточно для принятия решения. Например, если я запустил

pkexec sh -c 'echo hello'

, я увижу это сообщение:

policy-kit-agent

Обратите внимание, что нет информации о команде, которую я пытаюсь выполнить. Таким образом, это будет выглядеть так же для опасного

pkexec sh -c 'rm -rf /'

Как я могу настроить свою настройку, настроив или изменив агент, чтобы я мог видеть дополнительную информацию (например, полную командную строку) о действии, которое меня просят разрешить?

2
задан 7 July 2021 в 14:57

1 ответ

За полную командную строку с аргументами отвечает command_line . Чтобы изменить его, можно создать собственную политику, как предлагает страница man pkexec .

Однако мне пришлось редактировать LC_MESSAGES. Моя локаль en_US, поэтому я выполнил следующие шаги:

  1. скопировал /usr/share/locale-langpack/en_GB/LC_MESSAGES/polkit-1.mo
  2. распаковал с помощью msgunfmt polkit- 1.mo -o polkit-1.po
  3. отредактировал polkit-1.po
msgid "Authentication is needed to run `$(program)' as the super user"
msgstr "Authentication is needed to run '$(program)' as the super user"

до

msgid "Authentication is needed to run `$(program)' as the super user"
msgstr "Authentication is needed to run '$(program)' ('$(command_line)') as the super user"

, а также несколько похожих строк.

  1. упаковал его обратно с помощью msgfmt polkit-1.po -o polkit-1.mo
  2. поместил его в /usr/share/locale/en_US/LC_MESSAGES/polkit-1.mo
  3. перезапущен демон polkit systemctl restart polkit

И теперь я могу получить полную команду enter image description here

1
ответ дан 28 July 2021 в 11:21

Другие вопросы по тегам:

Похожие вопросы: