Kā instalēt Samba Ubuntu failu koplietošanai sistēmā Windows


Samba ir bezmaksas/atvērta pirmkoda un populāri izmantota programmatūra failu un drukas pakalpojumu koplietošanai starp Unix līdzīgām sistēmām, ieskaitot Linux un Windows resursdatorus vienā tīklā.

Šajā rokasgrāmatā mēs parādīsim, kā iestatīt Samba4 pamata failu koplietošanai starp Ubuntu sistēmām un Windows mašīnām. Mēs aplūkosim divus iespējamos scenārijus: anonīmu (nedrošu), kā arī drošu failu koplietošanu.

Ņemiet vērā, ka, sākot ar 4.0 versiju, Samba var izmantot kā Active Directory (AD) domēna kontrolleri (DC). Mēs esam noorganizējuši īpašu sēriju Samba4 Active Directory domēna kontrollera iestatīšanai, kas sastāv no galvenajām tēmām Ubuntu, CentOS un Windows.

  1. Samba4 Active Directory domēna kontrollera iestatīšana

Instalējiet un konfigurējiet Samba Ubuntu

Samba serveris ir pieejams instalēšanai no noklusējuma Ubuntu krātuvēm, izmantojot apt pakotņu pārvaldnieka rīku, kā parādīts.

$ sudo apt install samba samba-common python-dnspython

Kad samba serveris bija instalēts, tagad ir laiks konfigurēt samba serveri kā: nedrošu anonīmu un drošu failu koplietošanu.

Lai to izdarītu, mums ir jārediģē galvenais Samba konfigurācijas fails /etc/samba/smb.conf (kas izskaidro dažādas konfigurācijas direktīvas).

Vispirms dublējiet oriģinālo samba konfigurācijas failu šādi.

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

Pēc tam mēs turpināsim konfigurēt samba anonīmiem un drošiem failu koplietošanas pakalpojumiem, kā paskaidrots tālāk.

Svarīgi: Pirms turpināt pārvietoties, pārliecinieties, ka Windows mašīna atrodas tajā pašā darba grupā, kas tiks konfigurēta Ubuntu serverī.

Piesakieties savā Windows datorā, ar peles labo pogu noklikšķiniet uz “Šis dators” vai “Mans dators” → Rekvizīti → Sistēmas papildu iestatījumi → Datora nosaukums, lai pārbaudītu darba grupu.

Varat arī atvērt komandu uzvedni un apskatīt to, palaižot zemāk esošo komandu, un meklējiet “darbstacijas domēns”.

>net config workstation

Tiklīdz jūs zināt, ka jūsu Windows darba grupai ir laiks doties uz priekšu un konfigurēt samba serveri failu koplietošanai.

Anonīma Samba failu koplietošana

Vispirms sāciet izveidot kopīgu samba direktoriju, kurā tiks saglabāti faili.

$ sudo mkdir -p /srv/samba/anonymous_shares

Pēc tam direktorijā iestatiet atbilstošās atļaujas.

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

Tagad atveriet konfigurācijas failu.

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

Pēc tam rediģējiet vai modificējiet direktīvas iestatījumus, kā aprakstīts tālāk.

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

Tagad pārbaudiet pašreizējos samba iestatījumus, palaižot zemāk esošo komandu.

$ 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

Pēc tam restartējiet Samba pakalpojumus, lai veiktu iepriekš minētās izmaiņas.

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

Dodieties uz Windows mašīnu un Windows Explorer logā atveriet “Network”. Noklikšķiniet uz Ubuntu resursdatora (mūsu gadījumā TECMINT) vai arī mēģiniet piekļūt samba serverim, izmantojot tā IP adresi.

\2.168.43.168

Piezīme: Izmantojiet komandu ifconfig, lai iegūtu Ubuntu servera IP adresi.

Pēc tam atveriet direktoriju Anonīmi un mēģiniet pievienot tajā failus, lai tos koplietotu ar citiem lietotājiem.

Droša Samba failu koplietošana

Lai aizsargātu ar paroli samba koplietošanu, jums jāizveido grupa “smbgrp” un katram lietotājam jāiestata parole. Šajā piemērā es izmantoju aaronkilik kā lietotāju un paroli kā “tecmint”.

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

Piezīme: Samba drošības režīms: security = user prasa, lai klienti ievadītu lietotājvārdu un paroli, lai izveidotu savienojumu ar koplietošanu.

Samba lietotāju konti ir atsevišķi no sistēmas kontiem, tomēr jūs varat pēc izvēles instalēt paketi libpam-winbind, kas tiek izmantota, lai sinhronizētu sistēmas lietotājus un paroles ar samba lietotāju datu bāzi.

$ sudo apt install libpam-winbind

Pēc tam izveidojiet drošu direktoriju, kurā tiks glabāti koplietotie faili.

$ sudo mkdir -p /srv/samba/secure_shares

Pēc tam direktorijā iestatiet atbilstošās atļaujas.

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

Tagad atveriet konfigurācijas failu.

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

Pēc tam rediģējiet vai modificējiet direktīvas iestatījumus, kā aprakstīts tālāk.

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

Tāpat kā iepriekš, palaidiet šo komandu, lai redzētu pašreizējos samba iestatījumus.

$ 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

Kad esat pabeidzis iepriekš minētās konfigurācijas, restartējiet Samba pakalpojumus, lai veiktu izmaiņas.

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

Tāpat kā iepriekš, Windows mašīnā un Windows Explorer logā atveriet “Network”. Noklikšķiniet uz Ubuntu resursdatora (mūsu gadījumā TECMINT). Jūs varat saņemt kļūdu zemāk, ja ne, pārejiet pie nākamās darbības.

Mēģiniet piekļūt serverim, izmantojot tā IP adresi, piem. \192.168.43.168 kā šis. Pēc tam ievadiet lietotāja aaronkilik akreditācijas datus (lietotājvārdu un paroli) un noklikšķiniet uz Labi.

Tagad jūs apskatīsit visus koplietotos direktorijus, noklikšķiniet uz Secure, lai tos atvērtu.

Dažus failus varat droši kopīgot ar citiem atļautajiem lietotājiem tīklā, tos ievietojot šajā direktorijā.

Iespējojiet Samba Ubuntu UFW ugunsmūrī

Ja jūsu sistēmā ir iespējots/aktīvs UFW ugunsmūris, jums jāpievieno noteikumi, lai ļautu Samba iziet caur jūsu ugunsmūri.

Lai to pārbaudītu, mēs izmantojām tīkla shēmu 192.168.43.0. Izpildiet tālāk norādītās komandas, norādot tīkla adresi.

$ 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

Varat arī apskatīt šos noderīgos rakstus par Samba failu koplietošanu tīklā.

  1. Samba4 Active Directory domēna kontrollera iestatīšana - 1. līdz 14. daļa
  2. Kā lokālos un tīkla (Samba un NFS) failu sistēmas uzstādīt/atvienot Linux sistēmā
  3. ACL (piekļuves kontroles saraksti) izmantošana un Samba/NFS akciju pievienošana
  4. Kā novērst SambaCry ievainojamību (CVE-2017-7494) Linux sistēmās

Tas ir viss! Šajā rokasgrāmatā mēs parādījām, kā iestatīt Samba4 anonīmai un drošai failu koplietošanai starp Ubuntu un Windows mašīnām. Izmantojiet tālāk sniegto atsauksmju veidlapu, lai dalītos domās ar mums.