Migrere brukere fra en Linux-maskin til another

Har du noen gang hatt behov for å overføre gjeldende kjører Linux-brukere fra installasjon til en annen? Det ville være en enkel oppgave hvis brukeren telling var lav. Men hva skjer når brukeren teller er i hundrevis? Hva gjør du da? Hvis du ikke bruker LDAP, vet du at du er nødt til å migrere brukernes data, passord, etc fra den gamle maskinen til den nye. Tro det eller ei, dette er bare et spørsmål om noen få kommandoer - ikke nødvendigvis enkle kommandoer, men det er ikke så komplisert som du tror

I denne artikkelen skal jeg vise deg hvordan du gjør dette migrasjon. slik at Linux-brukere ikke mister sine data og sine passord er alle beholdt

Hva vi migrerer

Listen er ganske enkel.

/etc /passwd - Inneholder informasjon om brukeren

/etc /shadow -.. Inneholder krypterte passord

/etc /group -. Inneholder gruppeinformasjon

/etc /gshadow - Inneholder gruppe kryptert passord

/var /spool /mail -. Inneholder brukere epost (plasseringen vil være avhengig av postserver du bruker)

/home /-.. Inneholder brukere data Anmeldelser

Dessverre disse filene kan ikke bare kopieres fra en maskin til en annen - det ville være for enkelt. Bare sørg for at du skriver inn følgende kommandoer riktig.

Source maskin

Dette er de kommandoene du trenger for å kjøre på maskinen du migrerer brukere FRA. Jeg vil anta at du gjør dette på et system som bruker en root bruker (for eksempel Fedora), så alle kommandoer skal gjøres som root:

mkdir ~ /MOVE
< p> Kommandoen ovenfor oppretter en katalog for å huse alle filene som skal flyttes.

eksport UGIDLIMIT = 500

Kommandoen ovenfor setter UID filter grensen til 500 . MERK: Denne verdien vil bli diktert av din distribusjon. Hvis du bruker Red Hat Enterprise Linux, CentOS, eller Fedora vises denne verdien i kommandoen ovenfor. Hvis du bruker Debian eller Ubuntu at grensen er 1000 (ikke 500)

awk v LIMIT = $ UGIDLIMIT -F:. '($ 3 > = LIMIT) & & ($ 3 = 65534!) '/Etc /passwd > ~ /MOVE /passwd.mig

De ovennevnte kommandoen kopierer bare brukerkontoer fra /etc /passwd (ved hjelp av awk
tillater oss å ignorere systemkontoene.)

awk v LIMIT = $ UGIDLIMIT -F: '($ 3 > = LIMIT) & & ($ 3 = 65534!) '/Etc /group > ~ /MOVE /group.mi
g

De ovennevnte kommandoen kopierer /etc /group filen

awk v LIMIT = $ UGIDLIMIT -F:. '($ 3 > = LIMIT) & & (! $ 3 = 65534) {skrive $ 1} /etc /passwd | tee - | egrep -f - /etc /shadow > ~ /MOVE /shadow.mig

De ovennevnte kommandoen kopierer /etc /shadow-filen.

cp /etc /gshadow ~ /MOVE /gshadow.mig

De ovennevnte kommandoen kopierer /etc /gshadow fil.

tjære -zcvpf ~ /MOVE /home.tar.gz /home

Kommandoen ovenfor arkiv /home.

tjære -zcvpf ~ /MOVE /mail.tar.gz /var /spool /mail

Kommandoen ovenfor arkiver posten katalog . MERK: Hvis du bruker Sendmail dette er riktig katalog. Hvis du bruker Postfix at katalogen mest sannsynlig vil være /etc /postfix.

Nå er det på tide å flytte alt i ~ /flytte over til den nye serveren. Du kan gjøre dette ved hjelp av scp
kommandoen slik:

scp -r ~ /MOVE /* BRUKER @ IP_OF_NEW_SERVER: /home /user /
< p> der brukeren er brukernavnet du vil bruke til å sende filen og IP_OF_NEW_SERVER er adressen til den nye serveren. . MERK: Hvis denne serveren er ikke på linje ennå kan du alltid kopiere disse filene til en minnepinne og flytte dem på den måten

målmaskinen

Nå jobber vi på den nye serveren. Følg disse kommandoene (kjøres som root bruker):

mkdir ~ /newsusers.bak

Kommandoen ovenfor vil skape en ny katalog som skal huse backup av aktuelle brukere.

cp /etc /passwd /etc /shadow /etc /group /etc /gshadow ~ /newsusers.bak

Kommandoen ovenfor vil kopiere den nødvendige filer til den nye backup katalog

cd /sti /til /DIRECTORYcat passwd.mig >. > /etc /passwdcat group.mig > > /etc /groupcat shadow.mig > > /etc /shadow /bin /cp gshadow.mig /etc /gshadow

Kommandoene ovenfor vil gjenopprette alle passordfiler til det nye systemet. MERK:. Hvor /sti /til /katalog er stedet der du kopierte filene til det nye systemet

cd /tjære zxvf /sti /til /KATALOG /
home.tar. gz

Kommandoene ovenfor vil først forandre deg til /katalog og deretter pakke ut arkiverte katalogen /home. MERK:. Hvor /sti /til /DEBATT
er stedet der du kopierte filene til det nye systemet

cd /tjære zxvf /sti /til /KATALOG /
mail.tar.gz

Kommandoene ovenfor vil først forandre deg til /katalog og deretter pakke den arkiveres /var /spool /mail katalogen. MERK: Hvor /sti /til /katalog er stedet der du kopierte filene til det nye systemet

Du kan nå starte systemet på nytt med brukerne på plass
..