Отключить проверку сложности пароля ubuntu

Обновлено: 07.07.2024

Кажется, что я случайно загрузил плагин проверки пароля в MySQL 5.7. Этот плагин, похоже, заставляет все пароли соответствовать определенным правилам.

Я хотел бы выключить это.

Я попытался изменить переменную validate_password_length, как было предложено здесь безрезультатно.

Я хотел бы либо выгрузить плагин, либо кастрировать его как-то.

вот что я делаю, чтобы удалить плагин проверки пароля:

  1. войдите на сервер mysql как root mysql -h localhost -u root -p
  2. выполните следующую команду sql: uninstall plugin validate_password;

основываясь на ответе от Sharfi, отредактируйте /etc/my.cnf-файл и добавьте только одну строку:

Это должно достаточно нейтрализовать валидацию, как того требует ОП. Вероятно, вы захотите перезапустить mysqld после этого изменения. В зависимости от вашей ОС, это будет выглядеть примерно так:

validate_password_policy принимает значения 0, 1 или 2 или слова LOW, MEDIUM и STRONG, которые соответствуют этим числам. Значение по умолчанию-MEDIUM (1), которое требует пароли содержать как минимум одну заглавную букву, одну строчную букву, одну цифру и один специальный символ, и что общая длина пароля не менее 8 символов. Изменение на LOW, как я предлагаю здесь, только проверит длину, которая, если она не была изменена через другие параметры, проверит длину 8. Если вы хотите сократить этот предел длины, вы также можете добавить validate_password_length в my.cnf файл.

подробнее о уровни и детали, см. MySQL doc.

для MySQL 8 свойство изменилось с " validate_password_policy "на" validate_password.политика." Смотрите обновленное mysql doc для получения последней информации.

Я использую MySQL v 8.0.12 и команду отключить компонент проверки пароля:

чтобы установить его обратно, команда:

Если вы просто хотите изменить политика плагина проверки пароля:

чтобы отключить проверку паролей в mariadb-10.1.24 (Fedora 24), мне пришлось прокомментировать строку в / etc / my.cnf.d / cracklib_password_check.cnf:

затем перезапустите службу mariadb:

вы можете настроить это в файле конфигурации mysql открыть В этом файле все строки, которые настраивают политику паролей, комментируются как

раскомментируйте и измените значение свойств, которые вы хотите изменить.

если вы хотите сделать исключения, вы можете применить следующий "hack". Для этого требуется пользователь с DELETE и INSERT привилегия mysql.plugin системная таблица.

мягкий отказ от ответственности безопасности: подумайте, почему вы делаете свой пароль короче или проще и, возможно, рассмотреть вопрос о замене его на более сложный. Тем не менее, я понимаю, что "это 3 утра и просто нужно работать" моменты, просто убедитесь, что вы не строите систему хаков, чтобы вы сами будете взломаны

далее к ответу от ktbos:

Я изменил mysqld.не удалось запустить cnf-файл и mysql. Оказалось, что я изменял не тот файл!

поэтому убедитесь, что файл, который вы изменяете, содержит теги сегмента, такие как [mysqld_safe] и [mysqld]. Под последним я сделал, как было предложено, и добавил строку:

это отлично сработало, чтобы решить мою проблему, не требующую специальных символов в пароле.

у меня была проблема на Ubuntu 18.04 на Mysql. Когда мне нужно было создать нового пользователя, политика всегда была высокой.

способ, которым я понял, как отключить, для будущих коллег,которые приходят исследовать, был установлен на низкий.

И снова здравствуйте! Уже завтра начинаются занятия в новой группе курса «Администратор Linux», в связи с этим публикуем полезную статью по теме.


В прошлом туториале мы рассказывали, как использовать pam_cracklib , чтобы усложнить пароли в системах Red Hat 6 или CentOS. В Red Hat 7 pam_pwquality заменила cracklib в качестве pam модуля по умолчанию для проверки паролей. Модуль pam_pwquality также поддерживается в Ubuntu и CentOS, а также во многих других ОС. Этот модуль упрощает создание политик паролей, чтобы удостовериться, что пользователи принимают ваши стандарты сложности паролей.

Долгое время обычным подходом к паролям было заставить пользователя использовать в них символы верхнего и нижнего регистра, цифры или иные символы. Эти базовые правила сложности паролей активно пропагандируются в последние десять лет. Было множество дискуссий о том, является это хорошей практикой или нет. Основным аргументом против установки таких сложных условий было то, что пользователи записывают пароли на бумажках и небезопасно хранят.

Другая политика, которая недавно была поставлена под сомнение, заставляет пользователей менять свои пароли каждые x дней. Были проведены некоторые исследования, которые показали, что это также наносит ущерб безопасности.

На тему этих дискуссий было написано множество статей, которые обосновывали ту или другую точку зрения. Но это не то, что мы будем обсуждать в этой статье. Эта статья расскажет о том, как корректно задать сложность пароля, а не управлять политикой безопасности.

Параметры политики паролей

Ниже вы увидите параметры политики паролей и краткое описание каждого из них. Многие из них схожи с параметрами в модуле cracklib . Такой подход упрощает портирование ваших политик из старой системы.

  • difok – Количество символов в вашем новом пароле, кототрые НЕ должны присутствовать в вашем старом пароле. (По умолчанию 5)
  • minlen – Минимальная длина пароля. (По умолчанию 9)
  • ucredit – Максимальное количество кредитов за использование символов верхнего регистра (если параметр > 0), или минимальное требуемое число символов верхнего регистра (если параметр < 0). По умолчанию 1.
  • lcredit — Максимальное количество кредитов за использование символов нижнего регистра (если параметр > 0), или минимальное требуемое число символов нижнего регистра (если параметр < 0). По умолчанию 1.
  • dcredit — Максимальное количество кредитов за использование цифр (если параметр > 0), или минимальное требуемое число цифр (если параметр < 0). По умолчанию 1.
  • ocredit — Максимальное количество кредитов за использование иных символов (если параметр > 0), или минимальное требуемое количество иных символов (если параметр < 0). По умолчанию 1.
  • minclass – Устанавливает количество требуемых классов. Классы включают в себя вышеперечисленные параметры (символы верхнего регистра, нижнего регистра, цифры, иные символы). По умолчанию 0.
  • maxrepeat – Максимальное число повторений символа в пароле. По умолчанию 0.
  • maxclassrepeat — Максимальное количество последовательных символов в одном классе. По умолчанию 0.
  • gecoscheck – Проверяет, содержит ли пароле какие-либо слова из строк GECOS пользователя. ( Информация о пользователе, т.е. настоящее имя, местоположение и т.д.) По умолчанию 0 (выключено).
  • dictpath – Пусть к словарям cracklib.
  • badwords – Разделенные пробелом слова, которые запрещены в паролях (Название компании, слово «пароль» и т. д. ).

Конфигурация политики паролей

Перед тем, как начинать редактировать файлы конфигурации, хорошей практикой считается заранее записать базовую политику паролей. Например, мы будем использовать следующие правила сложности:

  • Пароль должен иметь минимальную длину 15 символов.
  • В пароле один и тот же символ не должен повторяться более двух раз.
  • В пароле классы символов могут повторяться до четырех раз.
  • Пароль должен содержать символы из каждого класса.
  • Новый пароль должен иметь 5 новых символов по сравнению со старым.
  • Включить проверку GECOS.
  • Запретить слова «password, pass, word, putorius»


Как вы могли заметить, некоторые параметры в нашем файле избыточны. Например, параметр minclass избыточен, поскольку мы уже задействуем как минимум два символа из класса, используя поля [u,l,d,o]credit . Наш список слов, которые нельзя использовать также избыточен, поскольку мы запретили повторение какого-либо класса 4 раза (все слова в нашем списке написаны символами нижнего регистра). Я включил эти параметры только, чтобы продемонстрировать, как использовать их для настройки политики паролей.
Как только вы создали свою политику, вы можете принудить пользователей сменить свои пароли при следующем их входе в систему.

Еще одна странная вещь, которую вы, возможно, заметили, заключается в том, что поля [u,l,d,o]credit содержат отрицательное число. Это потому что числа больше или равные 0 дадут кредит на использование символа в вашем пароле. Если поле содержит отрицательное число, это значит, что требуется определенное количество.

Что такое кредиты (credit)?

Я называю их кредитами, поскольку это максимально точно передает их назначение. Если значение параметра больше 0, вы прибавляете количество «кредитов на символы» равное «х» к длине пароля. Например, если все параметры (u,l,d,o)credit установить в 1, а требуемая длина пароля была 6, то вам понадобится 6 символов для удовлетворения требования длины, потому что каждый символ верхнего регистра, нижнего регистра, цифра или иной символ дадут вам один кредит.

Если вы установите dcredit в 2, вы теоретически сможете использовать пароль длиной в 9 символов и получить 2 кредита на символы для цифр и тогда длина пароля уже может быть 10.

Посмотрите на этот пример. Я установил длину пароля 13, установил dcredit в 2, а все остальное в 0.


Моя первая проверка провалилась, поскольку длина пароля была меньше 13 символов. В следующий раз я изменил букву “I” на цифру “1” и получил два кредита за цифры, что приравняло пароль к 13.

Тестирование пароля

Пакет libpwquality обеспечивает функционал, описанный в статье. Также с ним поставляется программа pwscore , которая предназначена для проверки пароля на сложность. Мы использовали ее выше, для проверки кредитов.

Утилита pwscore читает из stdin. Просто запустите утилиту и напишите свой пароль, она выдаст ошибку или значение от 0 до 100.

Показатель качества пароля соотносится с параметром minlen в файле конфигурации. В целом показатель меньше 50 рассматривается как «нормальный пароль», а выше – как «сильный пароль». Любой пароль, который проходит проверки на качество (особенно принудительную проверку cracklib ) должен выдержать атаки словаря, а пароль с показателем выше 50 с настройкой minlen по умолчанию даже brute force атаки.

Настройка pwquality – это легко и просто по сравнению с неудобствами при использовании cracklib с прямым редактированием файлов pam . В этом руководстве мы рассмотрели все, что вам понадобится при настройке политик паролей в Red Hat 7, CentOS 7 и даже систем Ubuntu. Также мы поговорили о концепции кредитов, о которых редко пишут подробно, поэтому эта тема часто оставалась непонятной тем, кто с ней ранее не сталкивался.

Шаг 1. Убедитесь, что у вас есть разрешения администратора

Изменения, которые мы будем делать, требуют от вас либо быть root, либо иметь разрешения «sudo». Получение разрешений sudo – это еще одно обсуждение. Но если вы хотите переключиться на root с любого другого пользователя, просто введите следующую команду:

Введите свой пароль root. Стоит отметить, что выполнение задач при входе в систему с правами root практически никогда не является хорошей идеей. Получите разрешения sudo и сделайте то, что вам нужно сделать!

Шаг 2: Проверка существующей минимальной длины

По умолчанию ваша текущая конфигурация пароля уже должна иметь минимальную длину. Для нашей установки это 8 символов. Вы можете проверить правильность любого пароля, используя следующую команду:

Нажмите «Enter» и введите пароль в следующую строку. Например:

Шаг 3. Откройте файл pwquality.conf

Все ваши требования к паролю указаны в следующем файле:

Наряду с минимальной длиной, он позволяет назначать различную степень важности для характеристик вашего пароля. Мы рассмотрим их чуть позже. Пока просто откройте его с помощью текстового редактора:

Теперь давайте установим минимальную длину

Шаг 4: Установите минимальную длину пароля

В текстовом редакторе прокрутите список до следующей строки:

Чтобы изменить минимальную длину, выполните следующие две задачи:

Поэтому, если вы хотите, чтобы минимальная длина составляла 10, измените minlen и другие, как показано ниже:

Шаг 5: Проверьте изменения

Теперь, когда мы снова используем команду «pwscore», вводится новая длина пароля. Вот доказательство:

На этом скриншоте мы используем пароль «qjtdysi7» – он сильнее, чем в прошлый раз. Поскольку мы установили «minlen» в 10, минимальная длина пароля теперь равна 9.

Шаг 6 (необязательно): настройка других параметров пароля

На шаге 4 мы отключили «credits», который дает точки паролей для таких вещей, как цифры, заглавные буквы и символы, отличные от предыдущего пароля. По умолчанию для них было «1», что означает, что каждый раз, когда вы используете один из этих символов, оценка добавляется к длине.

Если мы опустим шаг 4, он позволяет пользователям обходить минимальную длину, используя сочетание символов и цифр. Так, например, «minlen» of 9 может быть преодолен предыдущим паролем:

Хотя он имеет только 8 символов, он содержит цифры и строчные буквы. Это увеличивает оценку до 10 и, таким образом, соответствует нашим требованиям к паролю.

Вы можете настроить параметр «minlen» на большее число и дать людям дополнительную сложность пароля. Вы можете установить различные кредиты на отрицательное число, чтобы заставить вводить определенное количество символов. Значение «dcredit» -3 означает, что пароль должен содержать не менее 3 цифр.

Кажется, что я случайно загрузил плагин проверки пароля в MySQL 5.7. Этот плагин, похоже, заставляет все пароли соответствовать определенным правилам.

Я хотел бы выключить это.

Я попытался изменить переменную validate_password_length, как было предложено здесь безрезультатно.

Я хотел бы либо выгрузить плагин, либо кастрировать его как-то.

вот что я делаю, чтобы удалить плагин проверки пароля:

  1. войдите на сервер mysql как root mysql -h localhost -u root -p
  2. выполните следующую команду sql: uninstall plugin validate_password;

основываясь на ответе от Sharfi, отредактируйте /etc/my.cnf-файл и добавьте только одну строку:

Это должно достаточно нейтрализовать валидацию, как того требует ОП. Вероятно, вы захотите перезапустить mysqld после этого изменения. В зависимости от вашей ОС, это будет выглядеть примерно так:

validate_password_policy принимает значения 0, 1 или 2 или слова LOW, MEDIUM и STRONG, которые соответствуют этим числам. Значение по умолчанию-MEDIUM (1), которое требует пароли содержать как минимум одну заглавную букву, одну строчную букву, одну цифру и один специальный символ, и что общая длина пароля не менее 8 символов. Изменение на LOW, как я предлагаю здесь, только проверит длину, которая, если она не была изменена через другие параметры, проверит длину 8. Если вы хотите сократить этот предел длины, вы также можете добавить validate_password_length в my.cnf файл.

подробнее о уровни и детали, см. MySQL doc.

для MySQL 8 свойство изменилось с " validate_password_policy "на" validate_password.политика." Смотрите обновленное mysql doc для получения последней информации.

Я использую MySQL v 8.0.12 и команду отключить компонент проверки пароля:

чтобы установить его обратно, команда:

Если вы просто хотите изменить политика плагина проверки пароля:

чтобы отключить проверку паролей в mariadb-10.1.24 (Fedora 24), мне пришлось прокомментировать строку в / etc / my.cnf.d / cracklib_password_check.cnf:

затем перезапустите службу mariadb:

вы можете настроить это в файле конфигурации mysql открыть В этом файле все строки, которые настраивают политику паролей, комментируются как

раскомментируйте и измените значение свойств, которые вы хотите изменить.

если вы хотите сделать исключения, вы можете применить следующий "hack". Для этого требуется пользователь с DELETE и INSERT привилегия mysql.plugin системная таблица.

мягкий отказ от ответственности безопасности: подумайте, почему вы делаете свой пароль короче или проще и, возможно, рассмотреть вопрос о замене его на более сложный. Тем не менее, я понимаю, что "это 3 утра и просто нужно работать" моменты, просто убедитесь, что вы не строите систему хаков, чтобы вы сами будете взломаны

далее к ответу от ktbos:

Я изменил mysqld.не удалось запустить cnf-файл и mysql. Оказалось, что я изменял не тот файл!

поэтому убедитесь, что файл, который вы изменяете, содержит теги сегмента, такие как [mysqld_safe] и [mysqld]. Под последним я сделал, как было предложено, и добавил строку:

это отлично сработало, чтобы решить мою проблему, не требующую специальных символов в пароле.

у меня была проблема на Ubuntu 18.04 на Mysql. Когда мне нужно было создать нового пользователя, политика всегда была высокой.

способ, которым я понял, как отключить, для будущих коллег,которые приходят исследовать, был установлен на низкий.

7 примеров управления истечением и устареванием пароля Linux с помощью chage


В соответствии с передовой практикой пользователи должны регулярно менять пароли. Но обычно разработчики и другие пользователи системы Linux не меняют пароль, если они не вынуждены менять свой пароль.

Системные администраторы обязаны найти способ заставить разработчиков изменить свой пароль. Заставлять пользователей менять свой пароль с пистолетом на голове не вариант! Хотя большинство сисадминов, которые заботятся о безопасности, могут даже испытывать искушение сделать это.

В этой статье мы рассмотрим, как вы можете использовать команду Linux chage для выполнения нескольких практических действий по устареванию пароля, включая инструкции по изменению пароля.

В Debian вы можете установить chage, выполнив следующую команду:

Примечание: по этой команде очень легко сделать опечатку. Вместо chage вы можете в конечном итоге напечатать это как изменение. Пожалуйста, помните, что chage означает «изменить возраст». то есть аббревиатура команды chage похожа на chmod, chown и т. д.,

1. Перечислите пароль и связанные с ним детали для пользователя

Как показано ниже, любой пользователь может выполнить команду chage для себя, чтобы определить, когда истекает срок действия его пароля.

Примечание. Однако пользователь root может выполнить команду chage для любой учетной записи.

2. Установите срок действия пароля для пользователя, используя опцию chage -M

Пользователь root (системные администраторы) может установить срок действия пароля для любого пользователя. В следующем примере пароль пользователя RSA истекает через 10 дней после последнего изменения пароля.

Обратите внимание, что опция -M обновит записи «Срок действия пароля» и «Максимальное количество дней между сменами пароля», как показано ниже.

3. Предупреждение об истечении срока действия пароля при входе

4. Пользователь вынужден сменить пароль после истечения срока действия

Если истекает срок действия пароля и пользователь не меняет свой пароль, система заставит пользователя сменить пароль до входа в систему, как показано ниже.

5. Установите срок действия учетной записи для пользователя.

Вы также можете использовать команду chage, чтобы установить дату истечения срока действия учетной записи, как показано ниже, используя опцию -E. Дата, указанная ниже, представлена ​​в формате «ГГГГ-ММ-ДД». Это обновит значение «Срок действия учетной записи», как показано ниже.

6. Принудительно заблокировать учетную запись пользователя через X дней бездействия.

Обычно, если срок действия пароля истек, пользователи вынуждены менять его при следующем входе в систему. Вы также можете установить дополнительное условие, при котором после истечения срока действия пароля, если пользователь никогда не пытался войти в систему в течение 10 дней, вы можете автоматически заблокировать его учетную запись, используя опцию -I, как показано ниже. В этом примере дата «Пароль неактивен» устанавливается равной 10 дням от значения «Срок действия пароля».

Как только учетная запись заблокирована, только системные администраторы смогут ее разблокировать.

7. Как отключить устаревание пароля для учетной записи пользователя

Чтобы отключить срок действия пароля для учетной записи пользователя, установите следующее:

Читайте также: