Ren*_*tib 3 gnupg home-directory
我是 Linux 的初学者,刚刚开始pass用于管理我的密码。我试图保持我的主目录相当干净,但pass创建了 2 个点文件(.gnupg和.password-store),我不知道如何移动到其他目录(.local/ .config/ .cache)。我知道我可以链接它们,但它不能解决~/.
$ ls -a
.cache
.config
Desktop
Documents
Downloads
.gnupg
.local
Music
.password-store
Pictures
Videos
Run Code Online (Sandbox Code Playgroud)
指定的问题:是否有移动的方式.gnupg,并.password-store到另一个目录,并仍然使用他们?
有PREFIX可变的二进制定义它,但我真的不知道如何去改变它。
$ ls -a
.cache
.config
Desktop
Documents
Downloads
.gnupg
.local
Music
.password-store
Pictures
Videos
Run Code Online (Sandbox Code Playgroud)
这段shell代码的含义:
PREFIX="${PASSWORD_STORE_DIR:-$HOME/.password-store}"
Run Code Online (Sandbox Code Playgroud)
is:设置PREFIX为 的值$PASSWORD_STORE_DIR,使用$HOME/.password-storeif的默认值$PASSWORD_STORE_DIR未设置。
也就是说,您可以将环境变量PASSWORD_STORE_DIR设置PREFIX为您想要设置为所需值的任何路径。因此,比如说,在您.profile或您喜欢管理环境变量的任何地方,设置:
export PASSWORD_STORE_DIR="$HOME/.config/password-store"
Run Code Online (Sandbox Code Playgroud)
这是记录在案的。检查man 1 pass:
ENVIRONMENT VARIABLES
PASSWORD_STORE_DIR
Overrides the default password storage directory.
Run Code Online (Sandbox Code Playgroud)
如果应用程序支持移动点文件,请随意这样做。毕竟,他们宣传这种支持,如果它不起作用,则可能是修复了一个错误。
这同样适用于gpg,与GNUPGHOME环境变量:
GNUPGHOME
If set directory used instead of "~/.gnupg".
Run Code Online (Sandbox Code Playgroud)
建议:不要担心应用程序在哪里创建其 .dot 配置文件。在您的日常计算机使用中也无关紧要:这些配置文件在大多数情况下都不会出现在您的视线范围内。
为什么:由应用程序决定将其用户配置文件放在哪里。旧的约定是将配置文件直接放在您的主文件夹中,就像pass似乎所做的那样,即$HOME/.password-store. 最近,惯例是.config确实将这种配置移到下面。
如果您想接管对用户配置存储位置的管理,在许多情况下您将需要编辑源代码。一旦开始这样做,您还需要继续修补软件的更新。因此,作为一般建议:将配置文件的放置位置留给开发人员。反过来,开发人员按照当前的约定行事:否则他/她可能会收到很多错误请求。
无论如何,我想更改它pass:不过,出于学习目的,您可以在pass. 这是开源的。在这种情况下,该目录是在pass脚本的 bash 源代码中定义的。原则上,您可以将其更改为:
PREFIX="${PASSWORD_STORE_DIR:-$HOME/.config/password-store}"
Run Code Online (Sandbox Code Playgroud)
由于PREFIX在脚本中分配变量的方式,有一种更安全的方法,不需要更改脚本(感谢 muru 的评论)。即PASSWORD_STORE_DIR在启动前设置或导出变量pass,即
PASSWORD_STORE_DIR=$HOME/.config/password-store
Run Code Online (Sandbox Code Playgroud)
在脚本中,PASSWORD_STORE_DIR如果定义了变量 PREFIX,则假定其值为,否则将设置为$HOME/.password-store。
这可能是所需的任何更改。任何文件夹都是用-p开关创建的,所以如果整个文件夹结构.config还不存在(例如在一个非常新安装的系统上),则会创建整个文件夹结构。
这是开源的,因此您可以尝试:以新名称复制原始文件,进行编辑并查看其工作原理。如果它不起作用,您仍然可以复制原始版本。
请注意,您需要为要更改的每个应用程序再次研究源代码。在某些情况下,可能需要更改不止一行。
最后,再一次……不要打扰。
| 归档时间: |
|
| 查看次数: |
340 次 |
| 最近记录: |