Solaris впустил меня с другим паролем с теми же 8 первыми символами

Была программа с именем getty в 1-й редакции Unix. BSD обычно имеют программу с именем getty , которая является (справедливо) прямым потомком этого. Он (в настоящее время) читает / etc / ttys для базы данных настроенных оконечных устройств и / etc / gettytab для базы данных типов оконечных линий (тип линии передается в качестве аргумента программе getty ).

В мире Linux есть коллекция клонов и повторных реализаций, как и в minix до него.

  • agetty был написан Витсе Венема в качестве «альтернативы» AT&T System 5 и SunOS getty и перенесен на Linux Питером Орбеком (который также предоставил simpleinit ) рядом с ним). Он подходит для использования с последовательными устройствами, с модемами или напрямую подключенными терминалами, а также с виртуальными терминальными устройствами.
  • getty и uugetty Пола Сатклиффа-младшего сейчас трудно найти, но они были альтернативой agetty . (Пакет getty-ps , содержащий их обоих, все еще можно найти в SlackWare.)
  • Фред ван Кемпен написал «улучшенные» getty и init для minix в 1990 году.
  • mgetty Герта Деринга - еще один getty, который подходит для использования с фактическими последовательными устройствами и был разработан для поддержки «умных» модемов, таких как факс-модемы и голосовые модемы, а не только "тупые" терминальные модемы.
  • mingetty Флориана Ла Роша был разработан , а не для поддержки последовательных устройств и общих функций getty на любых терминальных устройствах. Скорее, он специфичен для виртуальных терминальных устройств и устраняет все традиционные шумихи, связанной с модемами и последовательными устройствами.
  • fgetty Феликса фон Лейтнера был получен из mingetty , адаптирован для использования библиотеки C с меньшими размерами, чем библиотека GNU C, и настроен для включения таких вещей, как checkpasswd механизм.
  • нгетти Николы Владова представляли собой реорганизацию всего механизма гетти. Вместо того, чтобы init (прямо или косвенно) знать о базе данных TTY и порождать несколько экземпляров getty, каждый из которых отвечает на одном терминале, init порождает один процесс ngetty , который отслеживает все терминалы. .
42
10.08.2016, 18:31
4 ответа

Операционная система хранит хэш пароля в / etc / shadow (или, исторически, / etc / passwd ; или другое место в некоторых других вариантах Unix). Исторически первым широко распространенным хешем паролей была схема на основе DES , которая имела ограничение, заключающееся в том, что она учитывала только первые 8 символов пароля. Кроме того, алгоритм хеширования паролей должен быть медленным; Схема на основе DES была несколько медленной, когда она была изобретена, но недостаточна по сегодняшним меркам.

С тех пор были разработаны более совершенные алгоритмы. Но Solaris 10 по умолчанию использует историческую схему на основе DES. Solaris 11 по умолчанию использует алгоритм, основанный на повторяющемся алгоритме SHA-256, который соответствует современным стандартам.

Если вам не нужна историческая совместимость с древними системами, переключитесь на итеративную схему SHA-256. Отредактируйте файл / etc / security / policy.conf и измените настройку CRYPT_DEFAULT на 5, что означает crypt_sha256 . Вы также можете установить CRYPT_ALGORITHMS_ALLOW и CRYPT_ALGORITHMS_DEPRECATE .

После изменения конфигурации запустите passwd , чтобы изменить свой пароль. Это обновит хэш пароля в соответствии с текущей настроенной схемой.

65
27.01.2020, 19:35

Это ожидается, по крайней мере, в конфигурации Solaris 10 и более ранних версий по умолчанию.

Ваша система использует устаревший алгоритм Unix crypt_unix , который действительно ограничивает количество используемых символов до восьми.

Это описано на странице руководства passwd :

Passwords must be constructed to meet the following requirements:

  Each password must have PASSLENGTH characters, where PASSLENGTH is  defined  in
  /etc/default/passwd  and  is  set  to  6. Setting PASSLENGTH to more than eight
  characters requires configuring policy.conf(4) with an algorithm that  supports
  greater than eight characters.

Поскольку этот алгоритм по существу устарел. Вам следует переключиться на что-то лучшее (доступные значения перечислены на странице руководства crypt.conf ), установив записи CRYPT_ALGORITHMS_DEPRECATE и CRYPT_DEFAULT в / etc / Файл security / policy.conf .

См. http://docs.oracle.com/cd/E19253-01/816-4557/concept-63/index.html

21
27.01.2020, 19:35

См. ] эта ветка на форумах Oracle :

Поведение, которое вы описываете, является ожидаемым при использовании схемы шифрования паролей по умолчанию "crypt_unix". Эта схема шифрует только первые восемь символов пароля, поэтому при повторном вводе пароля должны совпадать только первые восемь символов. Это не "ошибка", а известное ограничение алгоритма - он в основном сохраняется для обратной совместимости и, к сожалению, установлен по умолчанию в системах Solaris. при установке.

Чтобы решить эту проблему, настройте свою ОС на использование алгоритмов MD5 или Blowfish вместо crypt_unix.

Это можно изменить в файле /etc/security/policy.conf. Вы можете разрешить алгоритмы шифрования, а также настроить отказ от (запретить) использование алгоритма crypt_unix и изменить значение по умолчанию на более безопасное один.

Дополнительную информацию см. В «Руководстве системного администратора Solaris 10: службы безопасности» .

См. Также Изменение алгоритма пароля (карта задач) и особенно Как указать алгоритм шифрования пароля :

Укажите идентификатор для выбранного вами алгоритма шифрования.

...

Введите идентификатор в качестве значения переменной CRYPT_DEFAULT в файле /etc/security/policy.conf.

...

Для получения дополнительной информации о настройке выбора алгоритма см. Справочную страницу policy.conf (4) .

7
27.01.2020, 19:35

К вашему сведению, это также происходит в системах IBM AIX до версии 7.1.

Забавно, потому что в этой системе, с которой я работал, действует политика «не может повторно использовать ни один из последних 10 паролей», которая учитывает всю длину пароля, но затем проверяет только первые 8 символов, когда вход в систему. Таким образом, вы можете установить свои пароли, такие как easypass _% $ xZ! 01 , easypass _% & ssY! 02 , easypass _% $ 33zoi @@ , .. ..для каждой обязательной смены пароля, эффективно сохраняя пароль easypass в качестве пароля в течение многих лет.

2
27.01.2020, 19:35

Теги

Похожие вопросы