Обложка канала

ServerAdmin.ru

12437 @srv_admin

Авторская информация о системном администрировании.

ServerAdmin.ru

4 года назад
Открыть в
В Linux есть необычное псевдоустройство /dev/urandom для генерации псевдослучайных чисел. Его много где используют. Например, забить какой-то диск случайными данными для полного удаления предыдущей информации: # dd if=/dev/urandom of=/dev/sda3 С помощью /dev/urandom удобно генерировать пароли с заданной длиной и сложностью. Пример простого пароля из 8 символов, с строчными и заглавными буквами: # < /dev/urandom tr -dc 'a-zA-Z' | fold -w 8 | head -n 1 Добавляем сюда цифры и увеличиваем длину: # < /dev/urandom tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1 Добавляем некоторые спецсимволы и ещё увеличиваем длину: # < /dev/urandom tr -dc 'a-zA-Z0-9#!@' | fold -w 12 | head -n 5 Меняя параметр head можно генерировать сразу несколько паролей. Например, всегда выводить по 5 паролей и выбирать тот, что больше нравится. Можно добавить алиас в .bashrc, чтобы быстро генерировать пароли: alias randpw='< /dev/urandom tr -dc 'a-zA-Z0-9#!@' | fold -w 12 | head -n 5' Перечитываем .bashrc и проверяем: # source .bashrc # randpw oDQ7Fw@a#QhJ 364UG@j8T1Mm UxwRZU9K1bIH GfToKOi#fmgl ZB!Qv6eI#cp5 Удобный функционал. Я лично не люблю генераторы, где нельзя исключить некоторые спецсимволы. Никогда не ставлю в пароли доллар, палочки разные и т.д. С ними иногда бывают проблемы. А вы как генерируете пароли? Если кто-то знает, подскажите, как в примерах с urandom сделать так, чтобы в каждом пароле обязательно присутствовал спецсимвол, число и буква. Я не могу сообразить, как это сделать. В текущем варианте это всё рандомно и иногда спецсимволов нет, поэтому приходится по несколько паролей выводить, чтобы точно получить нужный. #bash #linux