Я нахожусь за прокси-сервером и мне нужно указать параметры аутентификации для доступа в интернет. Для этого я экспортировал свое имя пользователя, пароль, хост и 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/";
Это делает мой пароль видимым для всех, кто имеет доступ на чтение этих файлов.
Существует ли безопасный способ передачи этих параметров приложениям, которым требуются параметры аутентификации прокси-сервера, без необходимости записи в такой удобной для восприятия форме?
Примечание:Было бы неплохо узнать о постоянных методах. Я знаю, что могу сделать это временно, экспортируя каждый раз, когда открываю новую сессию. Но мне придется делать это каждый раз, когда открываю новую сессию, чего я хочу избежать.
решение1
Извините за длинный ответ, но apt.conf
это очень деликатный вопрос системы. Поэтому необходимо прояснить все аспекты.
Насколько я знаю ~/.bashrc
и /etc/apt/apt.conf
принимаю ваши настройки прокси только если они даны в удобной для чтения форме, максимум, что вы можете заставить их читать из других файлов. Я собираюсь этим воспользоваться. Я буду хранить учетные данные прокси в файлах, которые недоступны никому, кроме пользователя root/sudoer. Но нужно раскрывать настройки прокси для apt-get
и/или software-center
перед их использованием каждый раз.
Безопасный способ предоставления прокси-сервера для оболочки
Резатьвсе содержимоекоторый вы вставляете в свой ~/.bashrc
, чтобы предоставить настройки прокси в среде оболочки и вставить в файл, скажем ~/.mybashproxy
. Измените ~/.mybashproxy
владельца на root и удалите разрешение на чтение и запись для группы и других, чтобы только пользователи sudo могли получить к ним доступ.
sudo chown root:root ~/.mybashproxy
sudo chmod go-rw ~/.mybashproxy
Создайте следующий псевдоним в ~/.bashrc
или в ~/.bash_aliases
, я бы предпочел использовать последний.
alias begin_proxy='sudo cat .mybashproxy > .tmp; source .tmp; rm .tmp'
Применение
Вам необходимо включить прокси в вашей оболочке с помощью begin_proxy
команды из терминала, указав свой sudo
пароль. Таким образом, никто не узнает ваши учетные данные прокси. Но после использования, 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
затем скопируйте нужный контент и сохраните файл. Удалите разрешение на чтение и запись /etc/apt/myproxy.txt
для группы и других, как показано выше, используя chmod
.
Создайте временный файл с именем, скажем, 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
терминал. В конце истории у вас будет три псевдонима, которые можно использовать:
begin_proxy
- для запуска прокси в среде оболочки. Длится до тех пор, пока открыт терминал.able_apt
- включитьapt-get
и/илиsoftwere-center
сохранить учетные данные прокси-сервера в/etc/apt/tmproxy.txt
disable_apt
- отключитьapt-get
и/илиsoftwere-center
удалить учетные данные прокси-сервера/etc/apt/tmproxy.txt
Надеюсь, это будет полезно.