Administrare server open source

Platforma de hosting cu software liber, gratuit, open source.

Comentariile sunt închise pentru Configurarea serverului de fisiere Samba

Ce face Samba: Probabil toti sunteti obisnuiti cu NetBIOS-ul din Windows. Samba face cam aceeasi chestie dar pe UNIX.

Cum se instaleaza: Se instaleaza la fel ca oricare alt program. In FreeBSD intrati in /usr/ports/net/samba (sau samba3), ii dati “make install clean” si e rezolvata problema. In alte sisteme… depinde cum il primiti. Daca il primiti/downloadati in cod sursa se compileaza cu (./configure) make, make install, make clean.

Configurare: Configurarile pentru samba se fac din fisierul /usr/local/etc/smb.conf. Pentru un server samba simplu, pentru acasa sau pentru firme mici unde nu se pune problema de securitate, un fisier smb.conf poate avea urmatorul continut:

[global]
workgroup = WORKGROUP
netbios name = FileServer
guest account = pcguest
security = share
 
[public]
comment = Public stuff
path = /mnt/depozit/public
guest ok = Yes
browseable = Yes
writable = Yes

Cam asta e tot ce aveti nevoie. Ca sa intru putin la explicatii, trebuie sa fie minim 2 sectiuni pentru ca serverul samba sa poata fi utilizat: [globals] si o sectiune pentru un director care il puneti pe share [public] (sau [privat] sau [tmp] sau [oricealtceva]).

1. Sectiunea [global]

Aici sunt puse setarile de baza ale serverului (nume, tip de securitate, etc). In cazul de fata sunt patru linii care au urmatoarele semnificatii:

workgroup = numele “workgroup”-ului din care face parte. E la fel ca in Windows… trebuie dat un workgroup pentru ca sistemul sa stie unde lucreaza.

netbios name = numele cu care va fi prezent sistemul in retea

guest account = numele utilizatorului care va fi luat drept implicit in cazul resurselor partajate cu optiunea “guest ok = Yes“. Sistemele MS Windows trimit userul pcguest ca user implicit. Trebuie mentionat ca userul pcguest trebuie sa existe pe sistemul UNIX pe care ruleaza samba.

security = e una din optiunile cele mai importante in configurarea samba. Optiunea “Security” spune clientilor ce fel de “negociere” se face. Poate avea una din urmatoarele valori: share, user, server sau domain. Cand se foloseste optiunea “Share”, utilizatorului (clientului) nu i se cere un username si o parola. Daca optati pentru “User”, fiecare utilizator va trebui sa introduca un username si o parola pentru a accesa serverul samba.

Alte optiuni utile ar fi “server string” (echivalentul campului Comment din windows), “hosts allow” (pentru specificarea hosturilor care au acces la server), “log file” (pentru specificarea log-urilor) si “include” (pentru specificarea altui fisier de configurare care sa fie inclus in smb.conf).

2. Sectiunea [public]

[public] e numele care l-am dat unui director partajat de pe sistemul meu. In cazul de fata sunt continute 5 optiuni, dar importante sunt doar primele 3 (presupunand ca in reteaua locala nu se pune problema securitatii).

comment = un comentariu referitor la continutul resursei partajate

path = calea catre directorul care urmeaza sa fie partajat

guest ok = se specifica daca este acceptat userul guest (in cazul nostru pcguest). Bineinteles, poate lua valorile Yes sau No.

browseable = dreptul de “navigare”

writeable = dreptul de scriere in director

Alte optiuni utile ar fi “valid users” care specifica userii care au acces la resursa respectiva si “only guest”.

3. Variabile

In fisierul smb.conf se pot schimba unele valori in functie de dorintele administratorului. Sa luam un caz concret… in cazul de fata, exemplul de mai sus, toti userii au acces la resursa “[public]” dar eu vreau ca cineva de la IP-ul 192.168.0.10 sa aiba acces si la resursa “[privat]“. Solutia ar putea fi parolarea directorului… dar in samba exista ceva mai simplu si mai elegant. Se foloseste in sectiunea “[global]” directiva “include”. La sfarsitul declaratiilor (preferabil pentru un fisier mai “curat”) din sectiunea “[global]” se adauga o linie de forma:

include smb.conf.%

In acest caz, cand cineva se conecteaza la serverul samba, smbd va incerca sa includa in fisierul de configurare si fisierul smb.conf.[IPul_clientului]. Asta rezolva problema noastra, nu ? Adica, cand IP-ul 192.168.0.10 se conecteaza la serverul samba, smbd va include si fisierul smb.conf.192.168.0.10 care contine declaratia sectiunii “[privat]“.

Acelasi truc poate fi folosit si pentru pastrarea log-urilor. Daca folositi in sectiunea “[global]” directiva “log file”, se poate pune de forma:

log file = /var/log/samba/log.%

pentru a crea fisiere separate pentru fiecare IP care a accesat sistemul.

Lista variabilelor care pot fi folosite (substituite) o aveti aici:

%U - Userul corespunzator sesiunii
%G - Grupul primar din care face parte userul %U
%h - Numele DNS al sistemului pe care ruleaza samba.
%m - Numele NetBIOS al sistemului client.
%L - Numele NetBIOS corespunzator serverului
%M - Numele DNS al clientului
%R - Nivelul protocolului, dupa negocierea de protocol. (CORE, COREPLUS, LANMAN1, LANMAN2, NT1)
%d - PID-ul procesului
%a - Arhitectura clientului. Momentan sunt recunoscute: Samba, CIFSFS, OS2, WfWg, Win95, WinNT, Win2k, WinXP, Win2k3; restul fiind marcate UNKNOWN.
%I - IP-ul clientului
%i - IP-ul interfetei de retea la care este conectat clientul
%T - data si ora curenta
%D - Numele domeniului sau a workgroup-ului de care apartine clientul
%$X - Unde X se inlocuieste cu una din variabilele ENV (USER, SHELL etc.)

Mai mult gasiti in paginile de manual smb.conf(5), samba(7), smbd(8), nmbd(8) si, bineinteles, swat(8).

Linux

Comments are closed.