LINUX-BG   Адрес : http://www.linux-bg.org
Как да мигрираме стар Samba PDC?
От: Eric Cartman
Публикувана на: 26-09-2008
Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=407274012
Здравейте, това е първата ми статия и вероятно няма да е издържана много добре. Ще се опитам да обясня как съм мигрирал потребителите от работещ Samba PDC към нов такъв.
Изходни данни:
Старият домейн е версия 3.0.20b-3.3-SUSE, инсталиран на OpenSUSE 10.0. Новият е версия 3.0.28-0.el5.8 на CentOS 5.1. Аз лично реших да създам нов домейн с различно име от стария. Можеше да бъде и със същото име и ID, но не бях сигурен, че ще сработи и предпочетох новата инсталация. Също така описаните стъпки тук работят при мен, но няма гаранция, че така ще е при всеки. Правете каквото решите на ваша отговорност! Чист съм вече 
Начало:
1.Проверяваме дали всички потребители в нашата мрежа се логват към стария домейн. В случая нещата не бяха съвсем така – част от хората използваха лични профили, т.е. логваха се към тяхната си машина.
2.Създаваме нов PDC. За целта съм използвал статиите на runtime от този сайт - Част 1 и Част 2 . Втората част само съм я тествал, но още не съм я внедрил. Другите ръководства, които съм ползвал са това, GUI Tools, Копиране на локален профил.
Стъпки към миграцията:
1.Създаваме нов smb.conf по подобие на стария
2.Тестваме чрез testparm и следваме ръководството от linux-bg Част 1. След като се убедим, че имаме работещ домейн преминаваме към следващите стъпки.
3.Тук вече има една хватка. Трябва да копираме и редактираме, така че да съвпаднат /etc/passwd, /etc/shadow и /etc/group от стария домейн. След това им сравнявам ID-тата и настройвам ID-то на новия домейн да е същото както на стария. Това става така:
Примерен код
[root@olddomain ~]# net getlocalsid
 SID for domain OldDomain is: S-1-5-21-3910203592-2584712022-4742135
 
 [root@olddomain ~]# net getdomainsid
 SID for domain OldDomain is: S-1-5-21-3910203592-2584712022-4742135
 SID for domain DOMAIN is: S-1-5-21-3910203592-2584712022-4742135
 
 [root@newdomain ~]# net getlocalsid
 SID for domain NewDomain is: S-1-5-21-3910203592-2584712022-4742285
 
 [root@olddomain ~]# net getdomainsid
 SID for domain NewDomain is: S-1-5-21-3910203592-2584712022-4742285
 SID for domain DOMAIN is: S-1-5-21-3910203592-2584712022-4742285
 
 [root@newdomain ~]# net setlocalsid S-1-5-21-3910203592-2584712022-4742135
 
 [root@olddomain ~]# net getdomainsid
 SID for domain NewDomain is: S-1-5-21-3910203592-2584712022-4742135
 SID for domain DOMAIN is: S-1-5-21-3910203592-2584712022-4742135
4.На тази стъпка предприемаме рестарт на машината, където е новият домейн. Правим го за всеки случай, за да се застраховам. Това не е задължителна стъпка, но така направих аз.
5.Проверяваме дали самбата работи както трябва. Сега копираме профила на произволен потребител, който ще е тестови за новия домейн. Дори и нещо да се обърка винаги можем да го изтрием.
6.Трябва да добавим ръчно всеки потребител на системата към самба и да модифицираме профила му. Вероятно може да се използва скрипт, но моите потребители не са много (около 20) и не съм се опитвал:
Примерен код
1.smbpasswd –a user 
 2.usermod –d /mnt/sambaFS/profiles/user user – преместваме домашната директория на потребителя
 в неговия профил. Не е задължително, но аз предпочетох така. 
 3.chmod –R 775 /mnt/sambaFS/profiles/user/ 
 4.chown –R user:group /mnt/sambaFS/profiles/user/ 
 5.testparm 
 6.service smb restart
7.Рестартирам самбата. Опитвам се да се логна от някой свободен компютър към новия домейн с потребителското име и парола на тестовия профил. Ако е успешно трябва да видя същия десктоп и настройки както на оригиналния профил от стария домейн. Ако не е успешно-troubleshooting според случая. Открих, че нещата вървят по-гладко ако предварително съм добавил такъв потребител на дадената машина. Просто ни трябва администраторски account. После от My Computer-Properties, сменяме Network ID и чрез Change – домейна, към който машината принадлежи.
8.Може да се наложи да създадем този тестови потребител чрез smbpasswd –a user. Създаваме и друг потребител. Разлогвам се със стария и влизам с новия. Възможно е, тъй като новия няма все още готов профил Windows-a да каже, че не може да открие такъв профил на сървъра и ще зареди локален по подразбиране. Това не е страшно, тъй като при излизане от сесията той ще запише данните върху сървъра. Тук е много важно правилно да сме настроили правата на директориите. При следващото зареждане на профила вече не би трябвало да виждате този надпис.
9.Особен случай е ако профила на някой потребител е само локален. Тогава е нужно първо да създадем потребителя. После се логваме на дадена Windows-ка машина с този потребител и виждаме предупреждение, че Windows-a не намира профил за този потребител и ще зареди такъм по подразбиране. Няма проблем – след това излизаме и проверяваме, че вече има създаден профил на домейна за този потребител. След това влизаме с администраторски права на съответната машина. Нужно е дори и потребителя да е локален администратор пак да влезем или с име Administrator или с някой друг локален потребител с такива права. След това копираме профила на желания потребител (обикновено се намира в C:\Documents and Settings\username). Копираме всичко оттам без NT* и nt* файловете на сървъра. Настройваме правата на новия профил. Сега вече се логваме на локалната машина отново с неговото име и парола и вече би трябвало да заредим прясно копирания профил.
Дано съм бил полезен!

<< Използване на KVM под CentOS 5 | Конфигуриране на Kmail за работа с пощата на Gmail >>

Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук, но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора, както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.

All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
Linux is copyright by Linus Torvalds.
© Линукс за българи ЕООД 2007
© Slavei Karadjov 1999 - 2006

All rights reserved.

Изпълнението отне: 0 wallclock secs ( 0.18 usr + 0.02 sys = 0.20 CPU)