【问题标题】:How to source another .bashrc from root user如何从 root 用户获取另一个 .bashrc
【发布时间】:2015-08-11 22:55:09
【问题描述】:

我通常使用一个名为“Jason”的用户/帐户,并且我会定期在该用户中更新我的 .bashrc。我偶尔会在我的计算机中使用 root 用户(我使用的是 MacBook),我的 .bashrc 在那里无法访问,这非常烦人。有什么方法可以让 root 用户自动获取位于“Jason”用户中的 .bashrc?

我尝试简单地将“源用户/Jason/.bashrc”放在根 .bashrc 中,但这不起作用。错误是该文件不存在;我的问题是 root 用户位于 /var/root/ 中,我正在尝试获取 /Users/Jason/。有什么办法可以克服吗?

提前致谢。

编辑:我是个白痴。我错过了一个斜线。 “源 /Users/Jason/.bashrc” 有效。

【问题讨论】:

  • 你少了一个斜线。 source /Users/Jason/.bashrc.
  • 顺便提一下,这是非常糟糕的做法。它基本上允许特权升级攻击:非特权进程写入您的~/.bashrc,然后当您打开交互式 root shell 时,命令会以 root 身份运行。
  • 我在提交问题后很快就发现了我的错误,哈哈。我觉得自己像个白痴。至于你的另一点,你还有什么建议?使用root用户时有没有其他方法可以自动加载我的普通.bashrc?
  • "有没有其他方法可以自动加载..." 重点是自动加载你正常的.bashrc是不安全的。我为我的 zsh runco​​ms 所做的(同样适用于 bash 和其他 shell)是在 dotfile 存储库中管理它们,并将它们符号链接到 HOME。然后我也会在 root 用户的家中克隆一个副本。每次我的 runco​​m 更改时,我都会将它们推送到 GitHub,我可以稍后从 root shell 中拉取。这样,每一次更改都需要您的明确参与和同意,并且无法注入恶意代码。
  • 如果这样做了,最好运行chmod 600 /root/.bashrc,这样任何没有特权的人都无法知道这件事正在发生。但当然,这是通过默默无闻的安全。

标签: macos bash terminal root .bash-profile


【解决方案1】:

使用sudo bash,它使用您的.bashrc 启动一个新shell,但以root 运行它。

【讨论】:

  • 感谢您提供的信息 - 我不知道。但它并没有真正回答我的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-14
  • 2021-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-01
  • 2016-03-16
相关资源
最近更新 更多