当前方法
实际上,我正在使用符号链接(symbolic link)与根用户共享我的一些点文件:
ln -s ~user/.vimrc /root/
ln -s ~user/.zshenv /root/
ln -s ~user/.zlogin /root/
ln -s ~user/.zshrc /root/
前一种方法
之前,我使用 sudo 命令和 -E 来保护环境。因此,root 用户在交互式 shell 中使用标准用户主目录并读取相应的点文件。
它有效,但是:
- 一些文件可以在标准用户目录中创建,所有者为 root
- 有些命令不允许(或警告我)使用所有者不是当前用户的目录中的文件(这显然是出于安全原因)。因此,以 root 身份执行这些命令是有问题的。
更好的方法?
最简单的方法是将共享设置放在系统范围的配置文件中(/etc/zshrc、/etc/vimrc)。
但我想将所有设置保留在我的主目录中,在那里我可以使它们与 Git 远程存储库保持同步。这样,我可以轻松地将它们部署到新计算机上。
由于我目前的方法很乏味,而前者令人愉快但有问题, 有没有更好的方法让 root 使用我当前的配置文件?
最佳答案
我通常做的是在 git 存储库中包含一个部署脚本。然后我使用 sudo 调用该脚本。然后该脚本使用 root 凭据运行并在 root 帐户或全局更新点文件。
我让安装脚本尽可能轻便,除了 shell 和核心实用程序(所以没有 rsync
)之外没有依赖项。
关于linux - 与 root 用户共享点文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42366638/