日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

centos7 ifconfig命令找不到_分享一个解决 sudo 命令找不到环境变量的小技巧

發布時間:2025/3/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 centos7 ifconfig命令找不到_分享一个解决 sudo 命令找不到环境变量的小技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
公眾號關注?「奇妙的 Linux 世界」設為「星標」,每天帶你玩轉 Linux !

如何解決 sudo 命令找不到環境變量的問題

在通過 sudo 運行命令時,系統會默認重置環境變量為安全的環境變量,也就是說,先前設置的變量都會失效,只有少數配置文件中指定的環境變量能夠保存下來。

sudo 的配置文件是 /etc/sudoers,需要 root 權限才能讀取,運行以下命令:

$ sudo sed '/^#/d;/^$/d' /etc/sudoers

sudo 的配置如下圖所示:

sudo 配置文件

請注意:

  • 第 3 行的 Defaults env_reset 表示默認會重置環境變量,因此自定義的變量會在 sudo 環境中失效,也就不會獲取正確的變量值。

  • 第 4 行至第 8 行的 env_keep 配置項,用于保留部分環境變量不被重置,需要保留的變量就寫入雙引號之中。

  • 第 9 行的 secure_path 配置項,其中包含的路徑將被當做 sudo 環境的 PATH 變量使用,如果在 sudo 環境無法找到某些命令,那么可以將這些命令的路徑加入該配置項之中。

綜上所述,sudo 命令找不到環境變量或命令的問題,有三種解決方法:

  • sudo -E
  • 加上 -E ?選項后,用戶可以在 sudo ?執行時保留當前用戶已存在的環境變量,不會被 sudo 重置。另外,如果用戶對于指定的環境變量沒有權限,則會報錯。

  • 修改 sudo 配置文件
  • 在內部測試機器中,安全性要求不高,總是需要加上 -E 參數來執行腳本,這個安全設定也不是很方便。因此,可以通過修改 /etc/sudoers 文件的 env_keep 和 secure_path 配置項,來指定 sudo 環境中需要保留的環境變量和路徑。

    當然你也可以用更簡單粗暴的方式:直接將 Defaults env_reset 改成 Defaults !env_reset 來取消掉對 PATH 變量的重置,然后在 .bashrc 中最后添加 alias sudo='sudo env PATH=$PATH'。這樣 sudo 執行命令時所搜尋的路徑就是系統的 PATH 變量中的路徑,如果你想添加其他變量方法也是類似。

  • 手動添加變量
  • 手動在腳本中設置所需的變量,在執行 sudo 腳本前先將所需要的變量寫入到需要執行的腳本開頭。

    參考文檔

  • https://www.google.com

  • http://ghoulich.xninja.org/2017/05/09/how-to-find-env-variables-when-exec-sudo-commands/

  • http://www.ibm.com/developerworks/cn/aix/library/au-sudo/index.html

  • 你可能還喜歡

    點擊下方圖片即可閱讀

    女朋友通過我畫的 12 張圖,學會了 Kubernetes,我是不是棒棒噠!

    點擊上方圖片,打開小程序,加入「玩轉 Linux」圈子

    更多有趣的互聯網新鮮事,關注「奇妙的互聯網」視頻號全了解!

    總結

    以上是生活随笔為你收集整理的centos7 ifconfig命令找不到_分享一个解决 sudo 命令找不到环境变量的小技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。