INFORMATICS

The Best

Przełącznik języka

Zaproś mnie na KAWE

Jeżeli podoba Ci się strona i chcesz wspomóc projekt!

Postaw mi kawę na buycoffee.to

This Site

Płatnik

CMS

Hardware

Uncategorised

Emulators

Powershell

Storage Array

DNS

Antivirus program

Licznik

3.png0.png4.png2.png2.png3.png1.png
Today1128
Yesterday1207
This week7113
This month17132
Total3042231

Visitor Info

  • IP: 3.144.20.66
  • Browser: Unknown
  • Browser Version:
  • Operating System: Unknown

Who Is Online

3
Online

piątek, 22 listopad 2024 21:34

Migracja użytkowników

Gwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywna
Migracja passwd, shadow, group, gshadow na nowy komputer Drukuj Email

Migracja passwd, shadow, group, gshadow na nowy komputer

 

Jeżeli chcesz przenieść dane na inny komputer z linuxem wiąże się to nie tylko z przekopiowaniem danych użytkowników ale ich uprawnień. Uprawnienia mogą być przechowywane np. w ldap, nis, pliki systemowe. Ja przedstawię przeniesienie użytkowników na nowy komputer jeśli są oni trzymani tylko w plikach shadow, passwd, group, gshadow z zachowaniem UID i GID (uprawnień użytkowników i grup).

W opisie uwzględniłem konta i grupy komputerów kończące się $ czyli konta samby, które również są przenoszone.

Wszystko robisz na własną odpowiedzialność.

 

Co należy przenieść:

 

/etc/passwd Lista użytkowników, ich UID, katalog domowy, shell
/etc/shadow Lista użytkowników wraz z hasłami
/etc/group Lista grup i ich GID
/etc/gshadow Lista grup wraz z hasłami
/var/spool/mail Poczta użytkowników w postaci mbox
/home Katalogi domowe użytkowników ew. z mailami w formacie Maildir

 

Wykonanie kopii na maszynie źródłowej:

Tworzymy katalog na dane:

mkdir /kopia_danych

Ustawiamy zmienną która definiuje od jakiego UID i GID zaczynają się konta użytkowników. W Debianie, Ubuntu jest 1000, w RedHat i CentOS jest to 500.

export UIDGID=1000

 

Export /etc/passwd (ignorujemy konta systemowe):

awk -v LIMIT=$UIDGID -F: '($3>=LIMIT) && ($3!=65534)' /etc/passwd  > /kopia_danych/passwd.mig

 

Export /etc/group (ignorujemy grupy systemowe):

awk -v LIMIT=$UIDGID -F: '($3>=LIMIT)&&($3!=65534)' /etc/group  > /kopia_danych/group.mig

 

Export /etc/shadow (ignorujemy konta systemowe):

awk -v LIMIT=$UIDGID -F: '($3>=LIMIT)&&($3!=65534) {print "^"$1}' /etc/passwd | sed -e 's/\$/'\\\\\$'/g' | egrep -w -f - /etc/shadow > /kopia_danych/shadow.mig

 

Export /etc/gshadow:

awk -v LIMIT=$UIDGID -F: '($3>=LIMIT)&&($3!=65534) {print "^"$1}' /etc/group | sed -e 's/\$/'\\\\\$'/g' | egrep -w -f - /etc/gshadow > /kopia_danych/gshadow.mig

 

Wykonanie kopii danych użytkowników:

tar -cjvf /kopia_danych/home.tar.bz2 /home
tar -cjvf /kopia_danych/mail.tar.bz2 /var/spool/mail

 

Wykonanie kopii uprawnień list ACL do plików i katalogów (jeśli są używane np. w systemie plików XFS):

getfacl -R --skip-base /home > /kopie_danych/backup.acl

 

Przywrócenie danych na maszynie docelowej:

Tworzymy katalog na maszynie docelowej ( na nowej maszynie ) oraz wykonujemy kopię oryginalnych plików:

mkdir /kopia_danych
mkdir /kopia_danych/backup_org
cp /etc/passwd /kopia_danych/backup_org/
cp /etc/shadow /kopia_danych/backup_org/
cp /etc/group /kopia_danych/backup_org/
cp /etc/gshadow /kopia_danych/backup_org/

i wgrywamy do katalogu /kopia_danych pliki ze starego komputera np.

scp username@adres_ip_starego_komputera:/kopia_danych/* /kopia_danych

 

Odtworzenie kont i grup użytkowników:

cd /kopia_danych
cat passwd.mig >> /etc/passwd
cat shadow.mig >> /etc/shadow
cat group.mig >> /etc/group
cat gshadow.mig >> /etc/gshadow

 

Odtworzenie danych użytkowników:

cd /
tar -jxvf /kopia_danych/home.tar.bz2
tar -jxvf /kopia_danych/mail.tar.bz2

 

Odtworzenie uprawnień ACL do plików i katalogów (jeśli są używane np. w systemie plików XFS):

setfacl --restore=backup.acl

Często używane

Gwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywnaGwiazdka nieaktywna

Wyszukiwanie zainstalowanej biblioteki w linuxie w tym przypadku preupgrade

rpm -qa|grep preupgrade

wynik komendy pokaże czy biblioteka jest zainstalowana i jej wersje

Sprawdzenie miejsca na dysku w linuxie

df

pokazuje woluminy oraz ich zajętość

komenda która pokazuje otwarte porty

netstat -lp

wynikiem komendy jest lista otwartych portów

 

Search