プロキシサーバーの背後にいるため、インターネットにアクセスするには認証パラメーターを指定する必要があります。このため、ユーザー名、パスワード、ホスト、port_noを/home/$USER/.bashrc
ファイルと/etc/apt/apt.conf
ファイルにエクスポートしました。これらは人間が読める形式です。
例えば
Acquire::http::proxy "http://<username>:<password>@172.16.0.2:8080";
Acquire::ftp::proxy "ftp://<username>:<password>@172.16.0.2:8080/";
Acquire::https::proxy "https://<username>:<password>@172.16.0.2:8080/";
これにより、これらのファイルへの読み取りアクセス権を持つすべてのユーザーが自分のパスワードを公開することができます。
そのような人間が読める形式で記述する必要なく、プロキシ認証パラメーターを必要とするアプリケーションにこれらのパラメーターを渡す安全な方法はありますか?
注:永続的なメソッドを知っておくとよいでしょう。新しいセッションを開くたびにエクスポートすることで、一時的にこれを実行できることを知っています。しかし、新しいセッションを開くたびにこれを行う必要があります。これは避けたいです。
長い回答を書いてすみませんが、apt.conf
はシステムの非常にデリケートな問題です。したがって、すべての側面をクリアする必要があります。
~/.bashrc
と/etc/apt/apt.conf
が知っている限り、プロキシ設定が人間が読める形式で与えられた場合にのみ、プロキシ設定を受け入れますが、せいぜい異なるファイルからそれらを強制的に読み取ることができます。これを悪用します。 root/sudoerユーザー以外にはアクセスできないファイルのプロキシ資格情報を保持します。ただし、毎回使用する前に、プロキシ設定をapt-get
および/またはsoftware-center
に公開する必要があります。
プロキシをシェル環境に提供する安全な方法
カット すべての内容 シェル環境でプロキシ設定を提供するために~/.bashrc
に入れ、~/.mybashproxy
などのファイルに貼り付けます。 ~/.mybashproxy
所有権をルートに変更し、sudoerのみがそれらにアクセスできるように、グループおよびその他の読み取り/書き込み許可を取り除きます。
Sudo chown root:root ~/.mybashproxy
Sudo chmod go-rw ~/.mybashproxy
~/.bashrc
または~/.bash_aliases
に次のエイリアスを作成します。後者を使用したいと思います。
alias begin_proxy='Sudo cat .mybashproxy > .tmp; source .tmp; rm .tmp'
使用法
Sudo
パスワードを提供するターミナルからのbegin_proxy
コマンドにより、シェル環境でプロキシを有効にする必要があります。この方法では、誰もあなたのプロキシ認証情報を知りません。ただし、begin_proxy
を使用した後、同じ端末へのアクセスを許可すると、端末でenv | grep proxy
コマンドを使用して資格情報を表示できる場合があります。安全のため、begin_proxy
を使用した端末と同じ端末を誰も使用できないようにしてください。
apt-getにプロキシを提供する安全な方法
apt-get
およびsoftware-center
は、ファイル/etc/apt.conf
を使用してプロキシ設定を保持します。ファイルを作成します/etc/apt/myproxy.txt
および コンテンツを入れる ターミナルから/etc/apt/apt.conf
を開いて、
Sudo gedit /etc/apt/myproxy.txt
次に、目的のコンテンツをコピーして、ファイルを保存します。 chmod
を使用して、上記のようにグループおよびその他の/etc/apt/myproxy.txt
の読み取り/書き込み許可を削除します。
Say tmproxy.txt
at /etc/apt/
という名前の一時ファイルを作成し、次のようにすべての読み取り/書き込み許可を与えます。
Sudo touch /etc/apt/tmproxy.txt
Sudo chmod go+rw /etc/apt/tmproxy.txt
必要に応じて、プロキシ設定をapt-get
およびsoftware-center
から提供します。 /etc/apt/apt.conf
に次の行を追加して、/etc/apt/tmproxy.txt
からプロキシ設定を読み取ります。
#inclued /etc/apt/tmproxy.txt;
上記の行/etc/apt/apt.conf
には何も含まれていないことを除いて。 ~/.bash_aliases
に次のエイリアスを作成します
alias able_apt='Sudo cat /etc/apt/myproxy.txt > /etc/apt/tmproxy.txt'
alias disable_apt='echo "0;" > /etc/apt/tmproxy.txt'
使用法
apt-get
やsoftware-center
を使用する前に、able_apt
コマンドを使用してSudo
パスワードを指定する必要があります。その後、すべてのプロキシ認証情報が/etc/apt/tmproxy.txt
に保存され、apt-get
および/またはsoftware-center
がそれを使用できるようになります。 software-center
を閉じるか、apt-get
を使用して/etc/apt/tmproxy.txt
からプロキシ認証情報を消去した後、コマンドdisable_apt
を使用します。このプロセスでは、/etc/apt/tmproxy.txt
の使用を忘れてdisable_apt
にプロキシ資格情報を残さない限り、誰もプロキシ資格情報を見ることができません。
注と要約
disable_apt
では、ゼロの後のセミコロン(;
)が重要です。そうでない場合は、 エラー「ファイルの終わりに余分なジャンク」 赤いエラーアイコンが上部に表示されることもあります右パネル。~/.bash_aliases
がない場合は作成します。 source ~/.bashrc
は、~/.bashrc
に次の行が含まれていることを確認してから、 if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
source ~/.bash_aliases
を使用できます。ストーリーの最後には、使用する3つのエイリアスがあります。
begin_proxy
-シェル環境でプロキシを開始します。ターミナルが開くまで続きます。able_apt
-apt-get
および/またはsoftwere-center
を有効にし、プロキシ認証情報を/etc/apt/tmproxy.txt
に保存しますdisable_apt
-apt-get
および/またはsoftwere-center
を無効にし、/etc/apt/tmproxy.txt
からプロキシ認証情報を消去するこれが役に立てば幸いです。