Weboldal keresés

A Samba telepítése Ubuntu rendszeren a Windows fájlmegosztáshoz


A Samba egy ingyenes/nyílt forráskódú és népszerű szoftver fájlok megosztására és nyomtatási szolgáltatásokra Unix-szerű rendszerek között, beleértve a Linux és Windows gazdagépeket ugyanazon a hálózaton.

Ebben az útmutatóban bemutatjuk, hogyan kell beállítani a Samba4-et az Ubuntu rendszerek és a Windows gépek közötti alapvető fájlmegosztáshoz. Két lehetséges forgatókönyvet tárgyalunk: névtelen (nem biztonságos) és biztonságos fájlmegosztás.

Javasolt olvasmány: A Samba4 telepítése CentOS/RHEL 7 rendszeren Windows fájlmegosztáshoz

Vegye figyelembe, hogy a 4.0-s verziótól kezdődően a Samba Active Directory (AD) tartományvezérlőként (DC) is használható. Speciális sorozatot szerveztünk a Samba4 Active Directory Domain Controller beállításához, amely Ubuntu, CentOS és Windows alatti kulcsfontosságú témákat tartalmaz.

  1. A Samba4 Active Directory tartományvezérlő beállítása

Telepítse és konfigurálja a Sambát az Ubuntuban

A Samba-kiszolgáló telepíthető az alapértelmezett Ubuntu-tárolókból az apt csomagkezelő eszközzel, az ábrán látható módon.

sudo apt install samba samba-common python-dnspython

A samba szerver telepítése után itt az ideje, hogy a samba szervert a következőképpen konfigurálja: nem biztonságos névtelen és biztonságos fájlmegosztás.

Ehhez szerkesztenünk kell a Samba fő konfigurációs fájlját /etc/samba/smb.conf (amely a különféle konfigurációs direktívákat magyarázza).

Először készítsen biztonsági másolatot az eredeti samba konfigurációs fájlról az alábbiak szerint.

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

Ezt követően folytatjuk a samba konfigurálását névtelen és biztonságos fájlmegosztási szolgáltatásokhoz az alábbiak szerint.

Fontos: Mielőtt továbblépne, győződjön meg arról, hogy a Windows-gép ugyanabban a munkacsoportban van, amely az Ubuntu-kiszolgálón lesz konfigurálva.

Ellenőrizze a Windows gép munkacsoport beállításait

Jelentkezzen be Windows gépére, kattintson jobb gombbal a „Ez a számítógép” vagy a „Sajátgép Tulajdonságok elemre. >→ Speciális rendszerbeállítások Számítógép neve a munkacsoport ellenőrzéséhez.

Alternatív megoldásként nyissa meg a parancssort, és tekintse meg az alábbi parancs futtatásával, és keresse meg a „workstation domain” kifejezést.

>net config workstation

Ha már ismeri a Windows-munkacsoportot, itt az ideje, hogy továbblépjen, és konfigurálja a samba-kiszolgálót a fájlmegosztáshoz.

Névtelen Samba fájlmegosztás

Először is hozzon létre egy megosztott samba könyvtárat, ahol a fájlok tárolódnak.

sudo mkdir -p /srv/samba/anonymous_shares

Ezután állítsa be a megfelelő jogosultságokat a könyvtárban.

sudo chmod -R 0775 /srv/samba/anonymous_shares
sudo chown -R nobody:nogroup /srv/samba/anonymous_shares

Most nyissa meg a konfigurációs fájlt.

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

Ezután szerkessze vagy módosítsa az irányelv beállításait az alábbiak szerint.

global]
	workgroup = WORKGROUP
	netbios name = ubuntu
	security = user
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous_shares
	browsable =yes
	writable = yes
	guest ok = yes
	read only = no
	force user = nobody

Most ellenőrizze az aktuális samba-beállításokat az alábbi parancs futtatásával.

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Global parameters
[global]
	netbios name = UBUNTU
	server string = %h server (Samba, Ubuntu)
	server role = standalone server
	map to guest = Bad User
	obey pam restrictions = Yes
	pam password change = Yes
	passwd program = /usr/bin/passwd %u
	passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
	unix password sync = Yes
	syslog = 0
	log file = /var/log/samba/log.%m
	max log size = 1000
	dns proxy = No
	usershare allow guests = Yes
	panic action = /usr/share/samba/panic-action %d
	idmap config * : backend = tdb

[printers]
	comment = All Printers
	path = /var/spool/samba
	create mask = 0700
	printable = Yes
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/printers
	browseable = No
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous_shares
	force user = nobody
	read only = No
	guest ok = Yes

Ezután indítsa újra a Samba szolgáltatásokat a fenti változtatások végrehajtásához.

sudo systemctl restart smbd   [Systemd]
sudo service smbd restart     [Sys V]

A névtelen Samba fájlmegosztás tesztelése

Nyissa meg a Windows rendszerű gépet, és nyissa meg a „Network” elemet a Windows Intéző ablakból. Kattintson az Ubuntu gazdagépre (esetünkben a TECMINT), vagy próbálja meg elérni a samba szervert annak IP-címével.

\2.168.43.168

Megjegyzés: Használja az ifconfig parancsot az Ubuntu szerver IP-címének lekéréséhez.

Ezután nyissa meg az Anonymous könyvtárat, és próbáljon meg fájlokat hozzáadni a többi felhasználóval való megosztáshoz.

Biztonságos Samba fájlmegosztás

Egy samba megosztás jelszavas védelméhez létre kell hoznia egy „smbgrp” csoportot, és be kell állítania egy jelszót minden felhasználó számára. Ebben a példában az aaronkilik-t használom felhasználóként és jelszót, mint „tecmint”.

sudo addgroup smbgrp
sudo usermod aaronkilik -aG smbgrp
sudo smbpasswd -a aaronkilik

Megjegyzés: A samba biztonsági mód: security=user megköveteli, hogy az ügyfelek felhasználónevet és jelszót adjanak meg a megosztásokhoz való csatlakozáshoz.

A Samba felhasználói fiókok elkülönülnek a rendszerfiókoktól, azonban opcionálisan telepítheti a libpam-winbind csomagot, amely a rendszerfelhasználók és jelszavak szinkronizálására szolgál a samba felhasználói adatbázissal.

sudo apt install libpam-winbind

Ezután hozza létre a biztonságos könyvtárat, ahol a megosztott fájlok tárolódnak.

sudo mkdir -p /srv/samba/secure_shares

Ezután állítsa be a megfelelő engedélyeket a könyvtárban.

sudo chmod -R 0770 /srv/samba/secure_shares
sudo chown -R root:smbgrp /srv/samba/secure_shares

Most nyissa meg a konfigurációs fájlt.

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

Ezután szerkessze vagy módosítsa az irányelv beállításait az alábbiak szerint.

[Secure]
	comment = Secure File Server Share
	path =  /srv/samba/secure_shares
	valid users = @smbgrp
	guest ok = no
	writable = yes
	browsable = yes

Csakúgy, mint korábban, futtassa ezt a parancsot az aktuális samba-beállítások megtekintéséhez.

testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Global parameters
[global]
	netbios name = UBUNTU
	server string = %h server (Samba, Ubuntu)
	server role = standalone server
	map to guest = Bad User
	obey pam restrictions = Yes
	pam password change = Yes
	passwd program = /usr/bin/passwd %u
	passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
	unix password sync = Yes
	syslog = 0
	log file = /var/log/samba/log.%m
	max log size = 1000
	dns proxy = No
	usershare allow guests = Yes
	panic action = /usr/share/samba/panic-action %d
	idmap config * : backend = tdb
[printers]
	comment = All Printers
	path = /var/spool/samba
	create mask = 0700
	printable = Yes
[print$]
	comment = Printer Drivers
	path = /var/lib/samba/printers
	browseable = No
[Anonymous]
	comment = Anonymous File Server Share
	path = /srv/samba/anonymous_shares
	force user = nobody
	read only = No
	guest ok = Yes
[Secure]
	comment = Secure File Server Share
	path = /srv/samba/secure_shares
	valid users = @smbgrp
	read only = No

Ha végzett a fenti konfigurációkkal, indítsa újra a Samba-szolgáltatásokat a módosítások alkalmazásához.

sudo systemctl restart smbd   [Systemd]
sudo service smbd restart     [Sys V]

A Samba biztonságos fájlmegosztásának tesztelése

Mint korábban, a Windows gépen nyissa meg a „Network” elemet a Windows Intéző ablakból. Kattintson az Ubuntu gazdagépre (esetünkben a TECMINT). Az alábbi hibaüzenetet kaphatja, ha nem, folytassa a következő lépéssel.

Próbáljon meg elérni a szervert annak IP-címével, pl. \\192.168.43.168, mint ez. Ezután adja meg az aaronkilik felhasználó hitelesítő adatait (felhasználónév és jelszó), majd kattintson az OK gombra.

Most megtekintheti az összes megosztott könyvtárat, és a megnyitásához kattintson a Biztonságos lehetőségre.

Bizonyos fájlokat biztonságosan megoszthat a hálózat többi engedélyezett felhasználójával, ha ebbe a könyvtárba helyezi őket.

Engedélyezze a Sambát az Ubuntu UFW tűzfalában

Ha az UFW tűzfal engedélyezve/aktív a rendszerén, akkor hozzá kell adnia azokat a szabályokat, amelyek lehetővé teszik a Samba áthaladását a tűzfalon.

Ennek teszteléséhez a 192.168.43.0 hálózati sémát használtuk. Futtassa az alábbi parancsokat a hálózati cím megadásával.

sudo ufw allow proto udp to any port 137 from 192.168.43.0/24
sudo ufw allow proto udp to any port 138 from 192.168.43.0/24
sudo ufw allow proto tcp to any port 139 from 192.168.43.0/24
sudo ufw allow proto tcp to any port 445 from 192.168.43.0/24

Megtekintheti ezeket a hasznos cikkeket is a Samba hálózaton történő fájlmegosztásáról.

  1. A Samba4 Active Directory tartományvezérlő beállítása – 1–14. rész
  2. Helyi és hálózati (Samba és NFS) fájlrendszerek csatlakoztatása/leválasztása Linux alatt
  3. Az ACL-ek (Hozzáférési vezérlőlisták) használata és a Samba/NFS megosztások felszerelése
  4. A SambaCry biztonsági résének (CVE-2017-7494) kijavítása Linux rendszereken

Ez minden! Ebben az útmutatóban megmutattuk, hogyan állíthatja be a Samba4-et az Ubuntu és Windows gépek közötti névtelen és biztonságos fájlmegosztáshoz. Az alábbi visszajelzési űrlap segítségével ossza meg velünk gondolatait.