Как хранить конфиденциальную информацию при использовании каркаса точечных файлов
Я пытаюсь придумать стратегию для хранения моих точечных файлов в Git. На данный момент я создал репозиторий dotfiles на GitHub, и я собрал скрипт установки, который просто клонирует репо, а затем вставляет ссылки на каждый из файлов в мой ~
каталог.
Однако я изо всех сил пытаюсь придумать способ хранения конфиденциальной информации в моих точечных файлах, но в то же время следя за тем, чтобы ни один из них не передавался в Git.
Например, у меня есть мой конфигурационный файл Irssi, в котором у меня есть следующее:
chatnets = {
Freenode = {
type = "IRC";
autosendcmd = "/msg nickserv identify PASSWORD ; wait 2000";
...
Теперь, когда я управляю версией этого точечного файла, я не могу сохранить свой пароль непосредственно в этом файле. Это означает, что каждый раз, когда я запускаю Irssi, мне приходится вручную identify
с NickServ в качестве PASSWORD
очевидно, не мой пароль NickServ.
Я пытался выяснить, есть ли способ включить защищенный файл без контроля версий в конфигурацию Irssi, но я не могу найти никаких решений для этого.
Как я должен хранить мои точечные файлы таким образом, чтобы я мог хранить конфиденциальную информацию, такую как пароли, требуемые точечными файлами вне Git?
Связанное, но не реальное решение: Как передать переменные (пароли) bash в файл конфигурации IRSSI? Использование SASL для Irssi не очень удобно, так как это еще одна вещь для установки в новой системе, и я пытаюсь максимально упростить процесс установки.
1 ответ
Многие программы тем или иным образом поддерживают размещение команд оболочки в своих файлах конфигурации. Например, у меня есть это в моем.neomuttrc
:
set my_fastmail_pass="`gpg -dq ~/.config/neomutt/fastmail-password.gpg`"
Я думаю, что вы можете сделать что-то подобное с Irssi. Альтернативно вы можете использовать git-crypt для файлов, содержащих секреты. Таким образом, весь файл зашифрован.