Kif Tinstalla Samba fuq Ubuntu għal File Sharing fuq Windows


Samba huwa softwer b'xejn/miftuħ u użat b'mod popolari għall-qsim ta' fajls u servizzi ta' stampar bejn sistemi bħal Unix inklużi hosts Linux u Windows fuq l-istess netwerk.

F'din il-gwida, ser nuru kif nistabbilixxu Samba4 għall-qsim bażiku tal-fajls bejn sistemi Ubuntu u magni Windows. Se nkopru żewġ xenarji possibbli: qsim ta' fajls anonimu (mhux sigur) kif ukoll sigur.

Innota li l-bidu mill-verżjoni 4.0, Samba jista 'jintuża bħala kontrollur ta' domain Active Directory (AD) (DC). Aħna organizzajna serje speċjali għat-twaqqif ta' Samba4 Active Directory Domain Controller, li tinkludi suġġetti ewlenin taħt Ubuntu, CentOS u Windows.

  1. Twaqqif ta' Samba4 Active Directory Domain Controller

Installa u Ikkonfigura Samba f'Ubuntu

Is-server Samba huwa disponibbli biex jiġi installat mir-repożitorji default Ubuntu billi tuża l-għodda tal-maniġer tal-pakketti apt kif muri.

$ sudo apt install samba samba-common python-dnspython

Ladarba s-server samba jiġi installat, issa wasal iż-żmien li tikkonfigura s-server samba bħala: qsim ta' fajls anonimu u sigur mhux sigur.

Għal dan, għandna bżonn neditjaw il-fajl ewlieni tal-konfigurazzjoni ta' Samba /etc/samba/smb.conf (li jispjega diversi direttivi ta' konfigurazzjoni).

L-ewwel tagħmel backup tal-fajl tal-konfigurazzjoni oriġinali tas-samba kif ġej.

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

Wara, aħna ser tipproċedi biex tikkonfigura samba għal servizzi ta 'qsim ta' fajls anonimi u sikuri kif spjegat hawn taħt.

Importanti: Qabel ma timxi 'l quddiem, kun żgur li l-magna tal-Windows tkun fl-istess grupp tax-xogħol li se jiġi kkonfigurat fuq is-server Ubuntu.

Idħol fil-magna Windows tiegħek, ikklikkja dritt fuq \Dan il-PC jew \Il-Kompjuter Tiegħi → Proprjetajiet → Settings Avvanzati tas-Sistema → Isem tal-Kompjuter biex tivverifika l-grupp tax-xogħol.

Inkella, iftaħ il-prompt tal-kmand u araha billi tħaddem il-kmand hawn taħt u fittex \dominju tal-istazzjon tax-xogħol.

>net config workstation

Ladarba tkun taf il-grupp tax-xogħol tal-Windows tiegħek huwa żmien li timxi 'l quddiem u tikkonfigura s-server samba għall-qsim tal-fajls.

Qsim Anonimu ta' File Samba

L-ewwel ibda billi toħloq direttorju samba kondiviż fejn se jinħażnu l-fajls.

$ sudo mkdir -p /srv/samba/anonymous_shares

Imbagħad issettja l-permessi xierqa fuq id-direttorju.

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

Issa tiftaħ il-fajl tal-konfigurazzjoni.

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

Imbagħad editja jew immodifika s-settings tad-direttiva kif deskritt hawn taħt.

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

Issa ivverifika s-settings attwali tas-samba billi tħaddem il-kmand hawn taħt.

$ 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

Imbagħad terġa 'tibda s-servizzi ta' Samba biex taffettwa l-bidliet ta 'hawn fuq.

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

Mur fil-magna tal-Windows, u iftaħ \Netwerk minn tieqa tal-Windows Explorer. Ikklikkja fuq il-host Ubuntu (TECMINT għall-każ tagħna), jew inkella tipprova taċċessa s-server samba billi tuża l-indirizz IP tiegħu.

\2.168.43.168

Nota: Uża l-kmand ifconfig biex tikseb l-indirizz IP tas-server Ubuntu tiegħek.

Imbagħad iftaħ id-direttorju Anonymous u pprova żid fajls hemmhekk biex taqsam ma 'utenti oħra.

Qsim ta' Fajl Samba Sikur

Biex tipproteġi b'password sehem samba, trid toħloq grupp smbgrp u tissettja password għal kull utent. F'dan l-eżempju nuża aaronkilik bħala utent u password bħala tecmint.

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

Nota: Il-mod ta 'sigurtà samba: sigurtà = utent jeħtieġ li l-klijenti jdaħħlu username u password biex jikkonnettjaw mal-ishma.

Il-kontijiet tal-utent Samba huma separati mill-kontijiet tas-sistema, madankollu, tista' b'għażla tinstalla l-pakkett libpam-winbind li jintuża biex tissinkronizza l-utenti tas-sistema u l-passwords mad-database tal-utenti samba.

$ sudo apt install libpam-winbind

Imbagħad oħloq id-direttorju sikur fejn se jinżammu l-fajls kondiviżi.

$ sudo mkdir -p /srv/samba/secure_shares

Sussegwentement, issettja l-permessi xierqa fuq id-direttorju.

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

Issa tiftaħ il-fajl tal-konfigurazzjoni.

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

Imbagħad editja jew immodifika s-settings tad-direttiva kif deskritt hawn taħt.

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

Eżatt bħal qabel, mexxi dan il-kmand biex tara s-settings attwali tas-samba tiegħek.

$ 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

Ladarba tkun lest il-konfigurazzjonijiet ta 'hawn fuq, ibda mill-ġdid is-servizzi ta' Samba biex tapplika l-bidliet.

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

Bħal qabel, fil-magna tal-Windows, u tiftaħ \Netwerk minn tieqa tal-Windows Explorer. Ikklikkja fuq il-host Ubuntu (TECMINT għall-każ tagħna). Tista 'tikseb l-iżball hawn taħt, jekk le tipproċedi għall-pass li jmiss.

Ipprova taċċessa s-server billi tuża l-indirizz IP tiegħu, eż. \192.168.43.168 bħal dan. Imbagħad daħħal il-kredenzjali (username u password) għall-utent aaronkilik u kklikkja OK.

Issa se tara d-direttorji kondiviżi kollha, ikklikkja fuq Sikura biex tiftaħha.

Tista' taqsam xi fajls b'mod sigur ma' utenti permessi oħra fuq in-netwerk billi twaqqahom f'dan id-direttorju.

Ippermetti Samba f'UFW Firewall f'Ubuntu

Jekk għandek il-firewall UFW attivat/attiv fis-sistema tiegħek, trid iżżid ir-regoli biex tippermetti lil Samba jgħaddi mill-firewall tiegħek.

Biex nittestjaw dan, użajna l-iskema tan-netwerk 192.168.43.0. Mexxi l-kmandi hawn taħt billi tispeċifika l-indirizz tan-netwerk tiegħek.

$ 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

Tista' wkoll tiċċekkja dawn l-artikoli utli dwar il-qsim tal-fajls Samba fuq netwerk.

  1. Twaqqif ta' Samba4 Active Directory Domain Controller - Parti 1 sa 14
  2. Kif Immonta/Tneħħi s-Sistema tal-Fajls Lokali u tan-Netwerk (Samba & NFS) fil-Linux
  3. L-użu ta' ACLs (Listi ta' Kontroll ta' Aċċess) u l-Immuntar ta' Samba/NFS Shares
  4. Kif Tissewwa l-Vulnerabilità SambaCry (CVE-2017-7494) fis-Sistemi Linux

Dak kollox! F'din il-gwida, wrejnek kif issettja Samba4 għal qsim ta' fajls anonimu u sigur bejn magni Ubuntu u Windows. Uża l-formola ta' feedback hawn taħt biex taqsam xi ħsibijiet magħna.