Я прохожу курс “от 0 до Linux админа” здесь ссылка и столкнулся с проблемой при попытке правильно получить секреты в скрипте, выполняемом через cronjob. У меня есть скрипт, который для работы должен получать несколько секретов. На данный момент я использую secret-tool lookup
для получения этой информации. Это отлично работает при запуске от локального пользователя, но не работает в cronjob.
Основная проблема, как я понял, заключается в том, что secret-tool
использует GUI для разблокировки хранилища ключей, что не является проблемой при передаче переменной окружения, так как это позволяет открыть запрос, и хранилище ключей остается открытым. Тем не менее, этого недостаточно, так как адрес d-bus кажется некорректным. Очевидно, что это не правильный способ решения.
Я рассматривал возможность перехода на облачных менеджеров секретов, но, похоже, столкнусь с той же проблемой: где и как хранить API ключ для доступа к секретам в облаке?
Я синхронизирую локальный почтовый сервер с удаленным с помощью mbsync
. mbsync
должен передавать учетные данные обоим серверам. Вот пример получения имени пользователя для удаленного сервера:
UserCmd "secret-tool lookup remote_mail_server username"
Я смог заставить это работать через настройку переменных окружения, но явно это не тот способ, который стоит использовать. Особенно это не будет работать в безголовом окружении. Буду признателен за любую помощь и советы, как правильно организовать аутентификацию в cronjobs.