Скрыть экспортированные переменные ENV из истории
Привет, рад присоединиться к вашему сообществу. Это мой первый пост, поэтому начну с простого, но полезного. Возможно, вы еще не знаете об этом.
Когда вы работаете с сервером Linux, иногда вы экспортируете некоторые переменные среды. Некоторые окружения могут быть нейтральными, например NODE_ENV=production или что-то еще, но иногда они должны быть безопасными, например GITHUB_API_KEY или MYSQL_PASSWORD.
Проблема в том, что если кто-то получит доступ к серверу bash и введет команду history, он увидит секреты:
...
1989 export MYSQL_PASSWORD=my_secret_mysql_password
...
2000 history
На всякий случай перед работой с bash экспортируйте переменную среды управления историей Linux, которая называется HISTCONTROL.
$ export HISTCONTROL=ignorespace
ignorespace означает, что если вы оставите пробел перед любой командой bash, она будет проигнорирована в истории.
Поэтому при экспорте секретной переменной среды введите пробел перед export
$ export HISTCONTROL=ignorespace
# keep in mind the space before export
$ export MYSQL_PASSWORD=my_secret_mysql_password
$ history
Итак, теперь пароль Mysql будет игнорироваться в истории.
...
1999 export HISTCONTROL=ignorespace
2000 history
Этот метод предназначен не только для переменных среды, он также может скрыть любую команду bash, даже сам export HISTCONTROL=ignorespace.
Удачи и будь осторожен! :)
Подписывайтесь на Twitter, GitHub и давайте общаться на LinkedIn.
Первоначально опубликовано на https://dev.to 30 января 2020 г.