Zdieľanie Samba

Zdieľanie Samba

Za normálnych okolností, keď v systéme Linux/Windows spustíte správcu súborov systému, uvidíte odporúčané zdieľania v sieti. Tieto zdieľania sú povolené len vtedy, ak sú k stroju pripojení vzdialení používatelia.

Samba je bezplatný softvér, ktorý umožňuje zdieľať súbory cez sieť pomocou protokolu SMB (Server Message Block). Tento nástroj vyvinul Andrew Tridgell v decembri 1991 a januári 1992 .

Skvelé funkcie spojené so Sambou sú:

 
  • Je ľahké a rýchle nasadenie
  • Ponúka zabezpečený prenos dát
  • Multikanálová technológia
  • Podpisovanie správ s digitálnym podpisovaním – užívatelia, ktorí prijímajú dátové pakety, majú istotu pravosti východiskového bodu.
  • Umožňuje súbežné operácie. (súčasný prístup k súborom)
  • Ponúka dobrý výkon pri veľkom zaťažení.
  • Samba podporuje rozšírenia POSIX pre CIFS/SMB
  • Podporuje NetBIOS cez TCP/IP (NBT)
  • Podporuje tlačovú službu v štýle NT (SPOOLSS)

Samba je podporovaná na rôznych platformách, ako sú operačné systémy Windows a Unix, tj Solaris, Linux, AIX a varianty BSD.

Táto príručka vás vybaví požadovanými znalosťami o tom, ako nakonfigurovať Samba Share na Debian 11 / Debian 10.

Krok 1 – Nainštalujte Sambu na Debian 11 / Debian 10

Začneme inštaláciou Samby na Debian 11 / Debian 10. Je to jednoduché, pretože je k dispozícii v predvolených úložiskách Debianu.

sudo apt install samba smbclient cifs-utils

Strom závislosti:

The following additional packages will be installed:
  attr ibverbs-providers keyutils libcephfs2 libgfapi0 libgfrpc0 libgfxdr0
  libglusterfs0 libibverbs1 librados2 librdmacm1 python3-cffi-backend
  python3-cryptography python3-dnspython python3-gpg python3-markdown
  python3-pygments python3-requests-toolbelt python3-samba python3-tdb
  python3-yaml samba-common samba-common-bin samba-dsdb-modules
  samba-vfs-modules tdb-tools
Suggested packages:
  winbind python-cryptography-doc python3-cryptography-vectors python3-sniffio
  python3-trio python-markdown-doc python-pygments-doc ttf-bitstream-vera
  bind9 bind9utils ctdb ldb-tools ntp | chrony smbldap-tools ufw
  heimdal-clients
The following NEW packages will be installed:
  attr cifs-utils ibverbs-providers keyutils libcephfs2 libgfapi0 libgfrpc0
  libgfxdr0 libglusterfs0 libibverbs1 librados2 librdmacm1
  python3-cffi-backend python3-cryptography python3-dnspython python3-gpg
  python3-markdown python3-pygments python3-requests-toolbelt python3-samba
  python3-tdb python3-yaml samba samba-common samba-common-bin
  samba-dsdb-modules samba-vfs-modules smbclient tdb-tools
0 upgraded, 29 newly installed, 0 to remove and 0 not upgraded.
Need to get 24.4 MB of archives.
After this operation, 84.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

Krok 2 – Nastavte globálne nastavenia Samba

Konfiguračný súbor Samba sa nachádza v /etc/samba/smb.conf . V tomto súbore je potrebné vykonať niekoľko zmien. Hoci je Debian dostatočne inteligentný na to, aby poskytoval predvolené konfigurácie, je dobré si to overiť.

Otvorte súbor pomocou preferovaného editora.

sudo vim /etc/samba/smb.conf

V súbore vykonajte úpravy, ako uznáte za vhodné, napríklad pre pracovnú skupinu.

workgroup = WORKGROUP

Krok 3 – Vytvorte zdieľaný adresár Samba

Tu môžete zdieľať verejné aj súkromné ​​adresáre. Takže vytvoríme dva adresáre, ako je uvedené nižšie.

sudo mkdir /public
sudo mkdir /private

Teraz upravte súbor Samba conf a pridajte dva adresáre.

sudo vim /etc/samba/smb.conf

Na koniec súboru pridajte zdieľania a metódy overenia, aby ste k nemu mali prístup.

[public]
   comment = Public Folder
   path = /public
   writable = yes
   guest ok = yes
   guest only = yes
   force create mode = 775
   force directory mode = 775
[private]
   comment = Private Folder
   path = /private
   writable = yes
   guest ok = no
   valid users = @smbshare
   force create mode = 770
   force directory mode = 770
   inherit permissions = yes

Krok 4 – Vytvorte používateľa zdieľania Samba a skupinu používateľov

Potrebujeme skupinu používateľov zdieľania Samba na prístup k súkromnému zdieľaniu, ako je uvedené v konfigurácii vyššie. Takže vytvoríme skupinu, ako je uvedené nižšie.

sudo groupadd smbshare

Pridajte potrebné povolenia pre súkromné ​​zdieľanie.

sudo chgrp -R smbshare /private/
sudo chgrp -R smbshare /public

Nastavte správne povolenia adresára.

sudo chmod 2770 /private/
sudo chmod 2775 /public

Vo vyššie uvedenom príkaze hodnota 2 na začiatku predstavuje bit SGID. To umožňuje novovytvoreným súborom zdediť nadradenú skupinu.

Ďalej vytvorte lokálneho používateľa bez prihlásenia na prístup k súkromnému zdieľaniu.

sudo useradd -M -s /sbin/nologin sambauser

Pridajte používateľa do skupiny zdieľania Samba vytvorenej vyššie.

sudo usermod -aG smbshare sambauser

Teraz vytvorte pre používateľa heslo SMB.

sudo smbpasswd -a sambauser

Povoliť vytvorený účet:

sudo smbpasswd -e sambauser

Krok 5 – Overte konfiguráciu Samby

Po vykonaní zmien v konfiguračnom súbore sa odporúča otestovať ho pomocou nižšie uvedeného príkazu:

sudo testparm

Výstup vykonania:

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
	interfaces = 192.168.205.0/24 eth0
	log file = /var/log/samba/log.%m
	logging = file
	map to guest = Bad User
	max log size = 1000
	obey pam restrictions = Yes
	pam password change = Yes
	panic action = /usr/share/samba/panic-action %d
	passwd chat = *Entersnews*spassword:* %n
 *Retypesnews*spassword:* %n
 *passwordsupdatedssuccessfully* .
	passwd program = /usr/bin/passwd %u
	server role = standalone server
	unix password sync = Yes
	usershare allow guests = Yes
	idmap config * : backend = tdb
.....
[public]
	comment = Public Folder
	force create mode = 0775
	force directory mode = 0775
	guest ok = Yes
	guest only = Yes
	path = /public
	read only = No


[private]
	comment = Private Folder
	force create mode = 0770
	force directory mode = 0770
	inherit permissions = Yes
	path = /private
	read only = No
	valid users = @smbshare

Vyššie uvedený výstup ukazuje, že všetko je správne nakonfigurované. Teraz postupujte ako je uvedené nižšie.

Vytvorte ukážkové súbory v zdieľaniach Samba:

sudo mkdir /private/demo-private /public/demo-public
sudo touch /private/demo1.txt /public/demo2.txt

Reštartujte službu Samba, aby sa zmeny prejavili.

sudo systemctl restart nmbd

Ak máte spustený firewall, musíte povoliť vzdialený prístup zo zadaného rozsahu IP:

sudo ufw allow from 192.168.205.0/24 to any app Samba

Marek Mihók