Kako instalirati Sambu na Ubuntu za dijeljenje datoteka na Windows-u


Samba je besplatan/otvoreni izvor i popularno korišten softver za dijeljenje datoteka i usluga ispisa između sistema sličnih Unixu, uključujući Linux i Windows hostove na istoj mreži.

U ovom vodiču ćemo pokazati kako da podesite Samba4 za osnovno deljenje datoteka između Ubuntu sistema i Windows mašina. Pokriti ćemo dva moguća scenarija: anonimno (nesigurno) kao i sigurno dijeljenje datoteka.

Predloženo čitanje: Kako instalirati Samba4 na CentOS/RHEL 7 za dijeljenje datoteka na Windowsu

Imajte na umu da počevši od verzije 4.0, Samba se može koristiti kao Active Directory (AD) domenski kontroler (DC). Organizovali smo posebnu seriju za podešavanje Samba4 Active Directory Domain Controller, koja se sastoji od ključnih tema pod Ubuntu, CentOS i Windows.

  1. Postavljanje Samba4 Active Directory Domain Controller

Instalirajte i konfigurišite Sambu u Ubuntu

Samba server je dostupan za instalaciju iz podrazumevanih Ubuntu repozitorija koristeći alat za upravljanje paketima apt kao što je prikazano.

sudo apt install samba samba-common python-dnspython

Jednom kada samba server instaliran, sada je vrijeme da konfigurišete samba server kao: nebezbedno anonimno i bezbedno deljenje datoteka.

Za ovo, moramo urediti glavni Samba konfiguracijski fajl /etc/samba/smb.conf (koji objašnjava različite konfiguracijske direktive).

Prvo napravite sigurnosnu kopiju originalne sambe konfiguracijske datoteke na sljedeći način.

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

Nakon toga ćemo nastaviti s konfiguracijom sambe za anonimne i sigurno dijeljenje datoteka usluge kao što je objašnjeno u nastavku.

Važno: Pre nego što krenete dalje, uverite se da je Windows mašina u istoj radnoj grupi koja će biti konfigurisana na Ubuntu serveru.

Provjerite postavke radne grupe Windows mašine

Prijavite se na svoju Windows mašinu, kliknite desnim tasterom miša na “Ovaj računar ” ili “Moj računar Svojstva Napredne postavke sistema Naziv računara da potvrdite radnu grupu.

Alternativno, otvorite komandnu liniju i pregledajte je tako što ćete pokrenuti naredbu ispod i potražiti “domen radne stanice”.

>net config workstation

Kada saznate svoju radnu grupu za Windows, vrijeme je da krenete naprijed i konfigurirate samba server za dijeljenje datoteka.

Anonimno Samba dijeljenje datoteka

Prvo počnite kreiranjem dijeljenog samba direktorija gdje će se datoteke pohranjivati.

sudo mkdir -p /srv/samba/anonymous_shares

Zatim postavite odgovarajuće dozvole za direktorij.

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

Sada otvorite konfiguracionu datoteku.

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

Zatim uredite ili modificirajte postavke direktive kao što je opisano u nastavku.

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

Sada provjerite trenutna podešavanja sambe tako što ćete pokrenuti naredbu ispod.

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

Zatim ponovo pokrenite Samba servise da izvršite gore navedene promjene.

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

Testiranje anonimnog Samba dijeljenja datoteka

Idite na Windows mašinu i otvorite “Mreža ” iz prozora Windows Explorer. Kliknite na Ubuntu host (TECMINT za naš slučaj) ili pokušajte pristupiti samba serveru koristeći njegovu IP adresu.

\2.168.43.168

Napomena: Koristite naredbu ifconfig da dobijete IP adresu vašeg Ubuntu servera.

Zatim otvorite Anonimni direktorij i pokušajte dodati fajlove u njega za dijeljenje s drugim korisnicima.

Sigurno Samba dijeljenje datoteka

Da lozinkom zaštitite samba share, morate kreirati grupu “smbgrp” i postaviti lozinku za svakog korisnika. U ovom primjeru koristim aaronkilik kao korisnika i lozinku kao „tecmint“.

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

Napomena: Samba sigurnosni način: sigurnost=korisnik zahtijeva od klijenata da unesu korisničko ime i lozinku za povezivanje na dijeljenje.

Samba korisnički nalozi su odvojeni od sistemskih naloga, međutim, opciono možete instalirati paket libpam-winbind koji se koristi za sinhronizaciju korisnika sistema i lozinki sa bazom podataka samba korisnika.

sudo apt install libpam-winbind

Zatim kreirajte sigurni direktorij u kojem će se čuvati dijeljeni fajlovi.

sudo mkdir -p /srv/samba/secure_shares

Zatim postavite odgovarajuće dozvole za direktorij.

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

Sada otvorite konfiguracionu datoteku.

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

Zatim uredite ili modificirajte postavke direktive kao što je opisano u nastavku.

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

Kao i prije, pokrenite ovu naredbu da vidite svoje trenutne postavke sambe.

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

Kada završite s gornjim konfiguracijama, ponovo pokrenite Samba servise da biste primijenili promjene.

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

Testiranje sigurnog Samba dijeljenja datoteka

Kao i ranije, na Windows mašini i otvorite “Mreža ” iz prozora Windows Explorer. Kliknite na Ubuntu host (TECMINT za naš slučaj). Možda ćete dobiti donju grešku, ako ne pređite na sljedeći korak.

Pokušajte da pristupite serveru koristeći njegovu IP adresu, npr. \\192.168.43.168 ovako. Zatim unesite vjerodajnice (korisničko ime i lozinku) za korisnika aaronkilik i kliknite na OK.

Sada ćete vidjeti sve dijeljene direktorije, kliknite na Sigurno da ih otvorite.

Neke datoteke možete bezbedno dijeliti s drugim ovlaštenim korisnicima na mreži tako što ćete ih ispustiti u ovaj direktorij.

Omogućite Sambu u UFW Firewall u Ubuntu

Ako imate UFW firewall omogućen/aktivan na vašem sistemu, morate dodati pravila da dozvolite Sambi da prođe kroz vaš zaštitni zid.

Da bismo ovo testirali, koristili smo mrežnu šemu 192.168.43.0. Pokrenite naredbe ispod navodeći vašu mrežnu adresu.

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

Također možete pogledati ove korisne članke koji se odnose na dijeljenje datoteka Samba na mreži.

  1. Postavljanje Samba4 Active Directory domenskog kontrolera - 1. do 14. dio
  2. Kako montirati/demontirati lokalne i mrežne (Samba & NFS) sisteme datoteka u Linuxu
  3. Korištenje ACL-ova (Lista kontrole pristupa) i montiranje Samba/NFS dijeljenja
  4. Kako popraviti SambaCry ranjivost (CVE-2017-7494) u Linux sistemima

To je sve! U ovom vodiču smo vam pokazali kako da podesite Samba4 za anonimno i bezbedno deljenje datoteka između Ubuntu i Windows mašina. Iskoristite formu za povratne informacije u nastavku da podijelite bilo kakve misli s nama.