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

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

A most következő leírásban megtudhatjátok, hogyan hozhattok létre egy Ubuntu Serverből Windows fájl szervert.

Ehhez a legelterjedtebb 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

sudo apt-get install samba
sudo apt-get install samba

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

paranccsal

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

Windows hálózat
Windows hálózat
Megosztott mappa
Megosztott mappa

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!

Szerveren létrehozott szöveges dokumentum
Szerveren létrehozott szöveges dokumentum

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

Windows tartományba léptetése
Windows tartományba léptetése

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

Root felhasználó és jelszó megadása
Root felhasználó és jelszó megadása

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

    Bejelentkezés a Windows rendszerbe
    Bejelentkezés a Windows rendszerbe

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!

Szerző kunci

Olvastad?

Linux penguin

Mit kell tudni az inódokról Linux-on? (1. rész)

A Linux fájlrendszere úgynevezett „inód”-okra támaszkodik. Ezen alapvető építőköveit sokan nem ismerik és nem tudják, …

116 hozzászólás

  1. Benji:
    a preffered master = yes -t cseréld
    preferred master = yes -re

    (lásd: levideo 2011.március 17. csütörtök, 13:07 hozzászólást)

  2. A Samba verzió: 3.5.6
    a preferred mastert kicseréltem
    sajna még mindig nem működik.
    lehet a registry-nél rontottam el? egy az egybe bemásoltam amit írtál és karakterláncként hozzáadtam.
    a felhasználónevet, jelszavat kéri aztán jön a hiba.

  3. Benji: De azt ugye tudod, hogy a HKLM az a HKEY_LOCAL_MACHINE rövidítése?!

  4. Benji: a CCS pedig a CurrentControlSet

  5. igen tudom ide lettek hozzáadva: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControllSet\Services és ott a két említett helyen..
    ezeket a parancsokat is elvégeztem:
    useradd -s /bin/false -d /dev/null Benji-PC$
    smbpasswd -a -m Benji-PC$

    illetve a root felhasználó is kapott smb jelszavat.

  6. A Benji-PC$ gépet nem kell a konzolon kézzel hozzáadni, csak a unix/samba usert. Szerintem töröld és a Windowsban a Domain megadásával add hozzá a gépet.
    A WIN7 registry beállításai függenek a Samba verziójától (most melyiket használod?)
    https://wiki.samba.org/index.php/Windows7

  7. az smbstatus-ra ezt adja 3.5.6
    a törlés, hozzáadás részt viszont nem értem. Kifejtenéd?

  8. megpróbáltam windows xp alól is ott ez a hibaüzenet: A felhasználó nem található. a root felhasználóval próbálkoztam

  9. Benji:
    Nézd át mégegyszer részletesen az smb.conf -odat, mert elég egy betű elírás is!

    Próbáld meg a Win7 registry-t az itt leírtak szerint beállítani ill. említi, hogy Win7 -hez van egy hotfix http://support.microsoft.com/kb/2171571
    a cikkben ajánlott Netid.dll -t kell cserélni.

    A SAMBA szervereden töröld ki a Benji-PC$ -t:
    userdel -r Benji-PC$

    Adj a rootnak egy (új) Samba jelszót:
    smbpasswd -a root

    Add hozzá a gépet a tartományhoz:
    useradd -s /bin/false -d /dev/null Benji-PC$
    smbpasswd -a -m Benji-PC$

    Aztán próbálj meg belépni a 9.3 pont szerint.

    Több, jobb ötletem egyelőre nincs.

  10. Benji: Hali, nekem is ezt írta ki, de miután létrehoztam a registryben a megfelelő bejegyzéseket már megy minden. Ami hiba lehet, h karakterláncként adtad őket a registryhez. Ott van, h DWORD= duplaszó! Próbáldd meg úgy!

  11. ringlcs: Köszi szépen így már megoldódott tökéletesen működik. Köszönöm mindenkinek a segítséget és ezt a remek leírást!

  12. Sziasztok!

    A leírás nagyon jó. Ez alapján sikerült is megcsinálnom a tartományba léptetést XP-n és Win 7-en is. Azonban annyi probléma adódott, hogy míg XP-nél tökéletessen működik a központi profil (kijelentkezéskor átmásolja a szerverre, bejelentkezéskor vissza), addig Windows 7-nél nem. Win 7-nél kijelentkezéskor semmit nem másol a profiles mappába.

    Jelenlegi beállítás:
    logon path = \\%N\%U\.profiles

    Mi lehet a probléma? Win 7 miért nem tölti át a profilt kijelentkezéskor?

    Előre is köszönöm a segítséget.

  13. Pepe: Szia!
    A
    Az smb.conf-ban mi van a [homes] és [profiles] részhez írva?
    Valami ilyesmivel működnie kell:
    [homes]
    comment = Home konyvtarak
    valid users = %S, %D%w%S
    read only = No
    inherit acls = Yes
    browseable = No

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

  14. Sziasztok!

    Olyan problemaval fordulnek hozzatok, hogy valamiert ismeretlen parameternek talalja a beallitasok egy reszet. Errol egy linket adok nektek, mert szerintem egyszerubb, mintha leirnam, es esetleg felreertenenk egymast.
    http://kepfeltoltes.hu/view/120127/samba_www.kepfeltoltes.hu_.png
    Meg tudnatok mondani, hogy mit tegyek, hogy ezt a hibat megoldjam?

  15. kovrobert:
    Szia!
    kommenteld ki (#-kal) az smb.conf -ban a guest = ok sort (vagy sorokat)

    Egyébként ezt a Samba indításakor írja ki?

  16. Szia.

    Igen, ezt a samba indulasakor irja ki. Kikommenteltem a sorokat, es csak a cikkben megadott parametereket irtam be. Ettol fuggetlenul windows alol meg mindig nem erem el a megosztast.

    Valami otlet?

    Robi.

  17. hmm…
    Milyen disztribuciot hasznaltok? Nekem ezeket a hibauzeneteket Kubuntu 11.04-es rev.-nel irja.

  18. Az SMB.CONF -ban gondolom így vannak a paraméterek beírva ? :
    paraméter=éerték
    guest = ok

    ..
    Az egyenlőség jelre gondolok konkrétan, mert a belinkelt képernyő fotóból következtetve, mintha az lenne a linux baja..

  19. Kipróbáltam az általad leírt modon is, és úgy is, ahogy a cikkben van, de még mindig ugyan az a hiba jelenség.

  20. kovrobert: Ha nem indul el a Samba akkor a megosztásokat sem fogod elérni.
    Próbáld meg az összes guest-es sort kikommentezni vagy törölni azaz az alábbi smb.conf -fal:

    [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
    public = Yes

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük

A weboldal használatának folytatásával Ön elfogadja a cookie-k használatát Adatkezelési tájékoztató és felhasználási feltételek

A süti beállítások ennél a honlapnál engedélyezett a legjobb felhasználói élmény érdekében. Amennyiben a beállítás változtatása nélkül kerül sor a honlap használatára, vagy az "Elfogadás" gombra történik kattintás, azzal a felhasználó elfogadja a sütik használatát.

Bezárás