Управление домашними dotfiles, созданными Pass

Я вроде как новичок в Linux и только начал использовать pass для управления своими паролями. Я стараюсь держать свой домашний каталог в чистоте, но pass создал 2 dotfiles (.gnupg и .password-store), которые я не знаю, как переместить в другие каталоги (.local / .config / .cache). Я знаю, что могу связать их, но это не решает проблему dotfiles в ~/.

$ ls -a
.cache
.config  
Desktop  
Documents  
Downloads  
.gnupg  
.local  
Music  
.password-store  
Pictures
Videos  

Специфическая проблема: есть ли способ переместить .gnupg и .password-store в другой каталог и по-прежнему использовать их?

В бинарниках есть переменная PREFIX, которая определяет их, но я не знаю, как ее изменить.

PREFIX="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
3
задан 3 September 2021 в 16:47

3 ответа

Значение этого бита кода оболочки:

PREFIX="${PASSWORD_STORE_DIR:-$HOME/.password-store}"

: установить ПРЕФИКС на значение $ PASSWORD_STORE_DIR , используя по умолчанию $ HOME / .password-store , если $ PASSWORD_STORE_DIR не установлен.

То есть вы можете установить для переменной среды PASSWORD_STORE_DIR любой путь, по которому вы хотите установить PREFIX на желаемое значение.Так, скажем, в вашем .profile или в другом месте, где вы предпочитаете управлять переменными среды, установите:

export PASSWORD_STORE_DIR="$HOME/.config/password-store"

Это задокументировано. Проверьте man 1 проход :

ENVIRONMENT VARIABLES
PASSWORD_STORE_DIR
      Overrides the default password storage directory.

Если приложения предоставляют поддержку для перемещения файлов точек, не стесняйтесь делать это. В конце концов, они рекламируют эту поддержку, и если это не сработает, это ошибка, которая, вероятно, будет исправлена.


То же самое и для gpg с переменной среды GNUPGHOME :

GNUPGHOME
      If set directory used instead of "~/.gnupg".
5
ответ дан 4 September 2021 в 09:24

Не трогайте точечные файлы, если они созданы программами непосредственно в вашем домашнем каталоге.

Ваши приложения НЕ будут знать, как сопоставить «альтернативные» местоположения, и это НЕ является нетипичным, когда тонны файлов точек создаются разными приложениями. Точечные файлы и точечные папки предназначены для использования для хранения данных приложения и невидимы для обычного пользователя (то есть файловый браузер по умолчанию не показывает скрытые файлы).

Если ваши приложения, которые вы используете, не позволяют вам конфигурировать собственный каталог данных, оставьте свои точечные файлы в покое. Большинство приложений не имеют механизма для настройки или перемещения файлов или перенастройки места, где они ищут свои данные, поэтому оставьте их в покое.

3
ответ дан 4 September 2021 в 09:24

Рекомендация : не беспокойтесь о том, где приложение создает свои файлы конфигурации .dot. Это также не имеет значения при повседневном использовании компьютера: эти файлы конфигурации предназначены для того, чтобы большую часть времени вы не видели их.

Почему : это приложение решает, куда поместить свои пользовательские файлы конфигурации. Старые соглашения заключались в том, чтобы помещать файлы конфигурации непосредственно в вашу домашнюю папку, например, pass , то есть $ HOME / .password-store . В последнее время принято переносить такую ​​конфигурацию в .config .

Если вы хотите взять на себя управление хранением пользовательской конфигурации, вам во многих случаях потребуется отредактировать исходный код. Как только вы начнете это делать, вам также нужно будет продолжать исправлять обновления программного обеспечения.Таким образом, в качестве общего совета: предоставьте разработчику право решать, где разместить файлы конфигурации. Разработчик, в свою очередь, ведет себя в рамках существующих соглашений: в противном случае он / она может ожидать много запросов об ошибках.

Я все равно хочу изменить его для прохода : Тем не менее, в целях обучения вы можете легко изменить это в случае прохода . Это открытый исходный код. В этом случае каталог определяется в исходном коде bash сценария pass . В принципе, вы можете изменить это на:

PREFIX="${PASSWORD_STORE_DIR:-$HOME/.config/password-store}"

Из-за того, как переменная PREFIX назначается в скрипте, существует более безопасный подход, не требующий изменения скрипта (благодаря комментарию автора муру). То есть установить или экспортировать переменную PASSWORD_STORE_DIR перед запуском прохода , т.е.

PASSWORD_STORE_DIR=$HOME/.config/password-store

В сценарии переменная PREFIX примет значение PASSWORD_STORE_DIR , если он определен, иначе будет установлено значение $ HOME / .password-store .

Это, вероятно, любое изменение, которое потребуется. Любые папки создаются с помощью переключателя -p , поэтому вся структура папок будет создана, если .config еще не существует (например, в недавно установленной системе).

Это открытый исходный код, поэтому вы можете попробовать: скопировать исходный файл под новым именем, отредактировать его и посмотреть, как он работает. Если это не сработает, вы все равно можете скопировать исходную версию.

Обратите внимание, что вам нужно снова изучить исходный код для каждого приложения, в котором вы хотите его изменить. В некоторых случаях может потребоваться изменить более одной строки.

В конце концов, опять же ... не заморачивайтесь.

5
ответ дан 4 September 2021 в 09:24

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

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