Linux 下sudo網(wǎng)絡(luò)權(quán)限詳解
對(duì)于設(shè)置了網(wǎng)絡(luò)代理的服務(wù)器,在當(dāng)前用戶下執(zhí)行網(wǎng)絡(luò)訪問沒有問題,但通過sudo執(zhí)行命令時(shí),就會(huì)出現(xiàn)“無網(wǎng)絡(luò)連接”的錯(cuò)誤。
背景
對(duì)于設(shè)置了網(wǎng)絡(luò)代理的服務(wù)器,在當(dāng)前用戶下執(zhí)行網(wǎng)絡(luò)訪問沒有問題,但通過sudo執(zhí)行命令時(shí),就會(huì)出現(xiàn)“無網(wǎng)絡(luò)連接”的錯(cuò)誤。
普通權(quán)限下,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)這種情況的原因,是因?yàn)閟udo命令的作用是為了允許普通用戶使用超級(jí)用戶權(quán)限的工具,但卻沒有繼承來自環(huán)境變量。而網(wǎng)絡(luò)代理的設(shè)置,是通過設(shè)置http_proxy,https_proxy等環(huán)境變量來實(shí)現(xiàn)的。因此,sudo后也就失去了網(wǎng)絡(luò)代理,自然也就沒有了網(wǎng)絡(luò)連接。為了解決該問題,我們需要修改sudo的配置文件。修改sudo的配置文件有特殊的命令和方法,具體參考https://www.jb51.net/article/113902.htm,我這里不做詳細(xì)介紹了。
在sudo的配置文件中,增加Defaults env_keep += "http_proxy https_proxy"。該行表示使用sudo命令時(shí),保存后面列出的環(huán)境變量。
增加配置后,sudo可訪問網(wǎng)絡(luò)。
# 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]
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
您可能感興趣的文章:- linux系統(tǒng)sudo命令詳解
- 詳解Linux下的sudo及其配置文件/etc/sudoers的詳細(xì)配置
- linux sudo命令詳解
- java在linux系統(tǒng)下開機(jī)啟動(dòng)無法使用sudo命令的原因及解決辦法
- Linux用戶配置sudo權(quán)限(visudo)的方法
- Linux 添加普通用戶到 sudo 列表的方法
- Linux系統(tǒng)中掩耳盜鈴的sudo配置
- Linux中利用sudo進(jìn)行賦權(quán)的方法詳解
- Linux系統(tǒng)中sudo命令的十個(gè)技巧總結(jié)