Это не создается оболочкой Bourne Again. Это не Тильда.
Это создается командой ps
из набора инструментов procps , выполняющей эту проверку в своей функции set_screen_size ()
. Команда ps
требует, чтобы ваше оконечное устройство имело как минимум 9 столбцов на 2 строки, чтобы оно могло отображать вещи разумно. Где-то, возможно, без вашего ведома, вы вызываете ps
.
Команда ps
получает размер вашего терминала непосредственно из (линейной дисциплины) оконечного устройства, подключенного к его стандартным файловым дескрипторам ввода-вывода, и позволяет переопределить его с помощью COLUMNS
] и LINES
переменные среды, если их значения правильно числовые. Вы можете увидеть, что видит ваша команда ps
, чтобы определить ее, выполнив:
stty size ; printenv COLUMNS LINES
Вы можете поэкспериментировать с вытягиванием ноги ps
, выполнив такие вещи, как:
COLUMNS=65535 LINES=1 ps
Если у вас есть установите переменные среды COLUMNS
и LINES
в значения daft 131072 × 1, как показано в выходных данных printenv
, затем просто не делайте этого. ☺ Однако более вероятно, что само оконечное устройство сообщает об этом размере, что вы увидите в выводе stty
.(Обратите внимание, что все, что оболочка Bourne Again делает с checkwinsize
, устанавливает значения этих переменных оболочки, которые, если не экспортируются, даже не передаются команде ps
в ее среде, чтобы каким бы ни было оконечное устройство, сообщающее о размере. Таким образом, checkwinsize
- отвлекающий маневр в том смысле, что, если переменные среды не имеют смысла, оконечное устройство само сообщает ерунду, а последнее - основная проблема, которую необходимо решить.)
Вот почему, пока он не выдает сообщение, Тильда может быть виновата. Размер оконечного устройства - это общий ресурс, который все, что имеет дескриптор открытого файла для оконечного устройства, может произвольно изменяться с помощью системного вызова ioctl ()
. Но это обычно устанавливается в сценарии, в котором используется программная программа эмулятора терминала , такая как Tilda, программой эмулятора терминала, когда размер окна графического интерфейса пользователя, в котором выполняется эмуляция, отображаемые изменения. Программа эмулятора терминала получает событие изменения размера графического интерфейса пользователя, преобразует его в столбцы и строки и устанавливает размер устройства с помощью ioctl ()
.
Это не значит, что что-то еще не определило размер этой ерунды.В конце концов, вы можете установить его самостоятельно на произвольный бессмысленный размер, просто запустив, например, команду:
stty columns 1 rows 65535
Что приводит нас к…
Если вы оказались в положении, когда терминальное устройство сообщает бессмысленный размер:
ioctl ()
и установить разумный размер терминала. столбцов stty 80 строк 25
reset
. Обратите внимание, что reset
устанавливает множество других параметров в дополнение к размеру оконечного устройства. console-resize
(также известную как resizecons
) команда для их выдачи: resizecons 80x25
Эти вопросы и ответы how-do-decryption- алгоритмы определения-правильности-вашей-попытки-парольной фразы предполагают, что алгоритмы дешифрования, которым необходимо знать правильность парольной фразы, используют HMAC для проверки правильности парольной фразы.
Поэтому, когда важно иметь возможность информировать пользователя о том, преуспела ли операция дешифрования в получении ожидаемых данных, инженеры по криптографии используют коды аутентификации сообщений . MAC-адреса на основе хэша позволяют сравнивать открытый текст кандидата с аутентифицированным хеш-значением. Если проверка прошла успешно, мы знаем, что это правильный открытый текст, и можем уведомить пользователя о том, что функция дешифрования была успешной, как и предполагалось.
Некоторая информация о дизайне encfs :
Предоставленный вами пароль используется для расшифровки ключа громкости.
Технология
Encfs использует алгоритмы из сторонних библиотек (OpenSSL по умолчанию) для шифрования данных и имен файлов.
Пароль, вводимый пользователем, используется для расшифровки ключа тома, а ключ тома используется для шифрования всех имен файлов и содержимого. Это позволяет изменять пароль без необходимости повторного шифрования всех файлов.
Согласно этому аудиту безопасности
Ответьте на вопрос в комментарии, MAC сохраняется как часть каждого зашифрованного файла.
При просмотре исходного кода encfs кажется, что первые 4 символа (байтов )из encodedKeyData
— это хэш, используемый для проверки HMAC.
и