Я пытаюсь на лету сгенерировать случайные и безопасные пароли для различных файлов конфигурации и настроек, когда я запускаю сценарий автоматического развертывания. Я хочу, чтобы они были сгенерированы, показаны пользователю, использованы как часть развертывания, а затем отброшены.
Вот что я делал:
# FUNCTION TO GENERATE A RANDOM STRING
function randpass() {
[ "$2" == "0" ] && CHAR="[:alnum:]" || CHAR="[:graph:]"
cat /dev/urandom | tr -cd "$CHAR" | head -c ${1:-32}
echo
}
$NOW = $(date +"%m-%d-%Y") || echo ="Time = $now"
$APPKEY = randpass(20) || echo "Secret key = $APPKEY"
read -p "Copied down?" -n1 -s
Я новичок в администрировании оболочки и Linux, поэтому приветствую любую помощь.
Джеймс
Я использую такой подход:
PASSWORD=$(strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 12 | tr -d '\n'; echo)
С моей точки зрения, сгенерированные пароли достаточно безопасны, но я не специалист по криптографии.
Переменные хранятся только в контексте сценария до тех пор, пока вы не используете «источник» для его выполнения. Если вы это сделаете, вы можете использовать "unset PASSWORD", чтобы удалить содержимое переменной.
* pwgen, конечно, хорош, но вы можете столкнуться с ситуацией, когда вы просто не можете его установить / использовать, я делал это довольно часто.
1) Да, используйте что-то вроде pwgen, которое позволяет настраивать пароли (например, какие наборы символов включать, длину, общее количество сгенерированных паролей и т. Д.).
2) YMMV
3) поскольку вы их не экспортируете, нет.