Чтобы узнать о ранней истории хранения паролей Unix, прочитайте книгу Роберта Морриса и Кена ТомпсонаБезопасность паролей :A Case History. Они объясняют, почему и как ранние системы Unix приобрели большинство функций, которые до сих пор считаются важными функциями хранения паролей (, но реализованы лучше ).
crypt
, которая хэширует пароль. Он описывается как «шифрование», а не «хеширование», потому что современная криптографическая терминология еще не была установлена, и он использовал алгоритм шифрования, хотя и нетрадиционным способом. Вместо того, чтобы шифровать пароль с помощью ключа, который было бы тривиально отменить, когда у вас есть ключ (, который должен храниться в системе ), они используют пароль в качестве ключа. Первоначально хэш пароля находился в общедоступном -читаемом файле /etc/passwd
. Помещение хеша в отдельный файл /etc/shadow
, к которому могли получить доступ только система (и системный администратор ), было одним из многих нововведений, пришедших от Sun, появившихся примерно в SunOS 4 в середине -1980-х годов.Он постепенно распространился на другие варианты Unix (, частично через сторонний теневой набор , чей потомок до сих пор используется в Linux )и не был доступен повсеместно до середины -1990-х или около того..
За прошедшие годы в алгоритм хеширования были внесены улучшения. Самым большим скачком стал алгоритм Поуля -Хеннинга Кампа -на основе MD5 в 1994 году, который заменил алгоритм на основе DES -на алгоритм с лучшим дизайном. Он снял ограничение на 8 символов пароля и 2 символа соли и увеличил медлительность. См. IEEE Разработка с использованием программного обеспечения с открытым исходным кодом , январь–февраль. 2004, с. 7–8 . Алгоритмы на основе SHA -2 -, которые сегодня являются стандартом де-факто, основаны на том же принципе, но с немного лучшим внутренним дизайном и, самое главное, с настраиваемым коэффициентом медлительности.
Замедление, скорее всего, вызвано использованием диска, а не ЦП. tar
массово читает и записывает каталог 600G. См. также связанный пост .
Поскольку процесс tar
уже запущен, вы должны получить его pid с помощью pidof tar
или ps aux | grep tar
и изменить его приоритет ввода-вывода на класс 3.
-c, --class name or number of scheduling class, 0: none, 1: realtime, 2: best-effort, 3: idle
ionice -c3 -p <pid>
Это также увеличивает время архивирования, так как диск будет использоваться только тогда, когда он не используется другими программами.