<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          分享一個解決 sudo 命令找不到環(huán)境變量的小技巧

          共 1491字,需瀏覽 3分鐘

           ·

          2020-07-27 18:48



          點擊「閱讀原文」查看良許原創(chuàng)精品視頻。

          作者:Mike

          來自:奇妙的Linux世界

          如何解決 sudo 命令找不到環(huán)境變量的問題

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

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

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

          sudo 的配置如下圖所示:

          sudo 配置文件

          請注意:

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

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

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

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

          1. sudo -E

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

          1. 修改 sudo 配置文件

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

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

          1. 手動添加變量

          手動在腳本中設置所需的變量,在執(zhí)行 sudo 腳本前先將所需要的變量寫入到需要執(zhí)行的腳本開頭。

          參考文檔

          1. https://www.google.com

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

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


          良許個人微信


          添加良許個人微信即送3套程序員必讀資料


          → 精選技術資料共享

          → 高手如云交流社群





          本公眾號全部博文已整理成一個目錄,請在公眾號里回復「m」獲取!

          推薦閱讀:

          常用算法復雜度速查表,蹲坑的功夫都能背

          Linux cut 命令詳解

          5個基本Linux命令行工具的現(xiàn)代化替代品


          5T技術資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機,樹莓派,等等。在公眾號內回復「1024」,即可免費獲取!!



          瀏覽 95
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久夜色视频网 | 88国产精品视频一区二区三区 | 黄色视频免费国产 | 国产精品久久久久久久曹县翰林府 | www精品 |