Как использовать секретный инструмент в cronjob с некорневым пользователем?

Я использую эту команду в своем сценарии удара.

somePassw=$(/usr/bin/secret-tool lookup some-login $someLogin 2>secret-tool.log)

Это работает отлично в командной строке. Но если скрипт запущен от crontab, я вижу следующие сообщения в журнале:

secret-tool.log:
(secret-tool:6289): GLib-GObject-CRITICAL **: 15:02:01.285: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
secret-tool: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11

Те же ошибки, которые я вижу в терминале, если я вхожу sudo -E secret-tool lookup... Но я создал свое crobtab задание без корневых полномочий. Как я могу избавиться от этих ошибок? Ubuntu 18.04.3 LTS (gdm3)

0
задан 24 November 2019 в 15:24

1 ответ

Простой ответ, "Вы не можете".

secret-tool использование $DISPLAY переменная, чтобы найти, что GUI отображает материал.

Пробежка cron, нет никакого GUI.

Можно было скопировать $DISPLAY переменная от среды GUI до cronjob (и читают man xhost), но это сделало бы secret-toolподсказки появляются на Вашем экране, который побеждает цель cron.

Кроме того, потому что secret-tool соглашения с Аутентификацией, это могло бы обнаружить и запретить эту ситуацию или, возможно, нуждалось бы в других переменных среды.

1
ответ дан 21 December 2019 в 23:50

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

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