2013. október 18., péntek

samba

70

A  munkaállomás  eth0  interfészének  konfigurációja  megegyezik  a  szerver  eth0
interfészének  konfigurációjával.  A  munkaállomás  eth1  interfészének  konfigurációja  az
alábbi lesz:

IPv4 cím:  192.168.1.2
Hálózati maszk:  255.255.255.0
Hálózat:  192.168.1.0
Üzenetszórási cím:  192.168.1.255
DNS kiszolgáló:  192.168.1.254
Névkeresési tartományok:  kefo.hu
7.2. Samba kiszolgáló
Az  alábbiakban  két  megosztást  hozunk  létre.  Az  első  egy  mindenki  által  írható-olvasható
megosztás  lesz,  míg  a  második  csak  egy  adott  felhasználó  (hallgato)  számára  nyújt
hozzáférést  egy  könyvtárhoz.  Először  áttekintjük  a  telepítés  lépéseit  és  az  általános
konfigurációs elemeket, majd ismertetjük a két megosztás létrehozását.
7.2.1. Telepítés és általános konfigurációs lépések
A  szerver  virtuális  gépen  frissítsük  a  csomag  adatbázist,  majd  telepítsük  a  Samba
kiszolgálóhoz szükséges csomagokat.

$ sudo apt-get update
$ sudo apt-get install samba smbfs -y

Nyissuk meg a szerkesztésre konfigurációs állományt.

$ sudo nano /etc/samba/smb.conf

Az általános, minden megosztás esetén érvényes beállításokkal kezdjük. Ezek a [global]
szakaszban  találhatóak.  Elsőként  állítsuk  be  a  munkacsoport  nevét.  Ehhez  megkeressük  a
megfelelő sort (workgroup), majd az egyenlőség jel utáni részt megváltoztatjuk.

workgroup=GYAKORLAT

Az  alábbiakban  a  legtöbb  beállítás  esetében  hasonlóképpen  fogunk  eljárni.  Amennyiben
valamelyik kulcs (pl. netbios name) nem szerepel a kezdeti konfigurációs állományban,
akkor  a  teljes  sort  begépeljük,  egyébként  csak  az  egyenlőség  jel  utáni  részt  módosítjuk.
Néhány  esetben  a  kulcs  (pl.  security)  kezdetben  megjegyzésben  áll,  ilyenkor  el  kell
távolítani a sor elején álló pontosvesszőt.

Második beállításunk a gép NetBIOS neve lesz (ezt be kell gépelni):

netbios name=ubuntu-server

Ezt  követően  a  megosztások  biztonsági  modelljét  (szintjét)  felhasználóira  állítjuk.  Ez  azt
jelenti,  hogy  egyedi  felhasználói  névvel  és  jelszóval  férhetnek  hozzá  a  megosztott
erőforrásokhoz, illetve felhasználónként szabályozhatjuk a jogosultságokat. Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban

71

security=user

Bekapcsoljuk  a  Samba  szerver  WINS  szolgáltatását,  ami  azt  jelenti,  hogy  szerverünk  egy
Windows  Internet  Name  Service  kiszolgáló  feladatait  is  el  fogja  látni.  A  kulcs  kezdetben
megjegyzésben van.

wins support=yes

Engedélyezzük,  hogy  a  Samba  szerver  megkísérelje  a  megváltoztatott  Samba  jelszavakat  a
Linux jelszó adatbázisban is érvényesíteni.

unix password sync=yes

Mentsük el a konfigurációs állományt, majd teszteljük azt.

$ sudo testparm

7.2.2. Nyilvános írható-olvasható megosztás
Első  lépésként  definiálunk  egy  vendég  felhasználót  a  Linux  rendszerben.  Sikertelen
autentikáció vagy vendég típusú bejelentkezés esetén ezen felhasználóként vehetjük igénybe a
Samba  szolgáltatásokat.  Az  Ubuntuba  azért  kell  regisztrálnunk  ezt  a  fiókot,  mert  a  Samba
adatbázisába  csak  olyan  fiókok  vehetők  fel,  amelyek  a  Linux  rendszer  adatbázisában  már
szerepelnek.  A  felhasználói  fiókot  úgy  hozzuk  létre,  hogy  nem  jelentkezhet  be  és  nem
rendelkezik saját könyvtárral.

$ sudo vendeg useradd –c "Samba vendég" –d /dev/null
  –s /bin/false

A fiókot felvesszük a Samba felhasználók közé jelszó nélküli fiókként

$ sudo smbpasswd -an vendeg

Ellenőrzésként listázzuk ki a bejegyzett Samba felhasználókat

$ sudo pdbedit  -L

Hozzuk létre a megosztani kívánt könyvtárat, és állítsuk be, hogy minden felhasználó teljes
hozzáférést kapjon hozzá.

$ sudo mkdir /srv/samba/kozos
$ sudo chmod 777 /srv/samba/kozos

A  könyvtárat  szeretnénk  megosztani  az  összes  felhasználó  számára.  Nyissuk  meg  a
szerkesztésre konfigurációs állományt.

$ sudo nano /etc/samba/smb.conf
 7. Megosztás Samba segítségével
(Johanyák Zsolt Csaba)

72
A  globális  beállítások  részben  adjuk  meg  a  vendég  felhasználót,  és  azt,  hogy  sikertelen
autentikáció esetén a felhasználót tekintse vendégnek a rendszer.

guest account=vendeg
map to guest=bad user

A konfigurációs állomány végén hozzunk létre egy új szakaszt az új megosztás számára.

[kozos]

Adunk hozzá egy rövid magyarázó szöveget.

comment=Ez egy nyilvános írható-olvasható megosztás

Beállítjuk az elérési útvonalát és a hozzáférés szabályozást. Legyen a könyvtár írható.

path/srv/samba/kozos
read only=no

Jelszó nélkül lehessen hozzáférni

public=yes

Ne legyen rejtett, jelenjen meg a megosztások listájában

browseable=yes

Minden  felhasználó  kapjon  teljes  hozzáférést  a  benne  létrehozott  könyvtárakhoz  és
állományokhoz  Linux  klienseken  is.  Az  alábbi  beállításpáros  kikényszeríti,  hogy  Linux
klienseken  az  újonnan  létrehozott  állományok  és  könyvtárak  az  rwxrwxrwx
jogosultságszabályozással rendelkezzenek.

force directory mode=0777
force create mode=0777

Mentsük el a konfigurációs állományt, majd teszteljük azt (szintaktikai ellenőrzés).

$ sudo testparm

7.2.3. Megosztás egy adott felhasználó számára
Hozzuk létre a megosztani kívánt könyvtárat, és állítsuk be, hogy a hallgato felhasználó
legyen a tulajdonos és a csoporttulajdonos legyen a hallgato csoport.

$ sudo mkdir /srv/samba/hallgato
$ sudo chown hallgato /srv/samba/hallgato
$ sudo chgrp hallgato /srv/samba/hallgato
 Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban

73
Megj.:  A  Filesystem  Hierarchy  Standard  ajánlása  szerint  a  megosztott  könyvtárakat  a
/srv/samba könyvtár alá ajánlott elhelyezni.

Az  általános  beállítások  után  létrehozunk  egy  megosztást.  A  könyvtárat  szeretnénk
megosztani  a  hallgato  nevű  felhasználó  számára.  Nyissuk  meg  a  szerkesztésre
konfigurációs állományt.

$ sudo nano /etc/samba/smb.conf

A konfigurációs állomány végén hozzunk létre egy új szakaszt az új megosztás számára.

[hallgato]

Adunk hozzá egy rövid magyarázó szöveget.

comment=Ez egy megosztás a hallgato fiók számára

Beállítjuk az elérési útvonalát és a hozzáférés szabályozást. Legyen a könyvtár írható.

path/srv/samba/hallgato
writeable=yes

Jelszó nélkül ne lehessen hozzáférni

public=no

Ne legyen rejtett, jelenjen meg a megosztások listájában

browseable=yes

A hallgato felhasználó írhatja és olvashatja.

read list=hallgato
write list=hallgato

Mentsük el a konfigurációs állományt, majd teszteljük azt (szintaktikai ellenőrzés).

$ sudo testparm

A rendszer adatbázisai a /var/lib/samba könyvtárban találhatóak
Vegyük fel a hallgato felhasználót a Samba adatbázisba.

$ sudo smbpasswd -a hallgato

A jelszó legyen „hallgato”.

7.2.4. A szolgáltatás elindítása és tűzfalszabályok
Indítsuk el/újra a szervert. 7. Megosztás Samba segítségével
(Johanyák Zsolt Csaba)

74

$ sudo service smbd restart

Amennyiben  szerverünkön  működik  tűzfal,  akkor  a  Samba  telepítésekor  kapott
(/etc/ufw/applications.d  könyvtárban  található)  UFW-s  profil  engedélyezésével
nyithatjuk meg a szükséges portokat.

$ sudo ufw allow Samba

Megj.:  A  profil  előírja  a  137-es  és  138-as  portok  megnyitását  az  UDP  protokoll  számára,
valamint a 139-es és a 445-ös portok megnyitását a TCP protokoll számára. Néhány esetben a
fenti  tűzfalmegnyitás  nem  bizonyult  elégségesnek,  és  csak  az  érintett  négy  port  mindkét
protokoll  számára  történő  megnyitását  követően  sikerült  a  kliensnek  csatlakozni  a
megosztáshoz. A megnyitáshoz szükséges utasítások a következőek.

$ sudo ufw allow from 192.168.1.0/24 to any port 137
$ sudo ufw allow from 192.168.1.0/24 to any port 138
$ sudo ufw allow from 192.168.1.0/24 to any port 139
$ sudo ufw allow from 192.168.1.0/24 to any port 445

7.3. Samba kliens és konfigurálása
7.3.1. Kliens telepítése
Az  asztali  Ubuntu  operációs  rendszert  futtató  virtuális  gépen  telepítsük  fel  a  megosztás
eléréséhez szükséges csomagokat.

$ sudo apt-get update
$ sudo apt-get install smbfs smbclient -y

Nyissunk meg egy terminált, és kérdezzük le a kiszolgáló által megosztott könyvtárakat.

$ smbclient -L ubuntu-server -N

A Sharename oszlopban meg kell jelenjen a hallgato és a kozos sor.

7.3.2. A nyilvános megosztás elérése
A megosztást kliens oldalról kétféleképpen érhetjük el: az smbclient parancs segítségével
vagy  felcsatolva  azt  a  könyvtárrendszerünkbe.  Elsőként  próbáljuk  ki  az  smbclient-tel
történő elérést. Mivel ez egy nyilvános megosztás jelszó megadás nélkül csatlakozunk.

$ smbclient //ubuntu-server/kozos  -N

Sikeres  csatlakozást  követően  az  smb:\>  készenléti  jel  jelenik  meg.  A  ?  paranccsal
kérdezhetjük le az elérhető utasítások listáját. Hozzunk létre egy könyvtárat a megosztáson
belül

smb:\> mkdir proba Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban

75

Lépjünk  át  a  szerver  virtuális  gépbe,  hozzuk  létre  ott  a  valami  nevű  szöveges  állományt  a
kozos  könyvtárban,  majd  lépjünk  vissza  a  munkaállomás  virtuális  gépbe  és  töltsük  le  az
állományt (másoljuk le a munkaállomásra).

smb:\> get valami

Lépjünk  ki  az  smbclient-ből  az  exit  parancs  segítségével.  A  letöltött  állomány  az
aktuális könyvtárban található.

A megosztás elérésének gyakrabban alkalmazott módszere az, hogy a megosztott könyvtárat
felcsatoljuk  az  ügyfélgép  állományrendszerébe.  Ehhez  hozzunk  létre  egy  kozos  nevű
könyvtárat.

$ sudo mkdir /mnt/kozos

Hajtsuk végre a felcsatolást vendégként kapcsolódva a megosztáshoz.

$ sudo smbmount //192.168.1.254/kozos    
  /mnt/kozos -o guest

Ellenőrizzük  le  állománylétrehozással,  másolással,  módosítással  a  felcsatolás  sikerességét,
majd csatoljuk le a könyvtárat.

$ sudo umount /mnt/kozos

Ha azt szeretnénk, hogy minden indításkor automatikusan csatolódjon fel a könyvtár, akkor az
/etc/fstab állományba egy új sort kell írnunk. Ehhez nyissuk meg az állományt.

$ sudo nano /etc/fstab

Helyezzük el a következő sort (egyetlen sorba írva, és a sor végén az Enter-t lenyomva):

//192.168.1.254/kozos  /mnt/kozos  smbfs  rw,guest  0 0

Mentsük el az állományt, majd próbáljuk ki a beállítást.

$ sudo mount /mnt/kozos

Lépjünk be a felcsatolt könyvtárba, ellenőrizzük a csatolást. Indítsuk újra a virtuális gépet az
automatikus felcsatolás ellenőrzése érdekében.
7.3.3. Felhasználó számára megosztott könyvtár elérése
Hozzunk  létre  egy  smbkliens  nevű  könyvtárat,  ide  fogjuk  felcsatolni  a  szerver  által  a
hallgato felhasználó számára megosztott mappát.

$ mkdir /home/hallgato/smbmegosztas

Hajtsuk végre a felcsatolást. 7. Megosztás Samba segítségével
(Johanyák Zsolt Csaba)

76

$ sudo smbmount //192.168.1.254/hallgato    
  /home/hallgato/smbmegosztas -o username=hallgato%hallgato

Lépjünk  be  a  könyvtárba,  és  hozzunk  létre  ott  egy  új  szöveges  állományt.  Lépjünk  ki  a
könyvtárból, majd csatoljuk azt le.

$ sudo umount /home/hallgato/smbmegosztas/

Ha azt szeretnénk, hogy minden indításkor automatikusan csatolódjon fel a könyvtár, akkor az
/etc/fstab állományba egy új sort kell írnunk. Ehhez nyissuk meg az állományt.

$ sudo nano /etc/fstab

Helyezzük el a következő sort (egyetlen sorba írva, és a sor végén az Enter-t lenyomva):

//192.168.1.254/hallgato  /home/hallgato/smbmegosztas  smbfs
username=hallgato,password=hallgato,umask=000 0 0

Mentsük el az állományt, majd próbáljuk ki a beállítást.

$ sudo mount /home/hallgato/smbmegosztas

Nincsenek megjegyzések:

Megjegyzés küldése