Когато хората се
замислят за централизирано управление на група от компютри се сещат за Primary Domain Controller (PDC). Тъй като Windows Server не се нрави на повечето хора, както и на мен заради
приличните си цени, се заинтересовах от възможностите на SAMBA който може да бъде PDC. След като
изчетох всички документации по тази тема и след многото проблеми
породили се от това накрая успях да настроя Samba PDC.
Първото нещо от
което имате нужда е Samba.
(Това
представлява система за достъп на Windows потребители до ресурсите на Linux или Unix странция или сървър)
http://www.samba.org
Няма да наблягам
върху инсталацията на Samba,
защото в повечето дистрибуции я има инсталирана.
Ако наистина не разбирате как да си я качите прочетете README файла в
разархивираната вече инсталационна директория на Samba.
Единственото от
което се нуждаете е да конфигурирате конфигурационния файл и да се
заредите с търпение.
Отваряте
конфигурационния файл на samba обикновено в:
/etc/samba/smb.conf или /etc/smb.conf
Като начало ще
покажа конфигурационния файл как съм го направил а след това ще обясня
кое, как и защо съм го направил.
В [global] секцията се конфигурират следните линии:
workgroup
= DOMAIN #Името на домейна
netbios
name = PDC #Името на сървъра
server
string = Samba PDC Server
#Коментар на сървъра
security
= user #Използване на сървъра само от потребители
encrypt
passwords = yes #Автентикация без plain-passwords
socket
options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
local
master = yes #”упрявляващ” в локалната мрежата
os
level = 33 # Коефициент за управляващия
domain master =
yes #Управляващ в DOMAIN
admin users = admin #Администратор на DOMAIN
domain admin group = @adm #Група на Администраторите
domain logons =
yes #Да може да деиства като DOMAIN
logon script =
login.bat #Скрипт който да се зарежда при
стартиране на машината
logon path = \\PDC\Profiles\%U # Къде да се съхранява информацията на Desktop-a
logon home = \\PDC\%U #Директория на потребителя
wins support = yes
wins proxy = yes
[homes]
#Директории на потребителите на DOMAIN
comment = Home Directories
browseable = no
writeable = yes
valid users = %S
directory mode = 0700 #Права на достъп до директорията (само за тях)
create mode = 0600 #Права на файловете само от тях
[netlogon]
comment = Network Logon Service
path
= /usr/local/samba/netlogon
read
only = yes
write list = @adm
guest ok = yes
share modes = no
browsable=no
[Profiles]
path = /usr/local/samba/profiles
readonly = no
browseable = no
create mask = 0600
directory mask = 0700
[install]
comment = Install
path
= /mnt
public = yes
writeable = yes
printable = no
write list = @adm
Като начало двата
реда:
workgroup
= DOMAIN #Името на домейна
netbios
name = PDC #Името на
сървъра
Представляват Workgroup с име DOMAIN защо се слагат? Защото когато
отидете в Properties->My
Computer->Computer Name->Change…
Излиза “Member of:” и там се задава DOMAIN: Domain
Windows разпознава групата Domain като PDC и се опитва
да се свърже с него.
След
това:
security
= user #Използване на сървъра само от потребители
С този ред се
задава достъп до PDC само от потребители. Които после ще обясня как се
администрират през “smbpasswd”.
domain logons =
yes #Да може да деиства като DOMAIN
logon script =
login.bat #Скрипт който да се зарежда при
стартиране на машината
logon path = \\PDC\Profiles\%U # Къде да се съхранява информацията на Desktop-a
logon home = \\PDC\%U #Директория на потребителя
“domain logons” е опция която има за задача да
активира Samba да действа като PDC
“logon script” задава скрипт-а който ще се активира
при всяко стартиране на потребителския компютър, който е в Domain-a.
По принцип в този
скрипт се задава (примерно):
Net use s: \\PDC\install
Където install е
шерната папка от сървъра и дава достъп на потребителя до “примерно”
инсталационен софтуер. (тя е споделена по - надолу в самият
конфигурационен файл)
“logon path” представлява директория в която се
записват всички настройки на потребителя, заедно с целия Desktop, My Documents и
т.н. При всеки LogOff или ShutDown се
записват настройките на сървъра. Profiles се дефинира по - надолу в конфиг-а.
“logon home” представлява личната директория на
потребителя, Тя автоматично се задава като устройство в самият
компютър. Чрез 'logon drive” се задава устройстовото в кето да се намира личната
директория. %U в Samba означава името на потребителя “username”
[homes] - задава
личната директория до която има достъп само потребителя
Правата за
самостоятелен достъп се задават със следните редове:
valid users = %S
directory mode = 0700 #Права на достъп до директорията (само за тях)
create mode = 0600 #Права на файловете само от тях
Тук “directory mode” задава
правата на достъп до директории 0700 означава че само потребителя има
достъп до директорията, а “create mode” и 0600 за самостоятелен достъп до файловете.
“valid users” са валидните потребители за Domain където %S са всички
потребители на Domain.
[netlogon] - се
задава за да може да се сложи служебна информация за отделните
потребители. В нашият случай се слага в нея “login.bat”. Но също могат да се зададат и “Security Policies” (за
момента не съм го правил).
[Profiles] - Както
вече обясних това са директориите на потребителите, където автоматично
се съхраняват данните за Desktop, My Documents и т.н.
зададени със определените права.
Сега ще трябва да
се вкарат потребители и машини в Domain-а.
Регистрацията
става много лесно.
Създавате група staff и adm:
addgroup adm
addgroup staff
Създавате user (потребител) чрез:
Adduser
Или направо:
useradd -g 100 -d
/dev/null -c admin -m -s
/bin/false admin$
useradd -g 101 -d /dev/null -c joro -m -s /bin/false joro$
където admin$
представлява името на компютъра в мрежата, а admin е името на потребителя, a “-g 100” е номера
на групата (в този случай adm), a “-g 101” e групата staff.
За да се
регистрират в Domain-а
трябва по отделно да се регистират и потребител и машина. Това става
със smbpasswd.
smbpasswd -a admin
А за да
регистрира машина:
smbpasswd -m
admin$
Така вкарвате
всички машини в мрежата които искате да имат достъп до Domain и след това потребителите които
искате да го ползват.
До тук нещата се
настройват лесно. Но излизат винаги проблеми, както при мен отделих
повече време на проблемите, отколкото на настройките.
За да могат Windows машини
да се свързват към Samba трябва да се инсталират някои registry които можете да намерите в:
http://de.samba.org/samba/ftp/docs/Registry/
Те са за всички
версии на Windows.
Ако сте пробвали
дали машината която ще я вкарате в Domain има достъп до PDC
тя е направила заявка към сървъра и е отворила \\PDC\IPC$. За да може да се свърже към Domain-а трябва
тази връзка да я няма и затова преди да започнете напишете:
Net use * /delete
Ще ви покаже
връзката към PDC която трябва да затворите. Иначе при влизането в Domain дава
грешка за прекалено много връзки към Domain.
На теория вече
трябва да е възможно един Windows който е регистриран в Domain да може
да се свърже с него, затова сега отиваме в
Properties->My
Computer->Computer Name->Change…
И променяме
стойността на Domain: да бъде Domain (както се казва нашият Domain)
След като направи
компютъра връзка с Domain-а
пита за администраторският акаунт, който създадохме по - горе. След
като го въведете “би трябвало” да изкара “Welcome to DOMAIN”. Но не винаги е така.
“A domain controller for the domain DOMAIN could not be
contacted.” - Проверете дали Samba сървъра е пуснат или дали сте
задали правилно IP
адресите.
“Username or password incorrect” - ако сте сигурни, че
администраторския акаунт е правилен тогава не сте създали машината във Domain. Това е обяснено по - горе как
да я създадете.
Сега наистина
трябва да може да се Log-не
в Domain.
След като се LogOff вече имате меню в advanced settings на Login екрана да избирате между Domain и This
Computer. Избирате Domain и въвеждате вашият потребител който
сте създали преди това.
“Windows cannot update your roaming profile” - Това се получава когато
директорията на потребителя в Profiles не е с неговите нива
на достъп, затова отивате в
/usr/local/samba/profiles
chown user:nobody
755 user'sdirectory/
Автоматично Windows си създава своя поддиректория в
която слага служебната информация за всеки потребител като всеки
потребител си има своя собствена директория:
/usr/local/samba/profiles/admin
/usr/local/samba/profiles/joro
…
Така вече
създадените потребители имат достъп до Domain.
Както и вие си
имате PDC.
Ако наистина има
излезли проблеми които не съм написал или пропуснал, ще бъда благодарен
да ги разясним.
Успех на всички
които са решили да създават Domain чрез Samba.
Ако имате някакви
въпроси, можете да се обърнете към мен на:
kalata@linuxmail.org