Users
試圖通過將其他使用者添加到路徑中來執行 /root/ 中的程序
具體來說,我正在使用Miniconda 發行版
conda
的命令部分。碰巧安裝程序將文件放入./root/miniconda3/
問題是
/root/miniconda3/bin
在路徑中,但該命令conda
只能由 root 執行,不能由其他 sudoer 執行。我試圖設置權限
777
(我知道這很糟糕,因為它包含編譯器和東西,並且它在根目錄下,但這僅適用於測試環境)。注意:我擁有 root 和 sudoer。
sudo conda
除非設置了該選項,否則不一定會執行/root/.bash_profile
,而是您的原始帳戶。/etc/sudoers``always_set_home
這是設計使然:它允許同一系統上的多個管理員成為 root 並且仍然保持他們的個人 shell 環境偏好。
此外,由於在以目標使用者身份執行命令之前
sudo
始終將環境變數重置為標準預設值,因此您作為原始使用者的設置將不會保留在.PATH``PATH``sudo
在這種情況下,您需要在使用 shell執行命令之前
sudo
設置命令,以便 PATH 設置生效並找到它的其他配置文件:HOME=/root``conda``/root/.bash_profile``conda
$HOME/.condarc
文件$HOME/.conda/
目錄$HOME/.continuum/
目錄為此,請執行
sudo -H conda
orsudo -i conda
而不是sudo conda
.