Linux

如何從另一個使用者訪問 root 中定義的環境變數?

  • January 20, 2022

test在 user 中定義了一個環境變數root。我可以root使用以下命令訪問內部使用者:

echo $test

現在我切換到另一個使用者myuser使用su - myuser. 現在如何訪問test變數myuser

這是我正在嘗試做的一個例子: 在此處輸入圖像描述

如果您使用GNU bash(作為 Linux 上的登錄 shell),並且如果您希望FOO每個使用者設置一些環境變數以字元串值bar,您可以在文件中/etc/bash.bashrc(接近末尾)添加幾行,例如:

# to be added in /etc/bash.bashrc
export FOO=bar

有關更多資訊,請參閱§6.2 Bash 啟動文件

當然,您需要root 權限才能編輯(一次,例如/usr/bin/sudo /usr/bin/emacs /etc/bash.bashrc 在某些終端中)該/etc/bash.bashrc文件。

您還可以選擇使用其他登錄 shell,例如zshfish。您需要安裝他們的軟體包並使用chsh(1)更改/etc/passwd條目(另請參閱passwd(5)shells(5)/etc/shells中記錄的文件)。他們有不同的方法來做同樣的事情。

如果該文件/root/.bashrc是世界可讀的(這可能是網路安全風險),您可以使用帶有grep(1)gawk(1)的eval內置命令,使用命令替換

隨時通過電子郵件向basile@starynkevitch.net(法國巴黎附近)詢問更多資訊。

引用自:https://unix.stackexchange.com/questions/687018