CIFS

Linux.fista
Versio hetkellä 25. maaliskuuta 2009 kello 00.05 – tehnyt Pb (keskustelu | muokkaukset) (jakeluriippumattomaksi, wikitystä)
Siirry navigaatioon Siirry hakuun

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