от Eric Cartman(26-09-2008)

рейтинг (3)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Здравейте, това е първата ми статия и вероятно няма да е издържана много добре. Ще се опитам да обясня как съм мигрирал потребителите от работещ 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 >>