2009. okt. 7.

Samba telepítése és beállítása Ubuntu szerveren

Az előzőekben feltelepítettük Ubuntu szerverünket de kiszolgálói szerepkört még nem kapott. Így szép és jó a rendszerünk de sok mindenre igazából még nem tudjuk használni. Először legyen Ubuntu szerverünk fileserver!

Ehhez a legelterjebb rendszert a SAMBA -t fogjuk használni. Hogy mi az a SAMBA arról itt olvashatsz egy részletes leírást.


1. Tegyük be az Ubuntu server telepítő lemezt

2. Lépjünk be a saját felhasználónév - jelszó párosunkkal

3. Csatlakoztassuk fel a kötetünket! Ehhez adjuk ki a konzolon a
mount /dev/cdrom
parancsot

4. Ellenőrizzük le, hogy a telepítési forrásaink között szerepel-e a cdrom. Ha nem akkor adjuk meg!

4.1 Készítsünk biztonsági másolatot a /etc/apt/sources.list állományról a konzolon kiadott
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bkp

paranccsal

4.2 Szerkesszük a /etc/apt/sources.list állományt a
sudo vi /etc/apt/sources.list

paranccsal

4.3 Keressük meg a #deb: cdrom [Ubuntu-Server kezdetű sort és töröljük ki a sor elejéről a #-ot. Ha megvagyunk nyomjuk meg az [Esc] -et aztán a :x -szel mentsünk és lépjünk ki a VI alkalmazásból.

4.4 frissítsünk a
sudo apt-get update
-tel

5. Telepítsük fel a SAMBA és a SAMBA-DOC -ot! Adjuk ki a konzolon a
sudo apt-get install samba samba-doc

parancsot. A megjelenő kérdésre nyugodtan ajuk meg a Y -t



6. Ha lefutott a telepítő akkor nézzünk néhány alapbeállítást

6.1 Készítsünk biztonsági másolatot a /etc/samba/smb.conf állományról a konzolon kiadott
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bkp
paranccsal

6.2 majd kezdjük el szerkeszteni a /etc/samba/smb.conf- ot
sudo vi /etc/samba/smb.conf
Nyugodtan jelöljünk ki mindent és töröljük (A VI használatához ITT találsz segítséget!)

Gépeljük be az alábbi sorokat:

[global]
workgroup = TARTOMANY
netbios name = GEPNEV
guest ok = yes
read only = no
security = share
guest account = nobody

[megosztas1]
comment = Vendeg megosztas
path = /tmp
browseable = Yes
read only = Yes
guest ok = Yes

6.3 Mentsük el az smb.conf -ot majd indítsuk újra a SAMBA -t a sudo /etc/init.d/samba restart -tal

6.4 Ha jól dolgoztunk akkor a Windows -os kliens gépünkön a hálózat tallózásakor láthatjuk a Tartomany munkacsoportban a Gepnev -vel megadott Samba szerverünket és gépre kattinva egy megosztást megosztas1 névvel. A megosztas1 -re kattintva pedig a szerveren megosztott /tmp tartalmát




Nézzük át mit is állítottunk be az smb.conf -ban!
a [global] -ban
workgroup = Tartományunk (munkacsoportunk) neve
netbios name = szerver gépneve
guest ok = vendég hozzáférés engedélyezése (Yes / No)
read only = csak olvasható -ság beállítása (Yes / No)
security = biztonsági szint (user / share / domain / ADS / server) Erről részletesebb dokumentációt ITT találsz
guest account = vendég felhasználó

a [megosztas1] -ben
comment = Megjegyzés a megosztáshoz
path = a megosztott könyvtár / állomány elérési útja a szerveren
browseable = tallózható (Yes / No)
read only =csak olvasható (Yes / No)
guest ok =Vendég is hozzáférhet (Yes / No)



Gyakorlásképpen csináljunk egy új, publikus megosztást ahol a megosztott mappába bárki írhat!

Hozzuk létre a szerveren a /home/public mappát a sudo mkdir /home/public parancssorral.
Állítsunk be 777 (azaz Írás, Olvasás, Futtatás mindenkinek) jogot a mappára a sudo chmod 777 /home/public paranccsal

Az smb.conf -ot egészítsük ki az alábbi sorokkal

[Public]
comment = Ide barki irhat
path = /home/public
browseable = Yes
writeable = Yes
guest ok =Yes

Mentsük el az állományt és nézzük meg a kliens gépről a szerverünk megosztásait. Ha mindent jól csináltunk akkor látnunk kellene a Public megosztást és írni is tudunk a mappába. Hozzunk létre benne egy új szöveges dokumentumot!




Eddig a SAMBA segítségével csináltunk egyszerű megosztásokat amiket a hálózatunkból mindenki elérhet és a mappára vagy fájlra adott jogokkal tudja a megosztásokat használni. A következő részben rábírjuk Samba szerverünket a felhasználói azonosításra és az ún. HOME könyvtárak kezelésére.

7. Felhasználói azonosítás és Home könyvtár elérés beállítása
7.1 Módosítsuk az smb.conf [global] részét az alábbiakkal:
security = user
encrypt passwords = yes

töröljük ki a guest ok = yes és a read only = No sorokat!

Tehát a security -t share -ról user -re módosítjuk, beállítjuk hogy a jelszavakat titkosítsa és megtiltjuk a vendég elérést valamint. Ha a kliens gépről tallózunk már nem látjuk direktben a megosztásokat mivel kér egy felhasználó nevet és jelszót a szerver.

7.2 Ahhoz, hogy azonosítani tudjon minket a SAMBA létre kell hoznunk a SAMBA felhasználóinkat a Linuxos felhasználókból. Ehhez használjuk az alábbi parancsot
sudo smbpasswd -a felhasznalonev

Adjuk meg a felhasználónak a SAMBA jelszavát, majd ismétejük meg. Ha az added user felhasznalonev -et látjuk akkor minden rendben van. Így a kliens gépről már csak a megadott felhasználónév / jelszó párossal lehet elérni a megosztásokat.
7.3 A Home könyvtárak kezeléséhez és eléréséhez egészítsük ki az smb.conf -ot

[homes]
comment = Sajat mappa
path = /home/%U
browseable = yes
writable = yes

Így a megosztások között tallózva a home megosztás alatt a beléptetett felhasználó a saját mappájának tartalmát fogja látni.

8. Ha a szerverünk egész nap (vagy legalább munkaidőben folyamatosan) úgyis be van kapcsolva ellentétben a kliens gépekkel érdemes megadnunk, hogy a SAMBA legyen a hálózatunkon a főtallózó tehát a helyi master. Ehhez el kell érnünk hogy a "gépek közötti szavazást" a fő tallózó kérdésben mindig megnyerje. Mind mindig most is az smb.conf -ot szerkesztjük és kiegészítjük a [global] szekciót az alábbi sorokkal

os level = 66
local master = yes

Tehát az os levelt jó magasra állítjuk (a Windows NT-s gépeké 33 viszont az újabb XP, Vista stb. operációs rendszerek miatt annál mindenképp nagyobb kell, hogy legyen. Jelenleg a 66 elegendő) és beállítjuk local master -nek a SAMBA -t.

Ha a hálózatunk nagyobb kiterjedésű és a munkacsoport vagy tartomány több alhálózatban is szerepel akkor nem elegendő a helyi főtallózói szerep, hanem a tartomány főtallózást is a szervernek kell adnunk. Ehhez az smb.conf [global] -ját ismét két sorral bővítjük

domain master = yes
preffered master = yes
azaz a Samba lesz a domain master és a preferált master is.

9. A Samba mint elsődleges tartományvezérlő (Primary Domain Controller )

A Windows NT sorozat megjelenésével a Windows kliensek képesek lettek a tartományba lépésre ahol a felhasználó hitelesítési információit nem a helyi gép végzi el, hanem egy tartományvezérlő(PDC azaz Primary Domain Controller).
Régebben csak a Windows szerver változatai voltak erre képesek (mivel ez a szolgáltatás már nem a NetBIOS protokollon alapult). A Samba fejlesztői viszont megoldották, hogy a Samba szerver is képes legyen PDC -ként viselkedni.

9.1 A megoldáshoz az smb.conf -ban a [global] szakaszt kell ismételten kiegészíteni pár egyszerű sorral:

domain logons = yes
wins support = yes

és létre kell hoznunk egy netlogon megosztást is:

[netlogon]
path = /home/netlogon
public = no
writeable = no
browseable = no

A fenti beállítások alapján nem tudják majd írni a felhasználók és sem is látják tallózás közben, tehát csak az képes hozzáférni aki tud a létezéséről. Eután indítsuk újra a SAMBA -t:
sudo /etc/init.d/samba restart

9.2 Ahhoz, hogy a tartományba a klienseink be tudjanak lépni az Ubuntu szerveren el kell végezni az alábbi műveleteket:

Vegyük fel a kliens gépet először a Linux majd a Samba felhasználók közé (shell-re és saját könyvtárra nincs szükség)
sudo useradd -s /bin/false -d /dev/null kliensgepneve$

sudo smbpasswd -a -m kliensgepneve$

(a kliensgepneve = a windowsos gépünknek adott név, amit a start menü -> beállítások -> vezérlőpult -> rendszer -ben a számítógépnév fül alatt a Módosítás gombra kattintva tudunk megnézni)
Adjunk a szerveren a root -nak egy SAMBA jelszót
sudo smbpasswd -a root

9.3 Most pedig állítsuk be a kliensünket, hogy a munkacsoport helyett a tartomány tagja legyen:
start menü ->beállítások -> vezérlőpult -> rendszer -ben a számítógépnév fül alatt a Módosítás gombra kattintsunk és a Tagság résznél jelöljük be a Tartomány -t és írjuk be a tartományunk nevét

Ezután adjuk meg a root -ot mint felhasználó az előzőekben beállított jelszavával


Ha mindent jól csináltunk akkor kapunk egy szép kis üdvözlő üzenetet és "természetesen" újra kell indítani a gépünket.



A fenti lépéseknél én eddig 2 hibába futottam bele:

1. Nem találja a TARTOMANY domain kiszolgálóját a kliens. Mivel az smb.conf -ban engedélyeztük a wins supportot érdemes a kliensünknél is bállítani a WINS címét

start menü -> beállítások ->vezérlőpult -> hálózati kapcsolatok -> helyi kapcsolat -> Tulajdonságok -> TCP/IP protokoll -> tulajdonságok -> speciális -> WINS fül -> Hozzáadás -nál írjuk be a szerverünk IP címét

2. Beléptetésnél azt írja, hogy nem létesíthetünk több kapcsolatot ugyanazon felhasználóval. Ehhez mielőtt a munkacsoportról tartomány -ra állítjuk a klienst jelentkezzünk ki (start menü -> leállítás -> kijelentkezés) majd lépjünk be újra helyi (rendszergazdai jogokkal rendelkező) fiókunkba
Újraindítás után a Bejelentkezés ablakban immáron be tudunk lépni a Samba -s felhasználónév / jelszó párosunkkal a tartományba


9.4 Mivel a Samba konfigurációban nem állítottuk bejelntkezési profilokat ezért egy kis hibaüzenetet kapunk de ettől még be tudunk jelentkezni és a megosztott mappákat (beleértve a home könyvtárunkat is) elérjük csak kilépéskor nem mentődnek el a profilunk beállításai. Természetesen ha már a szerveren vagyunk azonosítva és ott van a home könyvtár akkor tároljuk is ott a profilunkat valamint dokumentumainkat, hogy bármelyik tartományi gépről bejelentkezve a későbbiekben elérjük azokat.

Az smb.conf -ban adjuk meg hogy hol érik el a profilt, csináljunk egy profiles és egy users megosztást is:
[global]
....
logon path = \\%L\profiles\.profile
logon drive = H:
logon home = \\%L\%U

[profiles]
comment = Halozati profilok
path = %H
read only = No
create mask = 0600
directory mask = 0700
hide unreadable = Yes
store dos attributes = Yes

[users]
comment = Felhasznalok
path = /home
read only = No
inherit acls = Yes
veto files = /aquota.user/groups/shares/

valamint módosítsuk kicsit a homes megosztásunkat is:
[homes]
comment = Sajat mappa
valid users = %S, %D%w%S
read only = no
inherit acls = Yes
browseable = No

Ezek után ha belépünk a tartományba akkor a H: meghajtó a szerveren lévő home könyvtárunkra mutat és elmentődnek a profil beállításaink is. Ahhoz, hogy a Dokumentumok alapértelmezésben a szerveren kerüljenek tárolásra a Windowsban a Dokumentum mappa alapértelmezett helyét meg kell változtatnunk. Ehhez kattintsunk jobb egérrel a Dokumentumok mappára majd a Tulajdonságok -ra. Ezután az Áthelyezés... -re és válasszunk ki egy mappát a szerveren lévő saját (home) könyvtárunkban!


Amennyiben gondod akadt a telepítéssel, beállítással vagy valami hibát találsz a leírásban kérlek jelezd!

3 megjegyzés:

Unknown írta...

Köszönöm szépen a leírást, nagyon hasznos egy kezdő számára.

Nágel István

Unknown írta...

"Ahhoz, hogy a Dokumentumok alapértelmezésben a szerveren kerüljenek tárolásra a Windowsban a"

Befejezetlen a mondat :)

Kitűnő leírás köszi!

Kunci írta...

Nagyon szívesen! Örülök ha segíteni tudtam!

A mondatot befejeztem. Köszönöm, hogy szóltál!