Ero sivun ”CIFS” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
Ei muokkausyhteenvetoa
 
(5 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 silloin 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 reitittimestä tiettyyn [[wikipedia:fi:MAC-osoite|MAC-osoitteeseen]], tai käyttämällä staattista IP-osoitetta.


===Valmistelu===
===CIFS:n edut suhteessa SMB:hen===
smbfs on metapaketti, jota tarvitaan käytettäessä cifs-protokollaa liittämään jakoja.
* 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ä.  
  sudo aptitude install smbfs


Seuraavaksi pitää luoda kansio, jonne jako halutaan liittää.  
* 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 liität sen media kansioon, tulee työpöydälle näppärä kuvake, kun jako on onnistuneesti liitetty.
  sudo mkdir /media/jaon_nimi
Perinteisesi kaikki liitokset on laitettu /mnt kansioon. Tällöin sinun pitää linkittää kansio kotihakemistoon käyttämisen helpottamiseksi.
  sudo mkdir /mnt/jaon_nimi


* 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ä.


Jos käytät DHCP palvelinta IP-osoitteiden jakamiseen, on suotavaa käyttää netbios-nimeä, jotta sinun ei tarvitse muuttaa asetuksia joka kerta kun sammutat verkon.  Mikäli käytät IP-osoitetta, voit hypätä kohtaan liittäminen.
* CIFS on yhteensopiva ja voi toimia rinnakkain SMB:n kanssa.


  sudo nano /etc/nsswitch.conf
===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>).


===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


Etsi rivi
* 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.
  hosts:         files mdns4_minimal [NOTFOUND=return] dns mdns4


 
===Etätiedostojen oletus-UID/GID-tila===
Muokkaa riviä lisäämällä <tt>wins</tt> '''ennen''' kohtaa dns
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ää.
  hosts:          files mdns4_minimal [NOTFOUND=return] wins dns mdns4
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>.
 
 
Asenna winbind
  sudo apt-get install winbind
 
Kun olet käynyt edellä olevat vaiheet lävitse, käynnistä tietokone uudestaan
 
===Väliaikainen liittäminen===
Käyttämällä tätä tapaa on sinun liitettävä jako joka kerta uudestaan, jos olet käynnistänyt koneen uudestaan.
 
 
Mikäli liitettävä palvelin vaatii salasanaa
  sudo mount -t cifs //netbiosnimi/jaon_nimi /media/jaon_nimi -o username=winusername,password=winpassword,iocharset=utf8,file_mode=0777,dir_mode=0777
 
 
Mikäli palvelin ei vaadi salasanaa
sudo mount -t cifs //netbiosnimi/jaon_nimi /media/jaon_nimi -o guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777
 
 
Jos haluat lukuoikeudet jakoon käyttäen vierastiliä
sudo mount -t cifs //netbiosnimi/jaon_nimi /media/jaon_nimi -o guest,iocharset=utf8
 
===Pysyvä liittäminen===
Käyttämällä tätä tapaa, ei sinun tarvitse liittää jakoa uudestaan joka käynnistyksen jälkeen. Kaikki käynnistyksen yhteydessä liitettävät levyt tallennetaan <tt>fstab</tt>-tiedostoon.  
 
Luo varmuuskopio tiedostosta
  sudo cp /etc/fstab /etc/fstab_old
 
Mikäli sinun täytyy plauttaa varmuuskopio
  sudo mv /etc/fstab_old /etc/fstab
 
 
Jos palvelin vaatii tunnistautumista, on järkevää luoda salasanoille ja käyttäjätunnuksille <tt>credentials</tt>-tiedosto. Jossa salasanat ja tunnukset pysyvät piilossa.
  sudo nano /root/.smbcredentials
 
Luo tiedostoon kaksi riviä
  username=käyttäjätunnus_palvelimeen
  password=käyttäjätunnuksen_salasana
Tallenna tiedosto
 
Muokkaa oikeuksia niin että vain pääkäyttäjä pystyy lukemaan sitä
  sudo chmod 700 /root/.smbcredentials
 
 
Lisää jako <tt>fstab</tt>-tiedostoon
  sudo nano /etc/fstab
 
Mikäli liitettävä palvelin vaatii salasanaa lisää loppuun rivi:
  //netbiosnimi/jaon_nimi    /media/jaon_nimi        cifs    credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
 
 
Mikäli palvelin ei vaadi salasanaa lisää loppuun rivi:
  //netbiosnimi/jaon_nimi    /media/jaon_nimi        cifs    guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
 
Mikäli haluat vain lukuoikeudet käyttäen vierastiliä, niin lisää loppuun rivi:
//netbiosnimi/jaon_nimi    /media/jaon_nimi        cifs    guest,iocharset=utf8 0 0
 
Kun olet lisännyt rivin tiedoston, voit tallentaa ja sulkea sen.
 
Lopuksi kokeile että asetukset toimivat
  sudo 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 kirjoittanut päätteeseen
sudo mount -a
Lisää silloin lisäoptio <tt>nounix</tt> liitoskomentoon. Esim.
  //netbiosnimi/jaon_nimi    /media/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, niin se täytyy korvata liitoskomennossa merkillä <tt>\040</tt>
  //netbiosnimi/jaon_nimi'''\040'''ja'''\040'''väli    /media/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 openofficella, pitää sinun lisätä optio <tt>nobrl</tt>
  //netbiosnimi/jaon_nimi    /media/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 koikeile seuraavaa:
 
* 1. Selvitä käyttäjänumerosi(uid) ja ryhmänumerosi(gid). Yleensä mlemmat on 1000, mutta kannattaa kuitenkin varmistaa.
  at /etc/passwd | grep <tt>käyttäjätunnus</tt>
 
Tulos on jotakuinkin seuraavanlainen
masa:x:'''1000''':'''1000''':Matti Meikäläinen ,,,:/home/masa:/bin/bash
 
* 2. Lisää gid ja uid numerot, sekä optio nounix <tt>fstab</tt>-tiedostossa olevaan liitoskomentoon:
  /netbiosnimi/jako_nimi    /media/jako_nimi        cifs credentials=/root/.smbcredentials,iocharset=utf8,'''gid=1000''','''uid=1000''','''nounix''',file_mode=0777,dir_mode=0777 0 0
 
===Tyhjä rivi puuttuu fstab-tiedostosta===
Jos <tt>fstab</tt>-tiedoston lopusta puuttuu tyhjä rivi, voi ilmaantua virheilmoitus:
<tt>(warning: no final newline at the end of /etc/fstab)</tt>
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]