Linux 下sudo網(wǎng)絡權限詳解
對于設置了網(wǎng)絡代理的服務器,在當前用戶下執(zhí)行網(wǎng)絡訪問沒有問題,但通過sudo執(zhí)行命令時,就會出現(xiàn)“無網(wǎng)絡連接”的錯誤。
背景
對于設置了網(wǎng)絡代理的服務器,在當前用戶下執(zhí)行網(wǎng)絡訪問沒有問題,但通過sudo執(zhí)行命令時,就會出現(xiàn)“無網(wǎng)絡連接”的錯誤。
普通權限下,wget成功。
# wget https://github.com
--2016-12-08 09:00:43-- https://github.com/
Connecting to 109.105.113.200:8080... connected.
Proxy request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html'
2016-12-08 09:01:03 (1.33 KB/s) - ‘index.html' saved [25692]
使用sudo命令后,連接失敗。
# sudo wget https://github.com
--2016-12-08 09:01:41-- https://github.com/
Resolving github.com (github.com)... failed: Name or service not known.
wget: unable to resolve host address ‘github.com'
解決方案
出現(xiàn)這種情況的原因,是因為sudo命令的作用是為了允許普通用戶使用超級用戶權限的工具,但卻沒有繼承來自環(huán)境變量。而網(wǎng)絡代理的設置,是通過設置http_proxy,https_proxy等環(huán)境變量來實現(xiàn)的。因此,sudo后也就失去了網(wǎng)絡代理,自然也就沒有了網(wǎng)絡連接。為了解決該問題,我們需要修改sudo的配置文件。修改sudo的配置文件有特殊的命令和方法,具體參考https://www.jb51.net/article/113902.htm,我這里不做詳細介紹了。
在sudo的配置文件中,增加Defaults env_keep += "http_proxy https_proxy"。該行表示使用sudo命令時,保存后面列出的環(huán)境變量。
增加配置后,sudo可訪問網(wǎng)絡。
# sudo wget https://github.com
--2016-12-08 09:02:52-- https://github.com/
Connecting to 109.105.113.200:8080... connected.
Proxy request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html.1'
2016-12-08 09:02:56 (20.1 KB/s) - ‘index.html.1' saved [25692]
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
您可能感興趣的文章:- linux系統(tǒng)sudo命令詳解
- 詳解Linux下的sudo及其配置文件/etc/sudoers的詳細配置
- linux sudo命令詳解
- java在linux系統(tǒng)下開機啟動無法使用sudo命令的原因及解決辦法
- Linux用戶配置sudo權限(visudo)的方法
- Linux 添加普通用戶到 sudo 列表的方法
- Linux系統(tǒng)中掩耳盜鈴的sudo配置
- Linux中利用sudo進行賦權的方法詳解
- Linux系統(tǒng)中sudo命令的十個技巧總結