Jak przenieść hasło użytkownika do innego serwera?

3

Przenoszę użytkowników ze starego serwera na nowy. To tylko kilku użytkowników, chcemy przeprowadzić migrację tylko tych aktywnych i reorganizować grupy w procesie, więc robię to ręcznie. Pozostaje jeden problem: jak mogę przenieść swoje hasła do nowego serwera? Czy istnieje lepszy sposób niż kopiowanie skrótów hasła z /etc/shadow ręcznie?

Petr Pudlák
źródło

Odpowiedzi:

5

znalazłem chpasswd narzędzie. Z -e akceptuje listę użytkowników z zaszyfrowanymi hasłami do ustawienia. Właśnie tego szukałem.

Petr Pudlák
źródło
4

Ponieważ istnieje niewiele kont wystarczających do ręcznej migracji, myślę, że podniesienie skrótów ręcznie jest drogą do zrobienia. Tak jakbym to zrobił.

azzid
źródło
Czy możesz wyjaśnić, jak ręcznie podnosić hasz? Zakładam, że oznacza to kopiowanie zakodowanych haseł, tj. Elementów między drugim i trzecim dwukropkiem w liniach dla uprawnionych użytkowników, z / etc / shadow na źródłowym systemie i wklejanie ich do odpowiednich wierszy w systemie docelowym. Dobrze?
Drux
@Drux Right. Po prostu skopiuj odpowiednie linie z / etc / shadow. Lub jeśli użytkownik ma linię w pliku docelowym, po prostu skopiuj hash hasła. To jedyne pole, które wygląda jak bełkot. ;-)
azzid
2

Cóż, nie musiałbyś tego robić ręcznie . Po prostu użyj lastlog aby wyświetlić listę użytkowników, którzy zalogowali się przynajmniej raz, na przykład w ubiegłym roku, a następnie grep ich w /etc/shadow:

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

Można również zautomatyzować tworzenie użytkownika na nowym serwerze, zgodnie z opisem w mojej odpowiedzi tutaj .

terdon
źródło
TBH nie jestem pewien, a moje pierwsze eksperymenty nie są zbyt udane. Ale nie znam innego sposobu, jak to zrobić.
Petr Pudlák
1
Kopiowanie linii cienia działa; Zrobiłem to nie tak dawno temu podczas przenoszenia serwera z dużą ilością użytkowników. Zepsuło kilku użytkowników, ale prawie wszyscy nadal pracowali.
cpast