Ero sivun ”CIFS” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(jakeluriippumattomaksi, wikitystä)
Rivi 2: Rivi 2:


==Jaon lisääminen asiakaskoneeseen==
==Jaon lisääminen asiakaskoneeseen==
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.   
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.   
IP-osoitteen muuttumisen voi estää joko sitomalla se reitittimestä tiettyyn [[wikipedia:fi:MAC-osoite|MAC-osoitteeseen]], tai käyttämällä staattista IP-osoitetta.
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===
===Valmistelu===
smbfs on metapaketti, jota tarvitaan käytettäessä cifs-protokollaa liittämään jakoja.
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>.
  sudo aptitude install smbfs


Seuraavaksi pitää luoda kansio, jonne jako halutaan liittää.  
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ä.
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


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.


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.
Etsitään [[asetustiedosto]]sta <tt>/etc/nsswitch.conf</tt> rivi
 
  sudo nano /etc/nsswitch.conf
 
 
Etsi rivi
   hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
   hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
 
ja lisätään sinne sana <tt>wins</tt> '''ennen''' kohtaa dns
 
Muokkaa riviä lisäämällä <tt>wins</tt> '''ennen''' kohtaa dns
   hosts:          files mdns4_minimal [NOTFOUND=return] wins dns mdns4
   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>.


Asenna winbind
Kun olet käynyt edellä olevat vaiheet lävitse, käynnistä <tt>netfs</tt>-[[init]]-skripti (tai tietokone) uudelleen.
  sudo apt-get install winbind
 
Kun olet käynyt edellä olevat vaiheet lävitse, käynnistä tietokone uudestaan


===Väliaikainen liittäminen===
===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.
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
  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 liitettävä palvelin vaatii salasanaa:
  [[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


Mikäli palvelin ei vaadi salasanaa
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
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ä:
Jos haluat lukuoikeudet jakoon käyttäen vierastiliä
mount -t cifs //netbiosnimi/jaon_nimi /mnt/jaon_nimi -o guest,iocharset=utf8
sudo mount -t cifs //netbiosnimi/jaon_nimi /media/jaon_nimi -o guest,iocharset=utf8


===Pysyvä liittäminen===
===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.  
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.


Luo varmuuskopio tiedostosta
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:
  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
   username=käyttäjätunnus_palvelimeen
   password=käyttäjätunnuksen_salasana
   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


Muokkaa tiedoston oikeuksia niin, että vain pääkäyttäjä pystyy lukemaan sitä:
[[chmod]] 700 /root/.smbcredentials


Mikäli palvelin ei vaadi salasanaa lisää loppuun rivi:
Mikäli liitettävä palvelin vaatii salasanaa, lisätään fstabin loppuun rivi
   //netbiosnimi/jaon_nimi    /media/jaon_nimi        cifs    guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
   //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0


Mikäli haluat vain lukuoikeudet käyttäen vierastiliä, niin lisää loppuun rivi:
Mikäli palvelin ei vaadi salasanaa, lisätään rivi
//netbiosnimi/jaon_nimi    /media/jaon_nimi        cifs    guest,iocharset=utf8 0 0
  //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    guest,rw,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0


Kun olet lisännyt rivin tiedoston, voit tallentaa ja sulkea sen.
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


Lopuksi kokeile että asetukset toimivat
Kaikki fstabissa listatut listatut tiedostojärjestelmät voi liittää komennolla
   sudo mount -a
   mount -a


==Virheilmoitukset==
==Virheilmoitukset==
===Liitosvirhe 13===  
===Liitosvirhe 13===  
Jos näet liitosvirheen 13 = pääsy evätty:  
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
<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
sudo mount -a
   //netbiosnimi/jaon_nimi    /mnt/jaon_nimi        cifs    credentials=/root/.smbcredentials,'''nounix''',iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
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ä===
===Väli tiedoston nimessä===
Jos jonkin jaon nimessä esintyy väli, niin se täytyy korvata liitoskomennossa merkillä <tt>\040</tt>
Jos jonkin jaon nimessä esintyy väli, täytyy se 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
   //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===
===OpenOfficen tallennusvirhe===
Jos saat virheen yrittäessäsi muokata jaettua tiedostoa openofficella, pitää sinun lisätä optio <tt>nobrl</tt>
Jos saat virheen yrittäessäsi muokata jaettua tiedostoa [[OpenOffice.org]]illa, täytyy lisätä asetus <tt>nobrl</tt>
   //netbiosnimi/jaon_nimi    /media/jaon_nimi        cifs    credentials=/root/.smbcredentials,iocharset=utf8,'''nobrl''',file_mode=0777,dir_mode=0777 0 0
   //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===
===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:
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 ryhmänumerosi(gid). Yleensä mlemmat on 1000, mutta kannattaa kuitenkin varmistaa.
1. Selvitä käyttäjänumerosi ([[UID]]) ja ensisijaisen ryhmäsi numero ([[GID]]).
   at /etc/passwd | grep <tt>käyttäjätunnus</tt>
   [[cat]] /etc/[[passwd-tiedosto|passwd]] | [[grep]] käyttäjätunnus


Tulos on jotakuinkin seuraavanlainen
Tuloste on seuraavaa muotoa, missä ensimmäinen numero (tässä 500) on UID ja toinen numero (tässä 100) GID.
masa:x:'''1000''':'''1000''':Matti Meikäläinen ,,,:/home/masa:/bin/bash
masa:x:500:100:Matti Meikäläinen ,,,:/home/masa:/bin/bash


* 2. Lisää gid ja uid numerot, sekä optio nounix <tt>fstab</tt>-tiedostossa olevaan liitoskomentoon:
2. Lisää GID- ja UID-numerot, sekä asetus <tt>nounix</tt> fstabissa 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
   /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===
===Tyhjä rivi puuttuu fstab-tiedostosta===
Jos <tt>fstab</tt>-tiedoston lopusta puuttuu tyhjä rivi, voi ilmaantua virheilmoitus:
Jos fstab-tiedoston lopusta puuttuu tyhjä rivi, voi ilmaantua virheilmoitus
<tt>(warning: no final newline at the end of /etc/fstab)</tt>
(warning: no final newline at the end of /etc/fstab)
Ongelma poistuu lisäämällä tyhjä rivi tiedoston loppuun.
Ongelma poistuu lisäämällä tyhjä rivi tiedoston loppuun.



Versio 25. maaliskuuta 2009 kello 00.05

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.

Jaon lisääminen asiakaskoneeseen

Voit lisätä jaon käyttämällä 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. IP-osoitteen muuttumisen voi estää joko sitomalla se reitittimessä (DHCP-palvelimessa) tiettyyn MAC-osoitteeseen tai käyttämällä staattista IP-osoitetta.

Valmistelu

SMB/CIFS-tiedostojärjestelmän liittämiseen tarvittavat ohjelmistot löytyvät jakelusta riippuen joko paketista cifs-mount, mount-cifs, samba-client tai smbfs. Itse Samba-palvelin löytyy käytännössä kaikissa jakeluissa paketista samba.

Seuraavaksi pitää luoda hakemisto (liitospiste), jonne jako halutaan liittää. Perinteisesti liitospisteet on luotu hakemiston /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ä.

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.

Etsitään asetustiedostosta /etc/nsswitch.conf rivi

 hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

ja lisätään sinne sana wins ennen kohtaa dns

 hosts:          files mdns4_minimal [NOTFOUND=return] wins dns mdns4

Asennetaan winbind. Useimmissa jakeluissa se löytyy joko paketista samba-winbind, winbind tai sitten se on sisällytetty pakettiin samba.

Kun olet käynyt edellä olevat vaiheet lävitse, käynnistä netfs-init-skripti (tai tietokone) uudelleen.

Väliaikainen liittäminen

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:

 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

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-asetustiedostoon. 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 /root/.smbcredentials 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: ("CIFS VFS: cifs_mount failed w/return code = -13" in dmesg) kun olet antanut komennon mount -a, lisää liitoskomentoon asetus nounix. 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ä \040

 //netbiosnimi/jaon_nimi\040ja\040vä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.orgilla, täytyy lisätä asetus nobrl

 //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 | 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 nounix 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