Experimentam cu un scenariu de partajare a fișierelor de rețea prin SMB/samba. Blocările de înregistrare luate pe un fișier de la distanță rămân valabile, chiar și după 1 oră de deconectare a rețelei. Următorul caz de testare descrie setul de activități realizate în ordine cronologică:
-> Un proces (P1) pe un client Windows (C1) și un alt proces (P2) pe un client Linux (C2) sunt conectate la
un server Linux comun și accesarea aceluiași fișier de la distanță.
-> Atât P1 cât și P2 deschide fișierul de la distanță și primește câte un mâner fiecare.
-> P1 are blocare exclusivă pe offset 0.
-> P2 încearcă să ia blocarea exclusivă pe offset 0 într-o buclă, dar nu obține, deoarece P1 deține o exclusivitate
blocați pe același offset.
-> Acum, P1 este deconectat de la fișierul de la distanță (C1 este deconectat de la server).
Rezultat: P2 nu se blochează, revine âEACCESâ instantaneu, încercat aproximativ o oră.
Rezultatele au fost surprinzătoare, deoarece într-un mediu Wi-Fi, în care sistemele continuă să intre și să iasă, poate bloca sistemul.
Specificațiile sistemului de operare C1 - Windows 10 Enterprise (versiunea: 20H2, versiunea: 19042.1237)
Specificațiile sistemului de operare C2 - Ubuntu 20.04.3 LTS (GNU/Linux 5.13.0-1021-azure x86_64)
Specificațiile sistemului de operare ale serverului Linux - Ubuntu 20.04.1 LTS (GNU/Linux 5.13.0-37-generic x86_64)
Versiunea Samba pe C2 - 4.13.17-Ubuntu Comanda folosită - smbststus
Versiunea Samba pe serverul Linux - 4.13.17-Ubuntu Comanda utilizată - smbstatus
Versiunea SMB pe C1 - SMBv2/v3 Comanda utilizată - sc.exe qc lanmanworkstation
Versiunea de protocol - 3.1.1 (la fel pe ambele conexiuni) Comanda utilizată - smbstatus
Este posibil să existe un timeout practic pe server, astfel încât alți clienți să nu fie nevoiți să aștepte mult pentru a obține blocări exclusive? Orice intrări ar ajuta.
Acestea sunt conținutul fișierului de configurare smb din serverul Linux (numele partajării utilizate - sambashare):
[global]
grup de lucru = WORKGROUP
șir de server = %h server (Samba, Ubuntu)
fișier jurnal = /var/log/samba/log.%m
dimensiune maximă a buștenii = 1000
logging = fișier
acțiune de panică = /usr/share/samba/panic-action %d
rol server = server independent
respectă restricțiile pam = da
Sincronizarea parolei unix = da
program passwd = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\parola:* %n\n
*Reintroduceți\snew\s*\parola:* %n\n *parola\actualizată\succes* .
schimbarea parolei pam = da
map to guest = utilizator prost
Usershare permite oaspeților = da
[imprimante]
comentariu = Toate imprimantele
browseable = nu
cale = /var/spool/samba
imprimabil = da
creați mască = 0700
[tipărește$]
comentariu = Drivere de imprimantă
cale = /var/lib/samba/printers
[sambashare]
comentariu = Samba pe Ubuntu
cale = /home/ubuntu/smb
numai citire = nu