Despre această serie
Această serie de articole vă va ajuta să stăpâniți sarcinile de administrare a sistemului de operare Linux. Puteți folosi materialele acestor articole pentru a vă pregăti pentru examenele programului LPIC de nivelul al treilea (LPIC-3).
Acest articol acoperă următoarele subiecte:
- Protocoale Bloc de mesaje server (SMB) și sistem comun de fișiere pe Internet (CIFS).
- Caracteristicile și beneficiile utilizării CIFS.
- Montarea cotelor de fișiere CIFS pe clienții Linux.
Cerințe preliminare
Pentru a profita la maximum de articolele noastre, trebuie să aveți cunoștințe avansate despre Linux și să aveți un calculator de lucru cu Linux, unde puteți rula toate comenzile pe care le întâlniți. În special, se presupune că cititorul poate lucra cu linia de comandă Linux, cunoaște elementele de bază ale configurației Samba și are o idee generală asupra structurii fișierului de configurare smb.conf. De asemenea, trebuie să cunoașteți elementele de bază ale instalării sistemelor de fișiere locale și la distanță (folosind comanda mount și fișierul / etc / fstab). Cunoașterea comenzii ftp. incluse în setul standard de comenzi de text Linux sunt binevenite, deși nu sunt obligatorii.
Ce este SMB / CIFS?
Despre examenul opțional LPI-302
La fel ca multe alte programe, programul de certificare a Institutului Profesional Linux (LPIC) oferă diferite niveluri de certificare, unde este necesar să se aibă cunoștințe aprofundate și experiență practică pentru a obține fiecare nivel ulterior. Examenul LPI-302 este un examen opțional LPIC de nivel III care necesită cunoștințe avansate de administrare a sistemului Linux.
Pentru al treilea nivel LPIC (LPIC-3) examen cu două niveluri trebuie să treacă (101 și 102), două examene de nivel secund (201 și 202), iar al treilea nivel Examen de bază 301 (LPIC-3). Dacă ați primit un certificat de nivel 3, puteți efectua examinări opționale pentru anumite specializări, de exemplu examenul LPI-302.
Înainte de a trece la povestea de modul de utilizare Linux ca un client server de SMB / CIFS, este util să vorbim despre caracteristicile acestor protocoale și pentru a afla cât de bine le oferă un sistem de fișiere atunci când se lucrează cu Linux. Explicăm modul în care funcționează studiul protocolului inițial SMB și ce funcții noi sunt implementate în modificarea CIFS. Puteți consulta articolul developerWorks care conține obiectivele examenului LPI 310.1, care discută unele dintre principiile de bază ale SMB / CIFS (vedeți link-ul din secțiunea Resurse).
Principalele caracteristici ale SMB
SMB are câteva caracteristici unice în ceea ce privește crearea de rețele, inclusiv propriul sistem de numire a computerelor (calculatoare), a grupurilor de lucru și a protocoalelor de autentificare. Pentru a înțelege modul în care SMB și CIFS funcționează cu clienții Linux de resurse de fișiere comune, trebuie să vorbim despre cea mai importantă funcție a acestor protocoale, și anume, setul de metadate pe care le oferă.
Metadatele sunt datele asociate unui fișier, dar nu fac parte din acesta. Un exemplu de metadate este marca de timp, proprietarul, permisiunile și chiar numele fișierului. Fără îndoială, știți despre unele metode de utilizare a metadatelor pe computerele Linux și, probabil, despre unele diferențe dintre acestea în Linux și alte sisteme de operare, de exemplu Windows. Deoarece protocolul SMB a fost dezvoltat pentru DOS, Windows și IBM Operating System / 2 (OS / 2), acesta conține multe metadate specifice acestor sisteme de operare. Mai important, cu toate acestea, SMB nu suportă astfel de metadate UNIX® și Linux ca proprietari, grupuri și majoritatea drepturilor de acces. În plus, SMB nu acceptă linkuri simbolice și grele, precum și alte tipuri speciale de fișiere, cum ar fi fișiere de dispozitiv. SMB conține mai multe tipuri de metadate care nu sunt recunoscute de Linux în modul normal, de exemplu, biți ascunși. arhivă (arhivă) și sistem (sistem). Bitul numai pentru citire (numai pentru citire) poate fi comparat cu bitul de scriere bit în Linux.
Creați propriul canal
O altă limitare a SMB este dimensiunea maximă a fișierului, egală cu două gigaocteți. Această limitare este o problemă evidentă în lumea actuală a arhivelor cu mai multe gigabyte, a fișierelor multimedia și așa mai departe.
Pentru ca clienții Linux să lucreze cu SMB având în vedere caracteristicile de mai sus, trebuie fie să le ignore, fie să poată folosi datele "false". Aceste capabilități sunt similare cu cele utilizate la instalarea sistemelor de fișiere NTFS sau FAT pe Linux. Din fericire, protocolul CIFS oferă un set mai larg de instrumente pentru a eluda unele dintre aceste limitări.
De asemenea, trebuie să știți despre porturile de rețea utilizate de protocolul SMB. Acestea sunt porturi UDP (User Datagram Protocol) 137 și 138, precum și portul TCP 139 (servicii de sesiune - cu alte cuvinte, transfer de fișiere). Aceste informații sunt necesare atunci când se depanează SMB utilizând utilitare de diagnoză de rețea de nivel scăzut.
Extensii CIFS pentru protocolul SMB
Nu mai puțin importante decât extensiile proprii ale Microsoft pentru SMB, au existat și alte extensii CIFS. În special, o serie de caracteristici, cunoscute sub numele de extensii UNIX (extensii UNIX), oferă suport pentru proprietari și permisiuni de fișiere împreună cu alte tipuri de metadate UNIX. Dacă atât clienții, cât și serverul suportă aceste extensii, utilizarea CIFS în locul protocoalelor SMB poate oferi o funcționare mult mai eficientă a clienților care rulează Linux. După cum v-ați aștepta, aceste extensii nu sunt suportate de familia de sisteme de operare Windows Server®, deci sunt utile numai când clienții Linux se conectează la serverul Samba. Serverul trebuie să fie configurat cu următorul parametru global:
În mod prestabilit, acest parametru a fost setat la Nu în toate versiunile de Samba, mai puțin de 3,0, dar în Samba 3.0, în mod prestabilit, este setat la Da. care elimină necesitatea de a configura manual.
Utilizarea lui smbclient
Pentru a utiliza smbclient, trebuie să tastați numele acestei comenzi și numele serviciului în formatul următor pe linia de comandă: // SERVER / SERVICE. De exemplu, dacă doriți să accesați partajarea GORDON pe serverul TANGO, trebuie să specificați numele // TANGO / GORDON. În funcție de configurația serverului, poate fi necesar să introduceți o parolă. Dacă ați introdus parola corectă, puteți introduce diverse comenzi pentru a accesa fișierele stocate pe server. Tabelul 1 prezintă câteva dintre cele mai importante comenzi smbclient; Pentru informații despre alte comenzi mai exotice, consultați pagina de manual a acestui utilitar.
Tabelul 1. Cele mai importante comenzi smbclient
Șterge unul sau mai multe fișiere de pe un server de la distanță
În mod implicit, pentru a vă conecta la server, smbclient utilizează numele de utilizator curent, dar puteți specifica explicit numele cu opțiunea -U. De fapt, puteți utiliza mai multe opțiuni de linie de comandă, inclusiv opțiuni care vă permit să transferați fișiere fără a intra în modul interactiv smbclient. Astfel, smbclient poate fi folosit în script-uri pentru a efectua transferul automat de fișiere. Pentru mai multe informații, consultați pagina de manual a acestui utilitar.
Sesiunea cu smbclient arată astfel:
Listing 1. Exemplu de sesiune cu smbclient
Consiliul. Utilitarul smbclient este un instrument excelent de depanare. În ciuda simplității sale, vă permite să accesați mediul de rețea fără a monta resurse, ceea ce poate simplifica depanarea și depanarea.
Montarea resurselor fișierului SMB / CIFS
În ciuda eficacității sale, smbclient nu vă permite obținerea aceluiași acces transparent la server, ca atunci când lucrați cu Windows-client. Dacă aveți nevoie doar de astfel de acces, atunci trebuie să utilizați alte instrumente care vă permit să montați resursele SMB / CIFS comune. Acest lucru se poate face folosind comanda standard Linux mount sau prin editarea fișierului / etc / fstab pentru a monta automat resursele SMB / CIFS atunci când boot-ul computerului.
Montarea temporară a resurselor partajate
Puteți monta resursa fișierului SMB / CIFS utilizând comanda mount. care este de asemenea utilizat pentru a monta volume locale sau resurse NFS partajate. Puteți specifica tipul sistemului de fișiere cifs sau, în majoritatea cazurilor, mount va determina dacă să utilizeze un anumit driver bazat pe sintaxa comenzii. În plus, puteți apela direct programul helper mount.cifs. De fapt, montarea unui sistem de fișiere local și la distanță este diferită numai în tipul de dispozitiv care este montat; Astfel, pentru a monta resursa GORDON localizată pe serverul TANGO, este suficient să executați următoarea comandă ca root:
În practică, această comandă poate crea o problemă: ca nume de utilizator, aceasta transmite numele rădăcină la server. iar dacă acest utilizator nu are voie să se conecteze la server, mount-ul va eșua cu o eroare. Această problemă poate fi corectată utilizând opțiunea -o user = pentru a transfera numele de utilizator pe server.
Aveți posibilitatea să utilizați alte câteva opțiuni de montare trimise comenzii mount cu opțiunea -o. Cele mai utile sunt listate în Tabelul 2. Pentru mai multe informații despre opțiunile rămase, consultați pagina manului mount.cifs.