Kako namestiti Sambo na Ubuntu za skupno rabo datotek v sistemu Windows


Samba je brezplačna/odprtokodna in priljubljena programska oprema za skupno rabo datotek in storitev tiskanja med Unix-podobnimi sistemi, vključno z gostitelji Linux in Windows v istem omrežju.

V tem priročniku bomo pokazali, kako nastaviti Samba4 za osnovno skupno rabo datotek med sistemi Ubuntu in računalniki z operacijskim sistemom Windows. Obravnavali bomo dva možna scenarija: anonimni (nezaščiteni) in varno skupno rabo datotek.

Upoštevajte, da se lahko Samba od različice 4.0 uporablja kot krmilnik domene Active Directory (AD) (DC). Organizirali smo posebno serijo za nastavitev domenskega krmilnika Samba4 Active Directory, ki obsega ključne teme v Ubuntu, CentOS in Windows.

  1. Nastavitev krmilnika domene Samba4 Active Directory

Namestite in konfigurirajte Sambo v Ubuntu

Strežnik Samba je na voljo za namestitev iz privzetih skladišč Ubuntu z orodjem apt manager manager, kot je prikazano.

$ sudo apt install samba samba-common python-dnspython

Ko je strežnik samba nameščen, je zdaj čas, da samba strežnik konfigurirate kot: nezaščitite anonimno in varno skupno rabo datotek.

Za to moramo urediti glavno konfiguracijsko datoteko Samba /etc/samba/smb.conf (ki pojasnjuje različne konfiguracijske direktive).

Najprej varnostno kopirajte prvotno konfiguracijsko datoteko sambe, kot sledi.

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

Nato bomo nadaljevali s konfiguracijo sambe za anonimne in varne storitve skupne rabe datotek, kot je razloženo spodaj.

Pomembno: Preden nadaljujete, se prepričajte, da je naprava Windows v isti delovni skupini, ki bo konfigurirana na strežniku Ubuntu.

Prijavite se v svojo napravo Windows, z desno miškino tipko kliknite\"Ta računalnik" ali\"Moj računalnik" → Lastnosti → Napredne sistemske nastavitve → Ime računalnika, da preverite delovno skupino.

Druga možnost je, da odprete ukazni poziv in si ga ogledate tako, da zaženete spodnji ukaz in poiščete\"domeno delovne postaje".

>net config workstation

Ko enkrat ugotovite, da je vaša delovna skupina Windows čas, da gre naprej in konfigurira strežnik samba za skupno rabo datotek.

Anonimna skupna raba datotek Samba

Najprej začnite z ustvarjanjem skupnega imenika samba, kjer bodo datoteke shranjene.

$ sudo mkdir -p /srv/samba/anonymous_shares

Nato nastavite ustrezna dovoljenja za imenik.

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

Zdaj odprite konfiguracijsko datoteko.

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

Nato uredite ali spremenite nastavitve direktiv, kot je opisano spodaj.

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

Zdaj preverite trenutne nastavitve sambe, tako da zaženete spodnji ukaz.

$ 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

Nato znova zaženite storitve Samba, da izvedete zgornje spremembe.

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

Pojdite na računalnik z operacijskim sistemom Windows in v oknu Raziskovalca odprite\"Network". Kliknite gostitelja Ubuntu (v našem primeru TECMINT) ali pa poskusite dostopati do strežnika samba z uporabo njegovega naslova IP.

\2.168.43.168

Opomba: Z ukazom ifconfig dobite naslov IP strežnika Ubuntu.

Nato odprite imenik Anonymous in vanj poskusite dodati datoteke za skupno rabo z drugimi uporabniki.

Varna skupna raba datotek Samba

Za zaščito skupne rabe sambe morate ustvariti skupino »smbgrp« in nastaviti geslo za vsakega uporabnika. V tem primeru uporabljam aaronkilik kot uporabnika in geslo kot "tecmint".

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

Opomba: Varnostni način sambe: security = user zahteva, da stranke vnesejo uporabniško ime in geslo za povezavo z delnicami.

Uporabniški računi Samba so ločeni od sistemskih računov, vendar lahko po želji namestite paket libpam-winbind, ki se uporablja za sinhronizacijo uporabnikov sistema in gesel z zbirko podatkov uporabnikov sambe.

$ sudo apt install libpam-winbind

Nato ustvarite varen imenik, v katerem bodo shranjene datoteke v skupni rabi.

$ sudo mkdir -p /srv/samba/secure_shares

Nato nastavite ustrezna dovoljenja za imenik.

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

Zdaj odprite konfiguracijsko datoteko.

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

Nato uredite ali spremenite nastavitve direktiv, kot je opisano spodaj.

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

Tako kot prej zaženite ta ukaz, da vidite trenutne nastavitve 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

Ko končate z zgornjimi konfiguracijami, znova zaženite storitve Samba, da uveljavite spremembe.

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

Kot prej v računalniku z operacijskim sistemom Windows in v oknu Raziskovalca odprite\"Network". Kliknite gostitelja Ubuntu (v našem primeru TECMINT). Morda boste dobili napako spodaj, če ne nadaljujete z naslednjim korakom.

Poskusite dostopati do strežnika z uporabo njegovega naslova IP, npr. \\ 192.168.43.168 kot je ta. Nato vnesite poverilnice (uporabniško ime in geslo) za uporabnika aaronkilik in kliknite V redu.

Zdaj si boste ogledali vse imenike v skupni rabi, kliknite Varno, da jih odprete.

Nekatere datoteke lahko varno delite z drugimi dovoljenimi uporabniki v omrežju, tako da jih spustite v ta imenik.

Omogočite Sambo v požarnem zidu UFW v Ubuntuju

Če imate v sistemu vklopljen/aktiven požarni zid UFW, morate dodati pravila, ki Sambi omogočajo prehod skozi vaš požarni zid.

Da bi to preizkusili, smo uporabili omrežno shemo 192.168.43.0. Zaženite spodnje ukaze, ki določajo vaš omrežni naslov.

$ 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

Ogledate si lahko tudi te koristne članke o skupni rabi datotek Samba v omrežju.

  1. Nastavitev Samba4 Active Directory Domain Controller - 1. do 14. del
  2. Kako namestiti/odstraniti lokalne in omrežne (Samba & NFS) datotečne sisteme v Linuxu
  3. Uporaba ACL-jev (seznami za nadzor dostopa) in namestitev delnic Samba/NFS
  4. Kako odpraviti ranljivost SambaCry (CVE-2017-7494) v sistemih Linux

To je vse! V tem priročniku smo vam pokazali, kako nastaviti Samba4 za anonimno in varno skupno rabo datotek med stroji Ubuntu in Windows. Uporabite spodnji obrazec za povratne informacije, če z nami delite svoje misli.