Как перенести пароль пользователя на другой сервер?

8790
Petr Pudlák

Я перевожу пользователей со старого сервера на новый. Это всего лишь несколько пользователей, мы хотим перенести только активных и реорганизовать группы в процессе, поэтому я делаю это вручную. Остается одна проблема: как я могу перенести их пароли на новый сервер? Есть ли лучший способ, чем копировать хэши паролей /etc/shadowвручную?

3

3 ответа на вопрос

5
Petr Pudlák

Я нашел chpasswdинструмент. При -eэтом принимает список пользователей с их зашифрованными паролями для установки. Это именно то, что я искал.

4
azzid

Since there are few enough accounts for you to migrate manually I think lifting the hashes by hand is the way to go. That's how I'd do it atleast.

Не могли бы вы рассказать подробнее о том, как поднимать хеш вручную. Я предполагаю, что это означает копирование хешированных паролей, то есть элементов между вторым и третьим двоеточиями в строках для соответствующих пользователей, из / etc / shadow в исходной системе и вставку их в соответствующие строки в целевой системе. Правильно? Drux 7 лет назад 0
@ Друкс Верно. Просто скопируйте соответствующие строки из / etc / shadow. Или, если у пользователя есть строка в целевом файле, просто скопируйте хэш пароля. Это единственное поле, которое выглядит как бред. ;-) azzid 7 лет назад 0
2
terdon

Well, you wouldn't need to do it by hand. Just use lastlog to get the list of users who have logged on at least once in, for example, the past year and then grep them in /etc/shadow:

 lastlog -t 365 | gawk '' | tail -n +2 | while read n; do \ grep -w $n /etc/shadow; done 

You could also automate the user creation on the new server as described in my answer here.

Я не уверен, и мои первые эксперименты не очень успешны. Но я не знаю другого способа, как это сделать. Petr Pudlák 11 лет назад 0
Копирование теневых линий работает; Я сделал это не так давно во время переезда на сервер с большим количеством пользователей. Это сломало несколько пользователей, но почти все еще работало. cpast 11 лет назад 1