У нас есть Ubuntu 14.04.3 LTS на нашей лаборатории ПК в моем колледже. Сегодня я заметил серьезную ошибку.
Я могу пропустить последние несколько символов своего пароля и все еще войти в систему гладко. Например, если мой пароль a1b2c3d4e5f6g7h8
, Я могу ввести a1b2c3d4e
и все еще войдите в систему. Многие другие люди также заметили эту ошибку.
Обратите внимание, что пароль не может быть обойден полностью - максимум, который я смог пропустить, 7 символов. Если я пытаюсь пропустить еще, сообщение "Неверный пароль, попробуйте еще раз", появляется. Также обратите внимание, что любая случайная перестановка подстроки пароля не работает.
Это также происходит, если я блокирую экран вручную и ввожу пароль снова. Та же ошибка присутствует при использовании ssh
и хорошо, поиск с помощью Google и поиск Переполнения стека не помогли.
Мой вопрос - как я исправляю эту ошибку, если я могу зафиксировать его вообще? Наш sysadm не будет доступен перед понедельником, и это действительно беспокоит меня.
ВАЖНЫЙ: Обратите внимание, что ни одна из учетных записей студентов не находится в списке sudoers, только sysadm имеет корневой доступ. Кроме того, продолжающие шоу, когда я ssh
в мою собственную учетную запись:
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-65-generic i686)
* Documentation: https://help.ubuntu.com/
543 packages can be updated.
350 updates are security updates.
New release '16.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.
ОБНОВЛЕНИЕ: похоже, что важной проблемой не является количество символов, опущенных в конце, но том, что возможно войти в систему с первыми восемью или больше символами пароля.
Если у Вас нет доступа администратора, нет очень, можно сделать.
Тем не менее это, кажется, из-за некомпетентности администратора. Это звучит подозрительно подобным шифрованию пароля с помощью классика crypt(3)
функция. От man 3 crypt
:
crypt() is the password encryption function. It is based on the Data Encryption Standard algorithm with variations intended (among other things) to discourage use of hardware implementations of a key search. key is a user's typed password. salt is a two-character string chosen from the set [a-zA-Z0-9./]. This string is used to perturb the algorithm in one of 4096 different ways. By taking the lowest 7 bits of each of the first eight characters of the key, a 56-bit key is obtained. This 56-bit key is used to encrypt repeatedly a constant string (usually a string consisting of all zeros). The returned value points to the encrypted password, a series of 13 printable ASCII characters (the first two characters represent the salt itself). The return value points to static data whose content is overwritten by each call.
, который звучит знакомым?
Никакая недавняя система Ubuntu не использует это по умолчанию. Ваш администратор, должно быть, вручную настроил установку пароля для использования этого. Или, они могли бы использовать внешнюю аутентификацию (LDAP, или подобные) и не сделали или не могли настроить это надежно.
См. также: пароли в современных системах Unix/Linux, все еще ограниченных 8 символами?
Было время в предыдущее тысячелетие, когда весь Unixen зашифровал их пароли этот путь. Отбросьте все вне восьмого символа, добавьте соль, отбрасывание через хеш-функцию и сделанный.
большой вопрос здесь состоит в том, если зашифрованные пароли доступны потенциальным хакерам. Если они, это - большая проблема. Если они не, это действительно не грандиозное предприятие. Восемь паролей символов имеют много возможностей. Если необходимо предпринять фактическую попытку входа в систему проверить, что потенциальный пароль, затем врывающийся, идет в занимание много времени. Кроме того, попытки инициируют предупреждения.
Так, большая победа здесь является теневыми паролями. Однако, люди начали думать, что это не было достаточно хорошо, и каждый вариант Unix реализовал их собственный способ расширить максимальную длину пароля. Они больше не были совместимы.
Некоторое время, если Вы хотели, чтобы несколько машин с различными вариантами Unix использовали тот же пароль, необходимо было использовать старый тип шифрования.
довольно возможно что, когда эти компьютерные лаборатории были сначала открыты, который все еще имел место. И этот тип установки имеет инерцию. Новые клиенты настраиваются для соответствия серверу. Новые серверы настраиваются для соответствия клиентам.
Сегодня, вещи лучше. Существует меньше используемых вариантов Unix, и они сотрудничают лучше.
я не достаточно компетентен сказать Вам, как зафиксировать это, но это задача для администратора, не для Вас.