Partajarea fișierelor între Ubuntu 20.04 și sistemele Windows cu Samba
On ianuarie 21, 2022 by adminDeși Linux a făcut unele incursiuni pe piața desktop-urilor, originile și viitorul său sunt foarte mult bazate pe servere. Prin urmare, nu este surprinzător faptul că Ubuntu are capacitatea de a acționa ca un server de fișiere. De asemenea, este extrem de frecvent ca sistemele Ubuntu și Windows să fie utilizate unul lângă altul în medii în rețea. Prin urmare, este o cerință obișnuită ca fișierele de pe un sistem Ubuntu să fie accesibile sistemelor Linux, UNIX și Windows prin conexiuni de rețea. În mod similar, este posibil ca dosarele partajate și imprimantele care rezidă pe sisteme Windows să trebuiască, de asemenea, să fie accesibile de pe sistemele bazate pe Ubuntu.
Sistemele Windows partajează resurse, cum ar fi sistemele de fișiere și imprimantele, utilizând un protocol cunoscut sub numele de Server Message Block (SMB). Pentru ca un sistem Ubuntu să poată servi astfel de resurse printr-o rețea către un sistem Windows și invers, acesta trebuie, prin urmare, să suporte SMB. Acest lucru se realizează cu ajutorul tehnologiei numite Samba. Pe lângă faptul că asigură integrarea între sistemele Linux și Windows, Samba poate fi folosit și pentru a asigura partajarea de dosare între sistemele Linux (ca alternativă la NFS, care a fost abordat în capitolul anterior).
În acest capitol vom analiza pașii necesari pentru a partaja resursele sistemului de fișiere și imprimantele de pe un sistem Ubuntu cu sisteme Windows și Linux aflate la distanță, precum și pentru a accesa resursele Windows din Ubuntu.
1.1 Accesarea resurselor Windows de pe desktop-ul GNOME
Înainte de a intra în mai multe detalii despre partajarea Samba, merită menționat faptul că, dacă tot ceea ce doriți să faceți este să accesați folderele partajate Windows din cadrul desktop-ului GNOME Ubuntu, atunci suportul este deja oferit în cadrul aplicației GNOME Files. Aplicația Files este localizată în tabloul de bord, așa cum este evidențiat în figura 23-1:
Figura 23-1
După ce a fost lansată, selectați opțiunea Other Locations (Alte locații) din panoul de navigare din stânga, urmată de pictograma Windows Network (Rețea Windows) din panoul principal pentru a parcurge resursele Windows disponibile:
Figura 23-2
1.2 Samba și Samba Client
Samba permite atât partajarea resurselor Ubuntu cu sisteme Windows, cât și partajarea resurselor Windows cu sisteme Ubuntu. Ubuntu accesează resursele Windows utilizând clientul Samba. Resursele Ubuntu, pe de altă parte, sunt partajate cu sistemele Windows prin instalarea și configurarea serviciului Samba.
1.3 Instalarea Samba pe un sistem Ubuntu
Setările implicite utilizate în timpul procesului de instalare Ubuntu nu instalează de obicei pachetele Samba necesare. Cu excepția cazului în care ați solicitat în mod special instalarea Samba, este puțin probabil să aveți Samba instalat pe sistemul dumneavoastră. Pentru a verifica dacă Samba este instalat, deschideți o fereastră de terminal și rulați următoarea comandă:
# apt -qq list samba-common samba smbclient
Toate pachetele lipsă pot fi instalate cu ajutorul instrumentului în linie de comandă apt:
# apt install samba-common samba smbclient
1.4 Configurarea firewall-ului Ubuntu pentru a permite Samba
În continuare, firewall-ul care protejează în prezent sistemul Ubuntu trebuie configurat pentru a permite traficul Samba.
Dacă folosiți Uncomplicated Firewall (ufw), rulați următoarea comandă:
# ufw allow samba
Alternativ, dacă folosiți firewalld, rulați comanda firewall-cmd după cum urmează:
# firewall-cmd --permanent --add-port={139/tcp,445/tcp}# firewall-cmd --reload
Înainte de a porni serviciul Samba sunt necesari o serie de pași de configurare pentru a defini modul în care sistemul Ubuntu va apărea în fața sistemelor Windows, precum și resursele care vor fi partajate cu clienții la distanță. Majoritatea acestor sarcini de configurare au loc în cadrul fișierului /etc/samba/smb. conf.
1.5 Configurarea fișierului smb.conf
Samba este un sistem foarte flexibil și configurabil care oferă multe opțiuni diferite pentru a controla modul în care sunt partajate resursele în rețelele Windows. Această flexibilitate poate duce la senzația că Samba este excesiv de complex pentru a lucra cu el. Cu toate acestea, în realitate, multe dintre opțiunile de configurare nu sunt necesare pentru o instalare tipică, iar curba de învățare pentru a stabili o configurație de bază este de fapt destul de scurtă.
În scopul acestui capitol, vom analiza alăturarea unui sistem Ubuntu la un grup de lucru Windows și configurarea unui director ca resursă partajată care poate fi accesată de un anumit utilizator. Aceasta este o configurație cunoscută sub numele de server Samba de sine stătător. Sunt disponibile și configurații mai avansate, cum ar fi integrarea Samba în cadrul unui mediu Active Directory, deși acestea sunt în afara scopului acestei cărți.
Primul pas în configurarea Samba este editarea fișierului /etc/samba/smb.conf.
1.5.1 Configurarea secțiunii
Fisierul smb.conf este împărțit în secțiuni. Prima secțiune este secțiunea în care pot fi specificate setările care se aplică întregii configurații Samba. Deși aceste setări sunt globale, fiecare opțiune poate fi suprascrisă în cadrul altor secțiuni ale fișierului de configurare.
Prima sarcină este de a defini numele grupului de lucru Windows pe care urmează să fie partajate resursele Ubuntu. Acest lucru este controlat prin intermediul directivei workgroup = din secțiunea care, în mod implicit, este configurată după cum urmează:
workgroup = WORKGROUP
Începeți prin a schimba acest lucru cu numele real al grupului de lucru, dacă este necesar.
În plus față de setarea grupului de lucru, celelalte setări indică faptul că acesta este un server independent pe care resursele partajate vor fi protejate prin parole de utilizator. Înainte de a trece la configurarea resurselor care vor fi partajate, trebuie adăugați și alți parametri în secțiune, după cum urmează:
.. netbios name = LinuxServer..
Proprietatea „netbios name” specifică numele sub care serverul va fi vizibil pentru alte sisteme din rețea.
1.5.2 Configurarea unei resurse partajate
Primul pas este configurarea resurselor partajate (cu alte cuvinte, a resurselor care vor fi accesibile de la alte sisteme din rețeaua Windows). Pentru a realiza acest lucru, secțiunii i se atribuie un nume cu care va fi menționată atunci când este partajată. De exemplu, dacă intenționăm să partajăm directorul /sampleshare al sistemului nostru Ubuntu, am putea denumi secțiunea . În această secțiune sunt posibile o varietate de opțiuni de configurare. Cu toate acestea, în scopul acestui exemplu, vom defini pur și simplu directorul care urmează să fie partajat, vom indica faptul că directorul poate fi atât navigat, cât și scris și vom declara resursa publică, astfel încât utilizatorii invitați să poată avea acces:
comment = Example Samba share path = /sampleshare browseable = Yes public = yes writable = yes
Pentru a restricționa accesul la anumiți utilizatori, se poate utiliza proprietatea „valid users”, de exemplu:
valid users = demo, bobyoung, marcewing
1.5.3 Eliminarea partajărilor inutile
Fileul smb.conf este preconfigurat cu secțiuni pentru partajarea imprimantelor și a folderelor personale ale utilizatorilor din sistem. Dacă nu este necesar ca aceste resurse să fie partajate, secțiunile corespunzătoare pot fi comentate astfel încât să fie ignorate de Samba. În exemplul următor, secțiunea a fost comentată:
..## comment = Home Directories# valid users = %S, %D%w%S# browseable = No# read only = No# inherit acls = Yes..
1.6 Crearea unui utilizator Samba
Care utilizator care necesită acces la o resursă partajată Samba trebuie să fie configurat ca utilizator Samba și să i se atribuie o parolă. Această sarcină se realizează cu ajutorul instrumentului de linie de comandă smbpasswd. Să considerăm, de exemplu, că este necesar ca un utilizator numit demo să poată accesa directorul /sampleshare al sistemului nostru Ubuntu de pe un sistem Windows. Pentru a îndeplini această cerință, trebuie să adăugăm demo ca utilizator Samba după cum urmează:
# smbpasswd -a demoNew SMB password:Retype new SMB password:Added user demo.
Acum că am finalizat configurarea unui server Samba foarte elementar, este timpul să testăm fișierul nostru de configurare și apoi să pornim serviciile Samba.
1.7 Testarea fișierului smb.conf
Setările din fișierul smb.conf pot fi verificate pentru erori cu ajutorul instrumentului de linie de comandă testparm, după cum urmează:
# testparmLoad smb config files from /etc/samba/smb.confrlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)WARNING: The "syslog" option is deprecatedProcessing section ""Processing section ""Processing section ""Loaded services file OK.Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parametersdns proxy = Nolog file = /var/log/samba/log.%mmap to guest = Bad Usermax log size = 1000netbios name = LINUXSERVERobey pam restrictions = Yespam password change = Yespanic action = /usr/share/samba/panic-action %dpasswd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .passwd program = /usr/bin/passwd %usecurity = USERserver role = standalone serverserver string = %h server (Samba, Ubuntu)syslog = 0unix password sync = Yesusershare allow guests = Yeswins support = Yesidmap config * : backend = tdb browseable = Nocomment = All Printerscreate mask = 0700path = /var/spool/sambaprintable = Yes comment = Printer Driverspath = /var/lib/samba/printers comment = Example Samba shareguest ok = Yespath = /sampleshareread only = No
1.8 Pornirea serviciilor Samba și de nume NetBIOS
Pentru ca un server Ubuntu să funcționeze în cadrul unei rețele Windows, trebuie pornite atât serviciile Samba (SMB), cât și serviciul de nume NetBIOS (NMB). Opțional, activați, de asemenea, serviciile astfel încât să pornească de fiecare dată când sistemul pornește:
# systemctl enable smbd# systemctl start smbd# systemctl enable nmbd# systemctl start nmbd
Înainte de a încerca să vă conectați de pe un sistem Windows, utilizați utilitarul smbclient pentru a verifica dacă partajarea este configurată:
# smbclient -U demo -L localhost Enter WORKGROUP\demo's password: Sharename Type Comment--------- ---- -------print$ Disk Printer Driverssampleshare Disk Example Samba shareIPC$ IPC IPC Service (demo-server2 server (Samba, Ubuntu))Officejet_Pro_8600_C7C718_ Printer Officejet_6600_971B9B_ Printer Reconnecting with SMB1 for workgroup listing. Server Comment--------- ------- Workgroup Master--------- -------WORKGROUP LINUXSERVER
1.9 Accesarea partajărilor Samba
Acum că resursele Samba sunt configurate și serviciile funcționează, este timpul să accesați resursa partajată de pe un sistem Windows. Pe un sistem Windows adecvat din același grup de lucru ca și sistemul Ubuntu, deschideți Windows Explorer și navigați până la panoul Network (Rețea). În acest moment, exploratorul ar trebui să caute în rețea și să listeze toate sistemele care utilizează protocolul SMB pe care le găsește. Următoarea figură ilustrează un sistem Ubuntu numit LINUXSERVER localizat cu ajutorul Windows Explorer pe un sistem Windows 10:
Figura 23-3
Un dublu clic pe gazda LINUXSERVER va solicita numele și parola unui utilizator cu privilegii de acces. În acest caz este vorba de contul demo pe care l-am configurat cu ajutorul instrumentului smbpasswd:
Figura 23-4
Introducerea numelui de utilizator și a parolei va avea ca rezultat apariția în fereastra de explorare a resurselor partajate configurate pentru acel utilizator, inclusiv a resursei /sampleshare configurată anterior:
Figura 23-5
Dupla clic pe resursa partajată /sampleshare va afișa o listă a fișierelor și directoarelor conținute în aceasta.
Dacă nu reușiți să vedeți sistemul Linux sau aveți probleme de accesare a dosarului partajat, încercați să mapezi partajarea Samba pe o unitate locală Windows, după cum urmează:
- Deschideți Windows File Explorer, faceți clic dreapta pe intrarea Network din panoul din stânga și selectați Map network drive… din meniul rezultat.
- Din fereastra de dialog Map Network Drive, selectați o literă de unitate înainte de a introduce calea către dosarul partajat. De exemplu:
\LinuxServer\sampleshare
Activați caseta de selectare de lângă Connect using different credentials. Dacă nu doriți ca unitatea să fie mapată de fiecare dată când vă conectați la sistemul Windows, dezactivați caseta de selectare corespunzătoare:
Figura 23-6
Cu setările introduse, faceți clic pe butonul Finish (Terminare) pentru a mapa unitatea, introducând numele de utilizator și parola pentru utilizatorul Samba configurat mai devreme în acest capitol atunci când vi se solicită. După o scurtă întârziere, conținutul partajării Samba va apărea într-o nouă fereastră File Explorer.
1.10 Accesarea partajărilor Windows din Ubuntu
După cum am menționat anterior, Samba este o stradă cu două sensuri, permițând nu numai sistemelor Windows să acceseze fișierele și imprimantele găzduite pe un sistem Ubuntu, ci și sistemului Ubuntu să acceseze resursele partajate de pe sistemele Windows. Acest lucru se realizează cu ajutorul pachetului smbclient, care a fost instalat la începutul acestui capitol. Dacă nu este instalat în prezent, instalați-l dintr-o fereastră de terminal după cum urmează:
# apt install smbclient
Resursele partajate de pe un sistem Windows pot fi accesate fie de pe desktop-ul Ubuntu folosind aplicația Files, fie de la linia de comandă folosind instrumentele smbclient și mount. Pașii din această secțiune presupun că setările corespunzătoare de partajare a rețelei au fost activate pe sistemul Windows.
Pentru a accesa orice resurse partajate pe un sistem Windows utilizând desktop-ul GNOME, începeți prin lansarea aplicației Files și selectarea opțiunii Other Locations (Alte locații). Aceasta va afișa ecranul prezentat în figura 23-7 de mai jos, inclusiv o pictogramă pentru rețeaua Windows (dacă este detectată una):
Figura 23-7
Selectarea opțiunii Rețea Windows va afișa sistemele Windows detectate în rețea și va permite accesul la orice resurse partajate.
Figura 23-8
Alternativ, opțiunea Connect to Server (Conectare la server) poate fi utilizată pentru a se conecta la un sistem specific. Rețineți că numele sau adresa IP a sistemului la distanță trebuie să fie prefixată de smb:// și poate fi urmată de calea către o resursă partajată specifică, de exemplu:
smb://WinServer10/Documents
1.11 Rezumat
.
Lasă un răspuns