ホームページ >運用・保守 >Linuxの運用と保守 >Linux での sudo ネットワーク権限に関するサンプルコードの共有
この記事では、Linuxのsudoネットワーク権限の詳細な説明に関する関連情報を主に紹介します。必要な方は、
Linux
ネットワークプロキシが設定されているサーバーのsudoネットワーク権限の詳細な説明を参照してください。 up、現在のユーザーで実行 ネットワークアクセスには問題ありませんが、sudo経由でコマンドを実行すると「ネットワーク接続がありません」エラーが発生します。
バックグラウンド
ネットワークプロキシが設定されているサーバーの場合、現在のユーザーでネットワークアクセスを実行する場合は問題ありませんが、sudoでコマンドを実行すると「ネットワーク接続がありません」エラーが発生します。
通常の権限では、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'
解決策
なぜこのような状況が起こるかというと、sudoコマンドは一般ユーザーがスーパーユーザー権限でツールを使用できるようにするために使用されていますが、環境変数から継承していないためです。ネットワーク プロキシの設定は、http_proxy や https_proxy などの環境変数を設定することで実現されます。そのため、sudo後はネットワークプロキシが失われ、当然ネットワーク接続ができなくなります。この問題を解決するには、sudo の設定ファイルを変更する必要があります。 sudo 設定ファイルを変更するには特別なコマンドとメソッドがあります
sudo 設定ファイルに、Defaults env_keep += "http_proxy https_proxy" を追加します。この行は、sudo コマンドを使用するときに、後でリストされる環境変数を保存することを示します。
りー以上がLinux での sudo ネットワーク権限に関するサンプルコードの共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。