Была программа с именем 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
, который отслеживает все терминалы. . Операционная система хранит хэш пароля в / 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
, чтобы изменить свой пароль. Это обновит хэш пароля в соответствии с текущей настроенной схемой.
Это ожидается, по крайней мере, в конфигурации 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
См. ] эта ветка на форумах 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)
.
К вашему сведению, это также происходит в системах IBM AIX до версии 7.1.
Забавно, потому что в этой системе, с которой я работал, действует политика «не может повторно использовать ни один из последних 10 паролей», которая учитывает всю длину пароля, но затем проверяет только первые 8 символов, когда вход в систему. Таким образом, вы можете установить свои пароли, такие как easypass _% $ xZ! 01
, easypass _% & ssY! 02
, easypass _% $ 33zoi @@
, .. ..для каждой обязательной смены пароля, эффективно сохраняя пароль easypass
в качестве пароля в течение многих лет.