от Н. Антонов(3-02-2004)

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

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

Да поговорим отново за Samba


Въведение


Може би, само малките деца не знаят, че Samba може да превърне вашата Unix/Linux машина в мощен файлов и принтсървър за мрежи, в които преобладава Windows. Samba е надежден свободен продукт, който може успешно да замества сървърите с Windows NT/2000 и дори NetWare, характеризира се с голяма надеждност и висока производителност.

Целта на този материал не е да опише как се инсталира Samba. Това вече е описано в статията Инсталиране и конфигуриране на Samba (част 1) и в статията Как да си инсталираме Samba 3. Предмет на статията ще бъде описанието на някои основни принципи при работа със Samba, също така, ще разгледаме и една примерна конфигурация, която можете веднага да изпробвате на компютъра си. С една дума, възползвайки се от факта, че като цяло инсталирането и конфигурирането на Samba вече е описано и е достатъчно да обърнем внимание на посочените статии, ще си позволим тук само да се спрем на някои аспекти, които не са маловажни, като спазваме принципа на достъпност за начинаещите.

Samba използва протокола SMB (Server Message Block) на Microsoft. Протоколът SMB се основава на NetBIOS услугите и е сравним с NFS при Linux/Unix. NetBIOS е софтуерен интерфейс (API), проектиран за осъществяване на комуникаця между машините чрез т. нар. услуги за имена (name services). При този тип услуги всяка машина в мрежата си запазва собствено име, с което може да бъде открита. Тук няма централен процес, който управлява имената. Всяка машина може да запази произволно име, стига то да не е заето вече от друга машина.
Имената по NetBIOS, които се изпращат по TCP/IP, нямат нищо общо с имената в '/etc/hosts' или с имената по DNS. NetBIOS използва собствен начин на именуване. Въпреки това, за препоръчване е имената по NetBIOS да съвпадат с имената по DNS, тъй като това неимоверно ще улесни администрацията и работата на цялата мрежа. По подразбиране Samba прилага именно този метод на именуване.


Правата
NFS услугите се конфигурират посредством '/etc/exports'. Правата за достъп се дефинират само на базата на отделна машина. NFS е проектиран за Unix/Linux машини и проверката на даден потребител се извършва на основание неговите собствени права като потребител, регистриран в системата, чрез проверка в '/etc/passwd' или NIS.
Протоколът SMB използва два вида ниво на сигурност.

  • Share Level
Поделените ресурси могат да се защитят с парола, която се приписва директно към тях. Всеки, който знае тази парола, може да ги достъпва.

  • User Level
Всеки потребител се регистрира, като подава потребителско име и парола. При успешна регистрация сървърът му предоставя достъп до съответната услуга.


В повечето случаи се налага да използваме share-level. Имаме на разположение лесен начин за поделяне на домашните директории на потребителите, защитени с нормалната потребителска парола. Ако искаме да защитим по този начин друг вид директории, ще се наложи обаче да използваме user-level, като подадем опцията security = user в глобалната секция на файла smb.conf. Тогава потребителите се проверяват чрез '/etc/passwd' и '/etc/group'. Samba разполага и с трета възможност – да проверява потребителите чрез друг сървър, примерно работещ на Windows NT/2000, който се описва като password server, а нивото на сигурност се означава като security = server.


smb.conf


Всичко, което ни трябва, за да управляваме нашия сървър със Samba, се намира във файла smb.conf. Този файл се състои от няколко раздела или секции. Първо е разделът [global], в който се описват параметри, засягащи функционалността на сървъра като цяло. Опциите в този раздел важат за цялата система. Имаме подразбиращи се раздели [homes] и [printers], които по подразбиране поделят потребителските директории на Unix-потребителите, защитени със съответната парола, и конфигурираните към системата принтери, описани в '/etc/printcap'. Достатъчно е само да подадете във файла [homes] и [printers], без да пишете нищо допълнително.
Тук ще разгледаме един примерен файл smb.conf, след което ще обърнем внимание и на някои опции, засягащи производителността на сървъра. Често пъти чуваме оплаквания, че Samba работела бавно. Това е напълно възможно. Не можем да очакваме особена производителност от една конфигурация по подразбиране. Достатъчно е обаче да добавим само няколко опции, с които нашият сървър буквално ще полети;)


[global]

workgroup = workgroup

guest account = nobody

keep alive = 30

security = share

printing = bsd

prontcap name = /etc/printcap

load printers = yes

  • workgroup = workgroup

Работната група се явява мрежовата среда, към която се присъединява дадената машина. Това е задължителен параметър.

  • guest account = nobody

Samba се нуждае от потребителско име, описано в '/etc/passwd', от чието име да работи. Добре е този потребител да е непривилегирован, като nobody. Този параметър се комбинира с public = yes, което трябва да се припише към съответния ресурс.

  • keep alive = 30

Машините с Windows често пъти забиват;) Когато нещо такова се случи с машина, която е закачена за Samba, сървърът разбира за инцидента доста по-късно. Ако не искате да хабите излишни ресурси, можете с тази опция да кажете на Samba на колко секунди да проверява дали клиентът все още е на линия.

Добре е да имаме предвид важна забележка относно опис


<< Инсталация на Oracle 10g под Linux x86 | Как да пуснем VPN под Linux >>