A Samba telepítése és konfigurálása CentOS 7 rendszeren

A Samba az SMB/CIFS hálózati fájlmegosztó protokoll szabad és nyílt forráskódú újraimplementációja, amely lehetővé teszi a végfelhasználók számára a fájlok, nyomtatók és más megosztott erőforrások elérését.

Ezzel a bemutatóval megmutatjuk, hogyan telepíthetjük a Samba-t CentOS 7 rendszeren, és hogyan konfigurálhatjuk önálló kiszolgálóként, hogy különböző operációs rendszerek közötti fájlmegosztást biztosítson egy hálózaton keresztül.

A következő Samba megosztásokat és felhasználókat hozzuk létre.

Felhasználók:

  • sadmin – Adminisztrátori felhasználó olvasási és írási hozzáféréssel az összes megosztáshoz.
  • josh – Egy normál felhasználó saját privát fájlmegosztással.

Megosztások:

  • users – Ez a megosztás minden felhasználó számára elérhető lesz olvasási/írási jogosultsággal.
  • josh – Ez a megosztás csak a josh és sadmin felhasználók számára lesz elérhető írási/olvasási jogosultsággal.

A fájlmegosztások a hálózat összes eszközéről elérhetőek lesznek. A bemutató későbbi részében részletes utasításokat adunk arról is, hogyan csatlakozhatunk a Samba kiszolgálóhoz Linux, Windows és macOS kliensekről.

Előfeltételek #

A kezdés előtt győződjön meg róla, hogy bejelentkezett a CentOS 7 rendszerébe sudo jogosultságokkal rendelkező felhasználóként.

A Samba telepítése a CentOS rendszerre #

A Samba elérhető a CentOS standard tárolóiból. A CentOS rendszerre való telepítéséhez futtassa a következő parancsot:

sudo yum install samba samba-client

A telepítés befejezése után indítsa el a Samba szolgáltatásokat, és engedélyezze, hogy a rendszer indításakor automatikusan elinduljanak:

sudo systemctl start smb.servicesudo systemctl start nmb.service
sudo systemctl enable smb.servicesudo systemctl enable nmb.service

A smbd szolgáltatás fájlmegosztási és nyomtatási szolgáltatásokat nyújt, és a 139-es és 445-ös TCP porton figyel. A nmbd szolgáltatás NetBIOS over IP elnevezési szolgáltatásokat nyújt az ügyfeleknek, és a 137-es UDP porton figyel.

Tűzfal konfigurálása #

Most, hogy a Samba telepítve van és fut a CentOS gépén, konfigurálnia kell a tűzfalat, és meg kell nyitnia a szükséges portokat. Ehhez futtassa a következő parancsokat:

firewall-cmd --permanent --zone=public --add-service=sambafirewall-cmd --zone=public --add-service=samba

Samba felhasználók és könyvtárstruktúra létrehozása #

A könnyebb karbantarthatóság és rugalmasság érdekében a szabványos home könyvtárak (/home/user) helyett az összes Samba könyvtár és adat a /samba könyvtárban lesz elhelyezve.

Kezdje a /samba könyvtár létrehozásával:

sudo mkdir /samba

Hozzon létre egy új csoportot sambashare néven. Később minden Samba felhasználót hozzáadunk ehhez a csoporthoz.

sudo groupadd sambashare 

A /samba könyvtár csoport tulajdonjogát állítsuk be sambashare-re:

sudo chgrp sambashare /samba

A Samba a Linux felhasználók és csoportok jogosultsági rendszerét használja, de saját hitelesítési mechanizmusa van, amely elkülönül a szabványos Linux hitelesítéstől. A felhasználókat a szabványos Linux useradd eszközzel hozzuk létre, majd a smbpasswd segédprogrammal állítjuk be a felhasználói jelszót.

Amint a bevezetőben említettük, létrehozunk egy normál felhasználót, amely hozzáfér a saját privát fájlmegosztásához, és egy adminisztrátori fiókot, amely olvasási és írási hozzáféréssel rendelkezik a Samba szerver összes megosztásához.

Samba felhasználók létrehozása #

Az josh nevű új felhasználó létrehozásához használjuk a következő parancsot:

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

A useradd opciók a következő jelentéssel bírnak:

Hozzuk létre a felhasználó home könyvtárát, és a könyvtár tulajdonjogát a josh felhasználóra és a sambashare csoportra állítjuk:

sudo mkdir /samba/joshsudo chown josh:sambashare /samba/josh

A következő parancs hozzáadja a setgid bitet a /samba/josh könyvtárhoz, így az ebben a könyvtárban újonnan létrehozott fájlok a szülő könyvtár csoportját öröklik. Így függetlenül attól, hogy melyik felhasználó hoz létre egy új fájlt, a fájl csoporttulajdonosa sambashare lesz. Ha például nem állítja be a könyvtár engedélyeit 2770-ra, és a sadmin felhasználó hoz létre egy új fájlt, akkor a josh felhasználó nem lesz képes olvasni/írni ezt a fájlt.

sudo chmod 2770 /samba/josh

Adja hozzá a josh felhasználói fiókot a Samba adatbázishoz a felhasználói jelszó beállításával:

sudo smbpasswd -a josh

A rendszer kérni fogja a felhasználói jelszó megadására és megerősítésére.

New SMB password:Retype new SMB password:Added user josh.

A jelszó beállítása után engedélyezzük a Samba-fiókot a következő beírással:

sudo smbpasswd -e josh
Enabled user josh.

A másik felhasználó létrehozásához ismételjük meg ugyanazt a folyamatot, mint a josh felhasználó létrehozásakor.

A következő lépésként hozzuk létre a sadmin felhasználót és csoportot. Ennek a csoportnak minden tagja rendszergazdai jogosultsággal fog rendelkezni. Később, ha egy másik felhasználónak szeretnénk rendszergazdai jogosultságokat adni, egyszerűen adjuk hozzá a felhasználót a sadmin csoporthoz.

A rendszergazdai felhasználót a következővel hozzuk létre:

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

A fenti parancs létrehoz egy sadmin csoportot is, és hozzáadja a felhasználót mind a sadmin, mind a sambashare csoporthoz.

Adjunk jelszót, és engedélyezzük a felhasználót:

sudo smbpasswd -a sadminsudo smbpasswd -e sadmin

Ezután hozzuk létre a Users megosztási könyvtárat:

sudo mkdir /samba/users

Adjuk meg a könyvtár tulajdonjogát a sadmin felhasználónak és a sambashare csoportnak:

sudo chown sadmin:sambashare /samba/users

Ez a könyvtár minden hitelesített felhasználó számára elérhető lesz. A következő parancs a sambashare csoport tagjainak írási/olvasási hozzáférését konfigurálja a /samba/users könyvtárban:

sudo chmod 2770 /samba/users

Samba megosztások konfigurálása #

Nyissa meg a Samba konfigurációs fájlt, és illessze be a szakaszokat:

sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf

A beállítások jelentése a következő:

  • és – A bejelentkezéskor használt megosztások nevei.
  • path – A megosztás elérési útvonala.
  • browseable – A megosztás szerepeljen-e az elérhető megosztások listájában. A no értékre állítva más felhasználók nem láthatják a megosztást.
  • read only – A valid users listában megadott felhasználók írhatnak-e erre a megosztásra.
  • force create mode – Beállítja az újonnan létrehozott fájlok engedélyeit ezen a megosztáson.
  • force directory mode – Az ebben a megosztásban újonnan létrehozott könyvtárak engedélyeinek beállítása.
  • valid users – A megosztáshoz hozzáférő felhasználók és csoportok listája. A csoportok előtagja a @ szimbólum.

A rendelkezésre álló opciókról bővebben a Samba konfigurációs fájl dokumentációs oldalán olvashat.

Amint végzett, indítsa újra a Samba szolgáltatásokat a következővel:

sudo systemctl restart smb.servicesudo systemctl restart nmb.service

A következő részekben bemutatjuk, hogyan csatlakozhat egy Samba megosztáshoz Linux, macOS és Windows kliensekről.

Kapcsolódás Samba-megosztáshoz Linuxról #

A Linux-felhasználók elérhetik a Samba-megosztást a parancssorból, a fájlkezelő segítségével vagy csatlakoztathatják a Samba-megosztást.

A smbclient kliens használata #

smbclient egy olyan eszköz, amely lehetővé teszi a Samba elérését a parancssorból. A smbclient csomag a legtöbb Linux disztróban nincs előre telepítve, ezért a disztró csomagkezelőjével kell telepítenie.

A smbclient telepítéséhez Ubuntun és Debianon futtassa:

sudo apt install smbclient

A smbclient telepítéséhez CentOS-en és Fedorán futtassa:

sudo yum install samba-client

A Samba megosztás elérésének szintaxisa a következő:A

mbclient //samba_hostname_or_server_ip/share_name -U username

Egy 192.168.121.118 IP-című Samba-kiszolgáló josh nevű megosztásához például josh felhasználóként a:

smbclient //192.168.121.118/josh -U josh

A rendszer a felhasználó jelszavának megadására szólít fel.

Enter WORKGROUP\josh's password:

A jelszó megadása után bejelentkezik a Samba parancssori felületére.

Try "help" to get a list of possible commands.smb: \>

A Samba megosztás csatlakoztatása #

A Samba megosztás csatlakoztatásához Linuxon először telepítenie kell a cifs-utils csomagot.

Ubuntun és Debianon futtassa:

sudo apt install cifs-utils

CentOS-en és Fedorán futtassa:

sudo yum install cifs-utils

Majd hozzon létre egy csatolási pontot:

sudo mkdir /mnt/smbmount

Mountolja a megosztást a következő paranccsal:

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

Egy josh nevű megosztás csatlakoztatásához például a 192.168.121.118 IP-című Samba-kiszolgálón josh felhasználóként a /mnt/smbmount csatlakoztatási pontra a következő parancsot kell futtatni:

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

A rendszer kérni fogja a felhasználói jelszó megadására.

Password for josh@//192.168.121.118/josh: ********

GUI használatával #

A Gnome alapértelmezett fájlkezelőjében, a Files-ban van egy beépített lehetőség a Samba megosztások elérésére.

  1. Nyissa meg a Files-t és kattintson az oldalsávban az “Other Locations”-ra.
  2. A “Connect to Server”-ben adja meg a Samba megosztás címét a következő formátumban smb://samba_hostname_or_server_ip/sharename.
  3. Kattintson a “Csatlakozás” gombra, és a következő képernyő jelenik meg:

  4. Válassza ki a “Regisztrált felhasználó” lehetőséget, adja meg a Samba felhasználónevet és jelszót, majd kattintson a “Csatlakozás” gombra.
  5. A Samba szerveren lévő fájlok megjelennek.

Connecting to a Samba Share from macOS #

A macOS rendszerben a Samba megosztásokhoz a parancssorból vagy a macOS alapértelmezett fájlkezelőjével, a Finderrel is hozzáférhet. A következő lépések azt mutatják be, hogyan lehet elérni a megosztást a Finder segítségével.

  1. Nyissa meg a “Finder”-t, válassza a “Go”-t, majd kattintson a “Connect To”-ra.
  2. A “Connect To”-ban adja meg a Samba megosztás címét a következő formátumban smb://samba_hostname_or_server_ip/sharename.

  3. Kattintson a “Csatlakozás” gombra, és a következő képernyő jelenik meg:

  4. Válassza a “Regisztrált felhasználó” lehetőséget, adja meg a Samba felhasználónevet és jelszót, majd kattintson a “Csatlakozás” gombra.
  5. A Samba szerveren lévő fájlok megjelennek.

Samba megosztáshoz való csatlakozás Windowsról #

A Windows felhasználóknak lehetőségük van a Samba megosztáshoz való csatlakozásra a parancssorból és a felhasználói felületről is. Az alábbi lépések azt mutatják be, hogyan lehet elérni a megosztást a Windows File Explorer segítségével.

  1. Nyissa meg a File Explorert, és a bal oldali ablaktáblában kattintson a jobb gombbal a “This PC”-re.
  2. Válassza ki a “Choose a custom network location” lehetőséget, majd kattintson a “Next”-re.
  3. Az “Internet or network address”-be írja be a Samba megosztás címét a következő formátumban \samba_hostname_or_server_ip\sharename.

  4. Kattintson a “Tovább” gombra, és az alábbiakban látható módon meg kell adnia a bejelentkezési adatokat:

  5. A következő ablakban megadhatja a hálózati hely egyéni nevét. Az alapértelmezettet a Samba-kiszolgáló átveszi.

  6. Kattintson a “Tovább” gombra a kapcsolat beállítási varázsló utolsó képernyőjére.
  7. Kattintson a “Befejezés” gombra, és megjelennek a Samba-kiszolgálón lévő fájlok.

Következtetés #

Ebben a bemutatóban megtanulta, hogyan telepíthet egy Samba-kiszolgálót a CentOS 7 rendszeren, és hogyan hozhat létre különböző típusú megosztásokat és felhasználókat. Azt is megmutattuk, hogyan csatlakozhat a Samba-kiszolgálóhoz Linux, macOS és Windows eszközökről.

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

Az e-mail-címet nem tesszük közzé.