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.service
sudo systemctl start nmb.service
sudo systemctl enable smb.service
sudo 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=samba
firewall-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/josh
sudo 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 sadmin
sudo 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
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. Ano
értékre állítva más felhasználók nem láthatják a megosztást. -
read only
– Avalid 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.service
sudo 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.
- Nyissa meg a Files-t és kattintson az oldalsávban az “Other Locations”-ra.
- 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
. - Kattintson a “Csatlakozás” gombra, és a következő képernyő jelenik meg:
- 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.
- 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.
- Nyissa meg a “Finder”-t, válassza a “Go”-t, majd kattintson a “Connect To”-ra.
- 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
.
- Kattintson a “Csatlakozás” gombra, és a következő képernyő jelenik meg:
- 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.
- 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.
- Nyissa meg a File Explorert, és a bal oldali ablaktáblában kattintson a jobb gombbal a “This PC”-re.
- Válassza ki a “Choose a custom network location” lehetőséget, majd kattintson a “Next”-re.
- 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
.
- Kattintson a “Tovább” gombra, és az alábbiakban látható módon meg kell adnia a bejelentkezési adatokat:
- A következő ablakban megadhatja a hálózati hely egyéni nevét. Az alapértelmezettet a Samba-kiszolgáló átveszi.
- Kattintson a “Tovább” gombra a kapcsolat beállítási varázsló utolsó képernyőjére.
- 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.