Я нахожусь за прокси-сервером и должен указать параметры аутентификации для доступа в Интернет. Для этого я экспортировал свое имя пользователя, пароль, хост и номер_порта в мой файл /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
на root и лишите права на чтение и запись для группы и других пользователей, чтобы к ним могли обращаться только sudoers.
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
.
Создайте временный файл с именем say tmproxy.txt
в /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
Надеюсь, это будет полезно.