Jak zmienić UID i GID w Linuxie
Przenoszenie kont użytkowników między serwerami Debian jest czynnością prostą i bezpieczną. W zasadzie wystarczy wykonać 3 podstawowe czynności:
- Skopiować odpowiednie grupy z pliku /etc/group.
- Skopiować odpowiednich użytkowników z pliku /etc/passwd.
- Skopiować hasła powyższych użytkowników z pliku /etc/shadow.
Wymienione pliku są tekstowe zatem sprawdzi się metoda copy-paste. Oczywiście na koniec trzeba skopiować katalogi domowe użytkowników (np. używając tar z opcjami cvzf) a potem rozpakować na serwerze docelowym (tar xvzf). Jeśli ktoś woli można skorzystać z synchronizacji między serwerami za pomocą rsync.
Problem może pojawić się wtedy kiedy na docelowym serwerze istnieją już konta posiadające identyfikatory systemowe UID (user ID) i GID (group ID) i nie możemy wprost kopiować linii plików konfiguracyjnych aby uniknąć sytuacji, w której np. dwa konta posiadają ten sam UID. Wówczas przed kopiowaniem trzeba zmienić UID i GID na serwerze źródłowym. Czy jest to proste? Jak wszystko w Linuxie… Poniżej zamieszczam polecenia pozwalające przygotować się do całego procesu:
usermod -u <NowyUID> <Login> groupmod -g <NowyGID> <Grupa> find / -user <StaryUID> -exec chown -h <NowyUID> {} \; find / -group <StaryGID> -exec chgrp -h <NowyGID> {} \; usermod -g <NowyGID> <Login>
MG
Tagi: Debian, linia poleceń, Linux