Как изменить теневой файл вручную?
У меня есть система Linux, и я создаю 20 пользователей, после чего я сделал хэш и импортировал его в теневой файл вместо одного из них (вручную). Я делаю это из-за некоторых образовательных вещей:)
user12:.rAuPMqtz7dZzHdfQMLJzum6vPYKJynmE29reN27MG/AsAHHt6a.1ZeyEkoo6xEJIzepKMyLai/:16607:0:99999:7:::
Затем я сохранил тень и проверил пользователя. Не работает Зачем? Но это работает, когда я использовал passwd user12
,
Другая проблема - когда я вручную меняю тень (даже один пробел или клавишу ввода), все пользователи, которые у меня были, не могут подключиться через ssh. Они видят permission denied
, Зачем?
Я скопировал и вставил содержимое shadow
и это не работает снова. Зачем? До того как я скопировал, все работает. Просто открывая и сохраняя его, он не работает?
1 ответ
У него нет действительного хэша пароля:
user12:.rAuPMqtz7dZzHdfQMLJzum6vPYKJynmE29reN27MG/AsAHHt6a.1ZeyEkoo6xEJIzepKMyLai/:16607:0:99999:7:::
В Linux алгоритмами хеширования паролей являются DES, MD5, SHA-256 и SHA-512 (см. man 3 crypt
(не считая Blowfish), и длина хэша пароля, который вы дали, не совпадает с длинами, выводимыми любым из них (13, 22, 43 и 86 символов соответственно, где у вас длина 75 символов). и далее, у него нет идентификатора соли или алгоритма. Система попытается прочитать его как хеш-значение DES, причем первые два символа являются солью - но кто знает, какой пароль будет ему соответствовать?