Fájlok megosztása Ubuntu 20.04 és Windows rendszerek között Samba segítségével
On január 21, 2022 by adminBár a Linux behatolt az asztali gépek piacára, eredete és jövője nagyon is szerver alapú. Ezért nem meglepő, hogy az Ubuntu képes fájlkiszolgálóként is működni. Az is rendkívül gyakori, hogy Ubuntu és Windows rendszereket használnak egymás mellett hálózati környezetben. Ezért gyakori követelmény, hogy az Ubuntu rendszerben lévő fájlokat hálózati kapcsolaton keresztül Linux, UNIX és Windows alapú rendszerek is elérjék. Hasonlóképpen a Windows rendszereken található megosztott mappák és nyomtatók elérhetőknek kell lenniük az Ubuntu alapú rendszerekből.
A Windows rendszerek az SMB (Server Message Block) protokoll segítségével osztják meg az erőforrásokat, például a fájlrendszereket és a nyomtatókat. Ahhoz, hogy egy Ubuntu rendszer ilyen erőforrásokat tudjon szolgáltatni a hálózaton keresztül egy Windows rendszernek és fordítva, támogatnia kell az SMB-t. Ez a Samba nevű technológiával valósul meg. A Linux és a Windows rendszerek közötti integráción túl a Samba a Linux rendszerek közötti mappamegosztás biztosítására is használható (az előző fejezetben tárgyalt NFS alternatívájaként).
Ez a fejezet a fájlrendszeri erőforrások és nyomtatók Ubuntu rendszeren történő megosztásához szükséges lépéseket vizsgálja meg távoli Windows és Linux rendszerekkel, valamint a Windows erőforrások Ubuntuból történő eléréséhez.
1.1 Windows-erőforrások elérése a GNOME-asztalról
Mielőtt belemennénk a Samba-megosztás részleteibe, érdemes megjegyezni, hogy ha csak a Windows megosztott mappáit szeretné elérni az Ubuntu GNOME-asztalról, akkor a GNOME Fájlok alkalmazáson belül már biztosított a támogatás. A Fájlok alkalmazás a 23-1. ábrán kiemelt gondolatjelben található:
23-1. ábra
Az indítás után válassza a bal oldali navigációs panelen az Egyéb helyek opciót, majd a főpanelen a Windows hálózat ikonját az elérhető Windows erőforrások böngészéséhez:
23-2. ábra
1. ábra.2 Samba és Samba kliens
A Samba lehetővé teszi mind az Ubuntu erőforrások megosztását a Windows rendszerekkel, mind a Windows erőforrások megosztását az Ubuntu rendszerekkel. Az Ubuntu a Samba kliens segítségével fér hozzá a Windows erőforrásokhoz. Az Ubuntu erőforrásokat viszont a Samba szolgáltatás telepítésével és konfigurálásával lehet megosztani a Windows rendszerekkel.
1.3 A Samba telepítése Ubuntu rendszerre
Az Ubuntu telepítési folyamat során használt alapértelmezett beállítások általában nem telepítik a szükséges Samba csomagokat. Hacsak nem kérte kifejezetten a Samba telepítését, nem valószínű, hogy a Samba telepítve van a rendszerén. Annak ellenőrzéséhez, hogy a Samba telepítve van-e, nyisson egy terminálablakot, és futtassa a következő parancsot:
# apt -qq list samba-common samba smbclient
A hiányzó csomagokat az apt parancssori eszközzel telepítheti:
# apt install samba-common samba smbclient
1.4 Az Ubuntu tűzfal konfigurálása a Samba engedélyezésére
A következő lépésben az Ubuntu rendszert jelenleg védő tűzfalat úgy kell beállítani, hogy engedélyezze a Samba forgalmat.
Ha az Uncomplicated Firewallt (ufw) használja, futtassa a következő parancsot:
# ufw allow samba
Alternatívaként, ha a firewalld-t használja, futtassa a firewall-cmd parancsot az alábbiak szerint:
# firewall-cmd --permanent --add-port={139/tcp,445/tcp}# firewall-cmd --reload
A Samba szolgáltatás indítása előtt számos konfigurációs lépésre van szükség annak meghatározásához, hogy az Ubuntu rendszer hogyan jelenjen meg a Windows rendszerek számára, és milyen erőforrásokat kell megosztani a távoli kliensekkel. E konfigurációs feladatok többsége az /etc/samba/smb. conf fájlban történik.
1.5 Az smb.conf fájl konfigurálása
A Samba egy rendkívül rugalmas és konfigurálható rendszer, amely számos különböző lehetőséget biztosít az erőforrások megosztásának szabályozására a Windows hálózatokon. Ez a rugalmasság azt az érzést keltheti, hogy a Samba túlságosan összetett a munka során. A valóságban azonban sok konfigurációs lehetőségre nincs szükség egy tipikus telepítésnél, és az alapkonfiguráció beállításához szükséges tanulási folyamat valójában elég rövid.
Ez a fejezet egy Ubuntu rendszer Windows munkacsoporthoz való csatlakozását és egy könyvtár megosztott erőforrásként való beállítását fogja vizsgálni, amelyet egy adott felhasználó érhet el. Ezt a konfigurációt önálló Samba-kiszolgálónak nevezzük. Ennél fejlettebb konfigurációk, például a Samba Active Directory környezetbe való integrálása is lehetséges, bár ezek nem tartoznak e könyv tárgykörébe.
A Samba konfigurálásának első lépése az /etc/samba/smb.conf fájl szerkesztése.
1.5.1 A szakasz konfigurálása
A smb.conf fájl szakaszokra van osztva. Az első szakasz az a szakasz, ahol a teljes Samba-konfigurációra vonatkozó beállítások adhatók meg. Bár ezek a beállítások globálisak, minden egyes opció felülbírálható a konfigurációs fájl más szakaszaiban.
Az első feladat annak a Windows munkacsoportnak a nevének a meghatározása, amelyen az Ubuntu erőforrásokat meg kell osztani. Ezt a szakasz workgroup = direktívájával szabályozzuk, amely alapértelmezés szerint a következőképpen van beállítva:
workgroup = WORKGROUP
Azzal kezdjük, hogy szükség esetén megváltoztatjuk ezt a munkacsoport tényleges nevére.
A munkacsoport beállításán kívül a többi beállítás azt jelzi, hogy ez egy önálló szerver, amelyen a megosztott erőforrások felhasználói jelszóval lesznek védve. Mielőtt továbblépnénk a megosztandó erőforrások konfigurálásához, az alábbiakban további paramétereket is hozzá kell adni a szakaszhoz:
.. netbios name = LinuxServer..
A “netbios name” tulajdonság azt a nevet adja meg, amelyen a kiszolgáló a hálózat más rendszerei számára látható lesz.
1.5.2 Megosztott erőforrás konfigurálása
A következő lépés a megosztott erőforrások (más szóval a Windows hálózat más rendszereiről elérhető erőforrások) konfigurálása. Ennek érdekében a szakasznak adunk egy nevet, amelyen a megosztás során hivatkozni fogunk rá. Ha például az Ubuntu rendszerünk /sampleshare könyvtárát tervezzük megosztani, akkor a szakasznak a . Ebben a szakaszban számos beállítási lehetőség lehetséges. E példa céljaira azonban egyszerűen definiáljuk a megosztandó könyvtárat, jelezzük, hogy a könyvtár böngészhető és írható, és nyilvánossá nyilvánítjuk az erőforrást, hogy a vendégfelhasználók is hozzáférhessenek:
comment = Example Samba share path = /sampleshare browseable = Yes public = yes writable = yes
A hozzáférés bizonyos felhasználókra való korlátozásához például az “érvényes felhasználók” tulajdonságot használhatjuk:
valid users = demo, bobyoung, marcewing
1.5.3 A felesleges megosztások eltávolítása
A smb.conf fájlban előre be vannak állítva a nyomtatók és a rendszerben lévő felhasználók otthoni mappáinak megosztására szolgáló szakaszok. Ha ezeket az erőforrásokat nem kell megosztani, a megfelelő szakaszokat ki lehet kommentálni, hogy a Samba figyelmen kívül hagyja őket. A következő példában a szakasz ki lett kommentálva:
..## comment = Home Directories# valid users = %S, %D%w%S# browseable = No# read only = No# inherit acls = Yes..
1.6 Samba-felhasználó létrehozása
Minden olyan felhasználót, akinek hozzáférésre van szüksége egy Samba megosztott erőforráshoz, Samba-felhasználóként kell beállítani, és jelszót kell hozzá rendelni. Ezt a feladatot az smbpasswd parancssori eszközzel lehet elvégezni. Vegyük például, hogy egy demo nevű felhasználónak szüksége van arra, hogy hozzáférhessen az Ubuntu rendszerünk /sampleshare könyvtárához egy Windows rendszerről. Ahhoz, hogy ezt a követelményt teljesítsük, a következőképpen kell hozzáadnunk a demót Samba felhasználóként:
# smbpasswd -a demoNew SMB password:Retype new SMB password:Added user demo.
Most, hogy befejeztük egy nagyon alap Samba szerver konfigurálását, itt az ideje, hogy teszteljük a konfigurációs fájlunkat, majd elindítsuk a Samba szolgáltatásokat.
1.7 Az smb.conf fájl tesztelése
A beállításokat az smb.conf fájlban található beállításokat a testparm parancssori eszközzel ellenőrizhetjük hibák szempontjából az alábbiak szerint:
# testparmLoad smb config files from /etc/samba/smb.confrlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)WARNING: The "syslog" option is deprecatedProcessing section ""Processing section ""Processing section ""Loaded services file OK.Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parametersdns proxy = Nolog file = /var/log/samba/log.%mmap to guest = Bad Usermax log size = 1000netbios name = LINUXSERVERobey pam restrictions = Yespam password change = Yespanic action = /usr/share/samba/panic-action %dpasswd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .passwd program = /usr/bin/passwd %usecurity = USERserver role = standalone serverserver string = %h server (Samba, Ubuntu)syslog = 0unix password sync = Yesusershare allow guests = Yeswins support = Yesidmap config * : backend = tdb browseable = Nocomment = All Printerscreate mask = 0700path = /var/spool/sambaprintable = Yes comment = Printer Driverspath = /var/lib/samba/printers comment = Example Samba shareguest ok = Yespath = /sampleshareread only = No
1.8 A Samba és NetBIOS névszolgáltatás indítása
Hogy egy Ubuntu kiszolgáló Windows hálózaton belül működhessen, mind a Samba (SMB), mind a NetBIOS névszolgáltatás (NMB) szolgáltatást el kell indítani. Opcionálisan engedélyezze a szolgáltatásokat is, hogy minden rendszerindításkor elinduljanak:
# systemctl enable smbd# systemctl start smbd# systemctl enable nmbd# systemctl start nmbd
A Windows rendszerről történő csatlakozási kísérlet előtt az smbclient segédprogrammal ellenőrizze, hogy a megosztás konfigurálva van-e:
# smbclient -U demo -L localhost Enter WORKGROUP\demo's password: Sharename Type Comment--------- ---- -------print$ Disk Printer Driverssampleshare Disk Example Samba shareIPC$ IPC IPC Service (demo-server2 server (Samba, Ubuntu))Officejet_Pro_8600_C7C718_ Printer Officejet_6600_971B9B_ Printer Reconnecting with SMB1 for workgroup listing. Server Comment--------- ------- Workgroup Master--------- -------WORKGROUP LINUXSERVER
1.9 A Samba megosztások elérése
Most, hogy a Samba erőforrások konfigurálva vannak és a szolgáltatások futnak, itt az ideje, hogy elérje a megosztott erőforrást egy Windows rendszerről. Az Ubuntu rendszerrel azonos munkacsoportban lévő megfelelő Windows rendszeren nyissa meg a Windows Intézőt, és navigáljon a Hálózat panelre. Ekkor az explorernek keresnie kell a hálózaton, és fel kell sorolnia minden olyan SMB protokollt használó rendszert, amelyet talál. Az alábbi ábra egy Windows 10-es rendszeren a Windows Explorer segítségével megtalált LINUXSERVER nevű Ubuntu rendszert szemlélteti:
23-3. ábra
A LINUXSERVER állomáson való dupla kattintás a hozzáférési jogosultsággal rendelkező felhasználó nevét és jelszavát kéri. Ebben az esetben ez az a demo fiók, amelyet az smbpasswd eszközzel konfiguráltunk:
23-4. ábra
A felhasználónév és jelszó megadásával megjelennek az explorer ablakban az adott felhasználóhoz konfigurált megosztott erőforrások, köztük a korábban konfigurált /sampleshare erőforrás:
23-5. ábra
A /sampleshare megosztott erőforrásra duplán kattintva megjelenik a benne található fájlok és könyvtárak listája.
Ha nem látja a Linux rendszert, vagy problémái vannak a megosztott mappa elérésével, próbálja meg a Samba-megosztást egy helyi Windows-meghajtóra leképezni az alábbiak szerint:
- Nyissa meg a Windows File Explorer-t, kattintson a jobb gombbal a bal oldali panel Network bejegyzésére, majd a megjelenő menüből válassza a Map network drive… parancsot.
- A Map Network Drive párbeszédpanelen válasszon egy meghajtóbetűt, mielőtt megadja a megosztott mappa elérési útvonalát. Például:
\LinuxServer\sampleshare
Az eltérő hitelesítő adatokkal történő csatlakozás mellett lévő jelölőnégyzetet aktiválja. Ha nem szeretné, hogy a meghajtó minden egyes alkalommal leképezésre kerüljön, amikor bejelentkezik a Windows rendszerbe, kapcsolja ki a megfelelő jelölőnégyzetet:
23-6. ábra
A beállítások megadásával kattintson a Befejezés gombra a meghajtó leképezéséhez, kérésre adja meg a fejezetben korábban konfigurált Samba felhasználó felhasználónevét és jelszavát. Rövid késleltetés után a Samba-megosztás tartalma megjelenik egy új File Explorer ablakban.
1.10 Windows-megosztások elérése Ubuntuból
Amint korábban említettük, a Samba egy kétirányú utca, amely nemcsak a Windows-rendszerek számára teszi lehetővé az Ubuntu rendszerben tárolt fájlok és nyomtatók elérését, hanem az Ubuntu rendszernek is lehetővé teszi a Windows-rendszerek megosztott erőforrásainak elérését. Ezt a fejezet elején telepített smbclient csomag segítségével érhetjük el. Ha jelenleg nincs telepítve, telepítse egy terminálablakból a következőképpen:
# apt install smbclient
A Windows rendszer megosztott erőforrásai elérhetők az Ubuntu asztaláról a Files alkalmazással, vagy a parancssorból az smbclient és a mount eszközökkel. Az ebben a szakaszban leírt lépések feltételezik, hogy a Windows rendszeren engedélyezve vannak a megfelelő hálózati megosztási beállítások.
A Windows rendszeren található megosztott erőforrások GNOME-asztalról történő eléréséhez először indítsa el a Fájlok alkalmazást, és válassza az Egyéb helyek lehetőséget. Ekkor megjelenik az alábbi 23-7. ábrán látható képernyő, beleértve a Windows-hálózat ikonját is (ha észlelhető):
23-7. ábra
A Windows-hálózat opció kiválasztásával megjelennek a hálózaton észlelt Windows-rendszerek, és lehetővé válik a hozzáférés a megosztott erőforrásokhoz.
23-8. ábra
Alternatívaként a Csatlakozás a kiszolgálóhoz opcióval egy adott rendszerhez lehet csatlakozni. Vegye figyelembe, hogy a távoli rendszer nevének vagy IP-címének előtagja smb:// kell, hogy legyen, és ezt követheti egy adott megosztott erőforrás elérési útvonala, például:
smb://WinServer10/Documents
Vélemény, hozzászólás?