Protokol SMB/CIFS
- protokol na zdieľanie súborov, služieb a tlačiarní po sieti
- aplikačná vrstva OSI
- IBM/Microsoft
- základný protokol pre niektoré úložiská Microsoftu
- CIFS - SMB 1.0
- client-server
Verzie
-
1.0
pôvodná Microsoft implementácia SMB
-
2.0/2.1
zvýšenie výkonu, redukcia veľkosti
-
3.0
zavedenie šifrovania, vyššia bezpečnosť
Použitie
- úložisko pre virtualizované prostredia
- Microsoft SQL Server
- end user data
Samba
- open-source implementácia protokolu SMB
- zdieľanie súborov a tlačiarní pre klientov Windowsu
- použiteľná ako primárny doménový radič alebo bežný člen domény
Konfigurácia Samby
-
Inštalácia
sudo apt update sudo apt install samba - Konfiguračný súbor sa nachádza v /etc/samba/smb.conf alebo /etc/smb.conf
- Rozdelenie na sekcie s parametrami
-
Príklad konfiguračného súboru:
[sambashare] comment = Samba on Ubuntu path = /home/username/sambashare read only = no browsable = yes -
Správa užívateľov
- Pridanie užívateľa do UNIXového systému: sudo useradd user
- Pridanie užívateľa do databázy Samba: sudo smbpasswd -a user
Autentizácia v Sambe
- user level
- share level
Samba ako tlačový server
Sambu je s použitím CUPS možné implementovať ako tlačový server, ktorý umožňuje zdieľanie tlačiarní UNIXového serveru s klientmi v sieti. Klienti môžu k serveru pristupovať z UNIXových systémov, ale aj z Windowsu.
Tlačový server konfigurujeme v súbore /etc/samba/smb.conf
Príklad konfigurácie:
[global]
printing = cups
printcap name = /etc/printcap
load printers = yes
guest account = nobody
invalid users = root
hosts allow = 195.113.28.0/255.255.254.0 EXCEPT 195.113.28.65
workgroup = NC
server string = %h server (Samba %v)
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=4096 SO_RCVBUF=4096
wins support = no
name resolve order = lmhosts host wins bcast
dns proxy = no
preserve case = yes
short preserve case = yes
unix password sync = false
passwd program = /usr/bin/passwd %u
passwd chat = *New\spassword:* %n\n *Re-enter\snew\spassword:* %n\n *Password\schanged.* .
max log size = 1000
[printers]
comment = All Printers
browseable = yes
path = /tmp
printable = yes
public = yes
writable = no
create mode = 0700
RPC
Protokol umožňujúci programu vykonávať procedúru na inom stroji než kde je uložený samotný program, kedy sa správa akoby bol spustený lokálne.
portmapper/rpcbind
Používa sa na preklad požiadavkov na sieťové služby na odpovedajúce porty na vzdialenom počítači.
NFS
- Sun Microsystems, 1984
- umožňuje vzdialený prístup k súborom cez sieť
Verzie
-
NFSv1
- experimentálna verzia
NFSv2
- RFC 1094
- bezstavový protokol
- umožňoval čítanie len prvých 2GB súboru
- bežal na protokole UDP
NFSv3
- podpora pre 64-bitové veľkosti súborov
- asynchrónne zápisy do súborov
- podpora TCP
NFSv4
- IETF preberá kontrolu nad vývojom protokolu
- dnes takmer výlučne používaná verzia
- stavový protokol
- nevyžaduje portmapper
- zmena mapovania užívateľov
- väčšia bezpečnosť - umožnenie používať Kerberos
NFSv4.1
- umožňuje pararelný prístup k súborom v sieti, distribuovaný naprieč viacerými servermi
- NFS Multipathing
- podpora uzamykania súborov
Zamykanie v NFS
- od verzie 4 súčasťou protokolu ( staršie verzie používali NLM )
- klient môže uzamknúť celý súbor, ale aj rozsah bajtov v rámci súboru
- server môže nastaviť časový limit zámku ( lease time ), klient zámok periodicky obnovuje
- zdieľané oprávnenie - pri poslaní žiadosti OPEN môžeme špecifikovať požadované povolenia ( READ, WRITE... ) pre nás, ako aj zakáz operácii na danom súbore pre iných klientov
Konfigurácia NFS serveru
-
inštalácia NFS serveru
sudo apt install nfs-kernel-server -
štart NFS serveru
sudo systemctl start nfs-kernel-server.service -
Server sa konfiguruje v súbore /etc/exports
Príklad konfigurácie:
/srv *(ro,sync,subtree_check) /home *.hostname.com(rw,sync,no_subtree_check) /scratch *(rw,async,no_subtree_check,no_root_squash)* môžeme nahradiť jedným z hostname formátov, chceme čo najviac špecifickú hostname deklaráciu
-
inštalácia NFS klienta
sudo apt install nfs-common -
Vytvorenie mount pointu
sudo mkdir /opt/example -
Pripojenie remote súborového systému na lokálny mount point
sudo mount example.hostname.com:/srv /opt/examplepripájanie súborových systémov môžeme takisto vykonávať cez automounter
Konfigurácia NFS klienta
Automounter
Umožňuje pripájať lokálne alebo sieťové súborové systémy až keď ich užívateľ potrebuje.
Konfigurácia automountera
2 prístupy:
-
am-utils
- nevyžaduje špeciálne nastavenie kernelu
- po inštalácii sa automaticky spustí konfigurácia
-
autofs
-
vyžaduje rekonfiguráciu kernelu, potrebujeme aktivovať položky:
CONFIG_AUTOFS4_FS=y CONFIG_NFS_FS=y CONFIG_NFS_V3=y CONFIG_NFS_V4=y - obvykle taktiež potrebujeme nastaviť voľbu nonstrict v súbore /etc/auto.net
- pripojené súborové disky sa zobrazia v adresári /var/autofs/net alebo /net
-
Ďalšie súborové systémy
CephFS
- POSIX-kompatibilný, horizontálne škálovateľný súborový systém vybudovaný nad Ceph clusterom
- používa sa na zdieľanie súborov po sieti v rámci NFS alebo ako backend pre Kubernetes úložisko
AFS
- distribuovaný súborový systém primárne používaný distribuovaných výpočtoch
- na autentifikáciu používa Kerberos a implementuje ACL na adresáre používateľov a skupín