Warning: Memcache::addserver() expects parameter 2 to be long, string given in /usr/home/rpc/domains/rpc.one.pl/public_html/libraries/joomla/cache/storage/memcache.php on line 84 Migracja passwd, shadow, group, gshadow na nowy komputer
 
 
Migracja passwd, shadow, group, gshadow na nowy komputer Drukuj Email
Wpisany przez rpc   
środa, 21 kwietnia 2010 06:26

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



Podziel się tą informacja z innymi:
Poprawiony: poniedziałek, 17 maja 2010 12:31