Ero sivun ”CIFS” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(jakeluriippumattomaksi, wikitystä)
Ei muokkausyhteenvetoa
 
(4 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
CIFS (''Common Internet Filesystem'') on uusi nimi [[SMB]]-verkko[[tiedostojä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.
'''CIFS''' (''Common Internet Filesystem'') on uusi nimi [[SMB]]-verkko[[tiedostojä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.


==Jaon lisääminen asiakaskoneeseen==
==Milloin käyttää CIFS-protokollaa?==
Voit lisätä jaon käyttämällä [[wikipedia:en:NetBIOS|NetBIOS]]-nimeä tai IP-osoitetta. IP-osoite on luotettavampi ja toimii varmemmin, mutta sitä käytettäessä täytyy jotenkin estää osoitteen vaihtuminen, tai joutuu muuttamaan asetuksia.
CIFS-protokolla ei toimi versiota 2.4.14 vanhemmissa [[Ydin|ytimissä]].
IP-osoitteen muuttumisen voi estää joko sitomalla se reitittimessä ([[DHCP]]-palvelimessa) tiettyyn [[wikipedia:fi:MAC-osoite|MAC-osoitteeseen]] tai käyttämällä staattista IP-osoitetta.


===Valmistelu===
===CIFS:n edut suhteessa SMB:hen===
SMB/CIFS-tiedostojärjestelmän [[mount|liittämiseen]] tarvittavat ohjelmistot löytyvät [[jakelu]]sta riippuen joko [[paketinhallintajärjestelmä|paketista]] <tt>cifs-mount</tt>, <tt>mount-cifs</tt>, <tt>samba-client</tt> tai <tt>smbfs</tt>. Itse Samba-palvelin löytyy käytännössä kaikissa jakeluissa paketista <tt>samba</tt>.
* CIFS VFS (Virtual File System) on suunniteltu hyödyntämään kehittyneitä verkkotekniikoita, kuten lukittautumista (eng. locking), [[Unicode]]-merkistöä, [[kova linkki|kovia linkkejä]], hajautettua ja itseään toistavaa tiedostojärjestelmää ([[wikipedia:Distributed file system|dfs]]) sekä jaettua puskurointia. CIFS tukee oletuksena [[DNS]]-pohjaisia nimiä sen sijaan, että käyttäisi RFC1001- ja Netbios-nimiä.  


Seuraavaksi pitää luoda hakemisto (liitospiste), jonne jako halutaan liittää. Perinteisesti liitospisteet on luotu hakemiston [[hakemistorakenne|/mnt]] alle. Ainakin joissain [[työpöytäympäristö]]issä hakemiston /media alle liitetyt tiedostojärjestelmät näkyvät automaattisesti kuvakkeena työpöydällä.
* Version 1.48 myötä CIFS tukee myös [[wikipedia:Kerberos|krb5]]/[[wikipedia:en:SPNEGO|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 Microsoftin kehittämää [[Active Directory]]-palvelua (jonka kautta [[Kerberos]]ta käytetään Windows-maailmassa).


Jos DHCP-palvelinta käytetään IP-osoitteiden jakamiseen, on suotavaa käyttää NetBIOS-nimeä, jotta asetuksia ei tarvitse muuttaa joka kerta kun verkko sammutetaan. Mikäli käytössä on IP-osoite, voit hypätä kohtaan liittäminen.
* 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ä.


Etsitään [[asetustiedosto]]sta <tt>/etc/nsswitch.conf</tt> rivi
* CIFS on yhteensopiva ja voi toimia rinnakkain SMB:n kanssa.
  hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
ja lisätään sinne sana <tt>wins</tt> '''ennen''' kohtaa dns
  hosts:         files mdns4_minimal [NOTFOUND=return] wins dns mdns4


Asennetaan [[winbind]]. Useimmissa jakeluissa se löytyy joko paketista <tt>samba-winbind</tt>, <tt>winbind</tt> tai sitten se on sisällytetty pakettiin <tt>samba</tt>.
===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ä [[Samba]]n työkaluja kuten [[smbmount]]ia. Suurin osa CIFS:in toiminnallisuudesta on sulautettu [[Ydin|ytimeen]], joskin CIFS hyödyntää pientä käyttäjätilassa toimivaa [[mount|liitos]]avustajaa (<tt>/sbin/mount.cifs</tt>).


Kun olet käynyt edellä olevat vaiheet lävitse, käynnistä <tt>netfs</tt>-[[init]]-skripti (tai tietokone) uudelleen.
===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 <tt>servern=PALVELIMENNIMI</tt> (Netbios-nimi kirjoitetaan yleensä isolla). Mm useimmille vanhoille [[wikipedia:Lanman|Lanman]]-palvelimille pitää määrittää tcp- ja Netbios-nimet:
  mount -t cifs //palvelimen-tcp-nimi/jako    /mnt    -o    user=username,sec=lanman,servern=PALVELIMENNIMI


===Väliaikainen liittäminen===
* b) Turvallisuusasetuksen <tt>sec=lanman</tt> pitää olla päällekytkettynä, jotta asiakaskone voi lähettää vanhemmille palvelimille heikomman hash-tunnisteen. Windows 98 vaatii tämän toimiakseen, mutta asetus vaarantaa myös verkon muut salasanat<!-- muistaako joku tarkemmin?-->. Liitettäessä uudempiin palvelimiin jotka käyttävät vahvempaa [[wikipedia:NTLM|ntlmv2]]-tunnistusta, vaaditaan usein lisäasetus <tt>sec=ntlmv2</tt> ellei asetusta ole muutettu <tt>/proc/fs/cifs</tt>-tiedostosta.
Käyttettäessä tätä tapaa on jako liitettävä joka kerta uudelleen, kun tietokone on käynnistetty uudelleen.


Mikäli liitettävä palvelin vaatii salasanaa:
===Etätiedostojen oletus-UID/GID-tila===
  [[mount]] -t cifs //netbiosnimi/jaon_nimi /mnt/jaon_nimi -o username=käyttäjänimi,password=salasana,iocharset=utf8,file_mode=0777,dir_mode=0777
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 <tt>file_mode</tt> ja <tt>dir_mode</tt>.
Mikäli palvelin ei vaadi salasanaa:
mount -t cifs //netbiosnimi/jaon_nimi /mnt/jaon_nimi -o guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777
 
Jos jakoon halutaan lukuoikeudet käyttäen vierastiliä:
mount -t cifs //netbiosnimi/jaon_nimi /mnt/jaon_nimi -o guest,iocharset=utf8
 
===Pysyvä liittäminen===
Tätä tapaa käyttämällä jakoa ei tarvitse liittää uudestaan joka käynnistyksen jälkeen. Kaikki käynnistyksen yhteydessä liitettävät levyt tallennetaan /etc/[[fstab]]-[[asetustiedosto]]on. Fstabista voi olla hyvä luoda varmuuskopio ennen sen muokkaamista.
 
Jos palvelin vaatii tunnistautumista, on järkevää luoda salasanoille ja käyttäjätunnuksille [[credentials]]-tiedosto, jossa salasanat ja tunnukset pysyvät piilossa. Tämä tapahtuu luomalla tiedoston <tt>/root/.smbcredentials</tt> sisällöksi seuraavat rivit:
  username=käyttäjätunnus_palvelimeen
  password=käyttäjätunnuksen_salasana
 
Muokkaa tiedoston oikeuksia niin, että vain pääkäyttäjä pystyy lukemaan sitä:
[[chmod]] 700 /root/.smbcredentials
 
Mikäli liitettävä palvelin vaatii salasanaa, lisätään fstabin loppuun rivi
  //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
 
Mikäli palvelin ei vaadi salasanaa, lisätään rivi
  //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
 
Mikäli halutaan vain lukuoikeudet käyttäen vierastiliä, lisätään rivi
//netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    guest,iocharset=utf8 0 0
 
Kaikki fstabissa listatut listatut tiedostojärjestelmät voi liittää komennolla
  mount -a
 
==Virheilmoitukset==
===Liitosvirhe 13===
Jos näet liitosvirheen 13 = pääsy evätty:  
<tt>("CIFS VFS: cifs_mount failed w/return code = -13" in dmesg)</tt> kun olet antanut komennon <tt>mount -a</tt>, lisää liitoskomentoon asetus <tt>nounix</tt>. Esimerkiksi
  //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    credentials=/root/.smbcredentials,'''nounix''',iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
 
===Väli tiedoston nimessä===
Jos jonkin jaon nimessä esintyy väli, täytyy se korvata liitoskomennossa merkillä <tt>\040</tt>
  //netbiosnimi/jaon_nimi'''\040'''ja'''\040'''väli    /mnt/jaon_nimi        cifs    credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
 
===OpenOfficen tallennusvirhe===
Jos saat virheen yrittäessäsi muokata jaettua tiedostoa [[OpenOffice.org]]illa, täytyy lisätä asetus <tt>nobrl</tt>
  //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    credentials=/root/.smbcredentials,iocharset=utf8,'''nobrl''',file_mode=0777,dir_mode=0777 0 0
 
===Pääkäyttäjän omistamat tiedostot===
Jos pystyt näkemään, mutta et muokkaamaan, poistamaan tai lisäämään tiedostoja [[Samba]]-jakoon, niin kokeile seuraavaa:
 
1. Selvitä käyttäjänumerosi ([[UID]]) ja ensisijaisen ryhmäsi numero ([[GID]]).
  [[cat]] /etc/[[passwd-tiedosto|passwd]] | [[grep]] käyttäjätunnus
 
Tuloste on seuraavaa muotoa, missä ensimmäinen numero (tässä 500) on UID ja toinen numero (tässä 100) GID.
masa:x:500:100:Matti Meikäläinen ,,,:/home/masa:/bin/bash
 
2. Lisää GID- ja UID-numerot, sekä asetus <tt>nounix</tt> fstabissa olevaan liitoskomentoon:
  /netbiosnimi/jako_nimi    /mnt/jako_nimi        cifs credentials=/root/.smbcredentials,iocharset=utf8,'''gid=100''','''uid=500''','''nounix''',file_mode=0777,dir_mode=0777 0 0
 
===Tyhjä rivi puuttuu fstab-tiedostosta===
Jos fstab-tiedoston lopusta puuttuu tyhjä rivi, voi ilmaantua virheilmoitus
(warning: no final newline at the end of /etc/fstab)
Ongelma poistuu lisäämällä tyhjä rivi tiedoston loppuun.


==Katso myös==
==Katso myös==

Nykyinen versio 15. helmikuuta 2016 kello 01.54

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?[muokkaa]

CIFS-protokolla ei toimi versiota 2.4.14 vanhemmissa ytimissä.

CIFS:n edut suhteessa SMB:hen[muokkaa]

  • 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 DNS-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 Microsoftin kehittämää Active Directory-palvelua (jonka kautta Kerberosta käytetään Windows-maailmassa).
  • 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[muokkaa]

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[muokkaa]

Asetukset[muokkaa]

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ää pientä käyttäjätilassa toimivaa liitosavustajaa (/sbin/mount.cifs).

Tiedostojärjestelmän liittäminen[muokkaa]

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, mutta asetus vaarantaa myös verkon muut salasanat. 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[muokkaa]

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.

Katso myös[muokkaa]