Kako instalirati Sambu na Ubuntu za dijeljenje datoteka u sustavu Windows


Samba je besplatan/otvorenog koda i popularno korišten softver za dijeljenje datoteka i usluga ispisa između Unix sličnih sustava uključujući Linux i Windows hostove na istoj mreži.

U ovom ćemo vodiču pokazati kako postaviti Sambu4 za osnovno dijeljenje datoteka između Ubuntu sustava i Windows strojeva. Pokrit ćemo dva moguća scenarija: anonimno (nesigurno) kao i sigurno dijeljenje datoteka.

Predloženo za čitanje: Kako instalirati Sambu4 na CentOS/RHEL 7 za dijeljenje datoteka u sustavu Windows

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

  1. Postavljanje Samba4 Active Directory kontrolera domene

Instalirajte i konfigurirajte Sambu u Ubuntuu

Samba poslužitelj dostupan je za instalaciju iz zadanih Ubuntu repozitorija pomoću alata za upravljanje paketima apt kao što je prikazano.

sudo apt install samba samba-common python-dnspython

Nakon instaliranja samba poslužitelja, vrijeme je da konfigurirate samba poslužitelj kao: nesigurno anonimno i sigurno dijeljenje datoteka.

Za ovo moramo urediti glavnu Samba konfiguracijsku datoteku /etc/samba/smb.conf (koja objašnjava razne konfiguracijske upute).

Najprije napravite sigurnosnu kopiju izvorne samba konfiguracijske datoteke kako slijedi.

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

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

Važno: Prije nego što krenete dalje, provjerite je li Windows stroj u istoj radnoj grupi koja će biti konfigurirana na Ubuntu poslužitelju.

Provjerite Windows Machine WorkGroup postavke

Prijavite se na svoj Windows stroj, desnom tipkom miša kliknite “This PC ” ili “My Computer Properties Napredne postavke sustava Naziv računala za provjeru radne grupe.

Alternativno, otvorite naredbeni redak i pregledajte ga pokretanjem donje naredbe i potražite “domena radne stanice”.

>net config workstation

Nakon što upoznate svoju Windows radnu grupu, vrijeme je da krenete naprijed i konfigurirate samba poslužitelj za dijeljenje datoteka.

Anonimno dijeljenje datoteka Samba

Najprije počnite stvaranjem zajedničkog samba direktorija u koji će biti pohranjene datoteke.

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 konfiguracijsku datoteku.

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

Zatim uredite ili izmijenite postavke direktive kako 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 trenutne postavke sambe pokretanjem donje naredbe.

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 ponovno pokrenite Samba usluge kako biste izvršili gore navedene promjene.

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

Testiranje anonimnog dijeljenja datoteka Samba

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

\2.168.43.168

Napomena: Koristite naredbu ifconfig da dobijete IP adresu svog Ubuntu poslužitelja.

Zatim otvorite direktorij Anonymous i pokušajte tamo dodati datoteke za dijeljenje s drugim korisnicima.

Sigurno dijeljenje datoteka Samba

Da biste lozinkom zaštitili samba dijeljenje, morate stvoriti 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 unos korisničkog imena i lozinke za povezivanje s dijeljenjima.

Samba korisnički računi odvojeni su od sistemskih računa, no po izboru možete instalirati paket libpam-winbind koji se koristi za sinkronizaciju sistemskih korisnika i lozinki s samba korisničkom bazom podataka.

sudo apt install libpam-winbind

Zatim stvorite sigurni direktorij u kojem će se čuvati dijeljene datoteke.

sudo mkdir -p /srv/samba/secure_shares

Zatim postavite odgovarajuća dopuštenja za direktorij.

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

Sada otvorite konfiguracijsku datoteku.

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

Zatim uredite ili izmijenite postavke direktive kako 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

Baš 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

Nakon što završite s gore navedenim konfiguracijama, ponovno pokrenite Samba usluge kako biste primijenili promjene.

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

Testiranje sigurnog dijeljenja datoteka Samba

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

Pokušajte pristupiti poslužitelju pomoću njegove IP adrese, npr. \\192.168.43.168 ovako. Zatim unesite vjerodajnice (korisničko ime i lozinku) za korisnika aaronkilik i kliknite OK.

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

Neke datoteke možete sigurno dijeliti s drugim dopuštenim korisnicima na mreži tako da ih ispustite u ovaj direktorij.

Omogućite Sambu u UFW vatrozidu u Ubuntuu

Ako imate UFW vatrozid omogućen/aktivan na vašem sustavu, morate dodati pravila koja će omogućiti Sambi prolaz kroz vaš vatrozid.

Da bismo ovo testirali, upotrijebili smo mrežnu shemu 192.168.43.0. Pokrenite donje naredbe navodeći svoju 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 o dijeljenju Samba datoteka na mreži.

  1. Postavljanje Samba4 Active Directory kontrolera domene - dio 1 do 14
  2. Kako montirati/demontirati lokalne i mrežne (Samba & NFS) datotečne sustave u Linuxu
  3. Korištenje ACL-ova (Access Control Lists) i montiranje Samba/NFS dijeljenja
  4. Kako popraviti SambaCry ranjivost (CVE-2017-7494) u Linux sustavima

To je sve! U ovom vodiču smo vam pokazali kako postaviti Sambu4 za anonimno i sigurno dijeljenje datoteka između Ubuntu i Windows strojeva. Upotrijebite obrazac za povratne informacije u nastavku da biste s nama podijelili svoje mišljenje.