CIFS
CIFS (Common Internet Filesystem) on uusi nimi SMB-verkkotiedostojärjestelmälle. CIFS-nimen käyttöönoton yhteydessä Microsoft lisäsi SMB:hen joitakin ominaisuuksia. Nykyisin SMB ja CIFS ovat käytännössä synonyymejä. SMB- ja CIFS-toiminnallisuutta Linuxissa tarjoaa Samba-ohjelmistopaketti.
Milloin käyttää CIFS-protokollaa?
CIFS-protokolla ei toimi versiota 2.4.14 vanhemmissa ytimissä.
Edut
- CIFS VFS (Virtual File System) on suunniteltu hyödyntämään kehittyneitä verkkotekniikoita, kuten lukittautumista (eng. locking), Unicode-merkistöä, kovia linkkejä, hajautettua ja itseään toistavaa tiedostojärjestelmää (dfs) sekä jaettua puskurointia. CIFS tukee oletuksena tcp-pohjaisia nimiä sen sijaan, että käyttäisi RFC1001- ja Netbios-nimiä.
- Version 1.48 myötä CIFS tukee myös krb5/SPNEGO-tunnistautumista. Toisin sanoen silloin, kun tarvitaan erityistä turvallisuutta, ei ole enää pakottavaa syytä käyttää SMB-protokollaa. Toinen mahdollisuus on käyttää NFSv4-protokollaa, mutta se on toisaalta vaikeampi asettaa käyttämään suosittuja Active Directory- ja KDC-palveluja (engl. Kerberos Key Distribution Center).
- CIFS on myös varteenotettava vaihtoehto joissakin yhteensopimattomuustapauksissa. Esimerkiksi käytettäessä Dlinkin NAS-323-tiedostopalvelinta on suositeltavaa käyttää SMB:n sijasta CIFS:iä.
- CIFS on yhteensopiva ja voi toimia rinnakkain SMB:n kanssa.
Suorituskyky
Parhaimman suorituskyvyn saamiseksi on yleensä järkevää käyttää NFS:ää. NFSv3 erityisen tehokas silloin, kun yksi prosessi käsittelee suuria tiedostoja, joskin CIFS on hiljalleen kuromassa eroa umpeen.
CIFS:in ja SMB:n erot
Asetukset
Toisin kuin SMB, käyttää CIFS asetuksissaan /proc-hakemistoa (esim. /proc/fs/cifs). Lisäksi CIFS ei hyödynnä Samban työkaluja kuten smbmountia. Suurin osa CIFS:in toiminnallisuudesta on sulautettu ytimeen, joskin CIFS hyödyntää käyttäjätilassa pientä liitosavustajaa (mount.cifs).
Tiedostojärjestelmän liittäminen
Liitettäessä CIFS-tiedostojärjestelmiä vuotta 1997 vanhempiin palvelimiin, voi joutua asettamaan kaksi lisäkenttää.
- a) CIFS ei oleta, että palvelimen netbios-nimi ja TCP/IP-osoite vastaavat toisiaan. Palvelimen Netbios-nimi määritetään asetuksella servern=PALVELIMENNIMI (Netbios-nimi kirjoitetaan yleensä isolla). Mm useimmille vanhoille Lanman-palvelimille pitää määrittää tcp- ja Netbios-nimet:
mount -t cifs //palvelimen-tcp-nimi/jako /mnt -o user=username,sec=lanman,servern=PALVELIMENNIMI
- b) Turvallisuusasetuksen sec=lanman pitää olla päällekytkettynä, jotta asiakaskone voi lähettää vanhemmille palvelimille heikomman hash-tunnisteen. Windows 98 vaatii tämän toimiakseen. Liitettäessä uudempiin palvelimiin jotka käyttävät vahvempaa ntlmv2-tunnistusta, vaaditaan usein lisäasetus sec=ntlmv2 ellei asetusta ole muutettu /proc/fs/cifs-tiedostosta.
Etätiedostojen oletus-UID/GID-tila
Liitettäessä palvelimiin, jotka pystyvät käsittelemään UID- ja GID-tunnuksia, kuten Sambaa käyttävät palvelimet, voi olla tarpeellista poistaa Unix-laajennokset (engl. Unix extensions) käytöstä, mikäli palvelimen ja asiakaskoneen UID- ja GID-tunnukset eivät täsmää. Palvelimet, jotka eivät tue Unix-laajennosta suoraan, kuten useimmat Windowsit, raportoivat SMB:n suhteen poikkeavia arvoja. Näissä tapauksissa oletusasetus voidaan muuttaa käyttämällä lisäasetuksia file_mode ja dir_mode.