Samba
Samba on Unixeille tehty avoin toteutus Windowsissakin käytetystä SMB/CIFS-tiedostonsiirtoprotokollasta.
Asennus
Samba-palvelinohjelmisto löytyy käytännössä kaikissa jakeluissa paketista samba.
SMB/CIFS-tiedostojärjestelmän liittämiseen tarvittavat ohjelmistot löytyvät jakelusta riippuen joko paketista cifs-mount, mount-cifs, samba-client tai smbfs.
Palvelimen asetukset
Asennettuasi Samba-palvelinohjelman, lisää käyttäjiä komentorivikomennolla
smbpasswd -a käyttäjänimi
Huomaa että voit tälla tavalla tehdä samba-käyttäjiä vain koneen nykyisistä unix-käyttäjistä. Saatat siis haluta tehdä ensin uuden käyttäjän koko käyttöjärjestelmään (jos käyttäjän ei pidä saada muita oikeuksia, näitä voi rajoittaa esimerkiksi käyttäjäryhmän ja komentotulkin asettamisella). Normaalin käyttäjän luonti onnistuu komennolla
useradd -m tunnus
Salasanan käyttäjälle voi asettaa komennolla
passwd tunnus
Jaettuja hakemistoja ja muita Samba-palvelimen asetuksia voi säätää asetustiedostossa /etc/samba/smb.conf.
Samba osaa käyttää myös ulkoista salasanapalvelinta ja luoda paikallisia tunnuksia tarpeen mukaan. Tästä lisää Samban dokumentaatiossa.
Voit myös käyttää sambaa Unix-koneilta Windows-jakojen käyttöön. Smbclient-ohjelmistolla voit kirjautua FTP-tyylisesti samba-palvelimelle, ja esimerkiksi siirtää tiedostoja palvelimelle/palvelimelta. Jos SELinuxia käyttäessä ilmenee ongelmia Windows-jakoon kirjoittamisesssa (ei lukemisessa), voit kokeilla poistaa smb-taustapalvelulta SELinux-tuen. Tämä tapahtuu SELinuxin asetusohjelmassa.
Graafiset vaihtoehdot
Samba-palvelimen graafiseen asettamiseen on tarjolla monia vaihtoehtoja.
Useimpien jakeluiden paketinhallinnasta löytyy SWAT-niminen www-selainpohjainen asetustyökalu (löytyy asennuksen jälkeen osoitteesta http://localhost:901/).
Jakeluiden asetuskeskuksissa/ylläpitovalikoissa on myös yleensä tarjolla jokin Samba-asetustyökalu, näin on esimerkiksi Fedorassa (system-config-samba), Mandrivassa (asetuskeskus), openSUSEssa (YaST) ja RHEL:issä (system-config-samba).
Samba-jaon liittäminen
Voit liittää Samba-jaon käyttämällä palvelimen 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 tasaisin väliajoin 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
Aluksi pitää luoda hakemisto (liitospiste), jonne jako halutaan liittää. Väliaikaisesti voi käyttää liitospisteenä hakemistoa /mnt tai sen alihakemistoja, mutta yleensä tarkoitukseen kannattaa luoda uusi hakemisto sen mukaan mihin jakoa on tarkoitus käyttää. Uuden hakemiston voi luoda juurihakemistoon. Uuden hakemiston nimi on varminta muodostaa kirjaimista a-z (ei välilyöntejä, ääkkösiä tms.).
Jos DHCP-palvelinta käytetään IP-osoitteiden ja DNS-nimien jakamiseen dynaamisesti, 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 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
Mikäli liitettävä palvelin vaatii salasanaa sen voi antaa liittämisen yhteydessä (sitä kysytään kun kyseessä ei ole vierastili):
mount -t cifs //netbiosnimi/jaon_nimi /mnt/jaon_nimi -o username=käyttäjänimi,iocharset=utf8,file_mode=0770,dir_mode=0770,gid=users
Sambapalvelin kertoo käytettävät UID- ja GID-arvot yms., mutta käytettäessä Windows-palvelinta ne on usemmiten asetettava asiakkaan puolelta. Uudemmat versiot sallivat käyttäjä- ja ryhmänimien käytön. Viimeisessä esimerkissä jaon käyttö on evätty muilta kuin ryhmään users kuuluvilta ja komennon antajalta (tavallisesti pääkäyttäjä).
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 tiedosto /etc/samba/palvelin.credentials, jolle asetetaan oikeudet niin että vain pääkäyttäjä pystyy lukemaan sitä:
touch /etc/samba/palvelin.credentials chmod 700 /etc/samba/palvelin.credentials
Tiedoston sisällöksi tulee seuraavat rivit:
username=käyttäjätunnus_palvelimeen password=käyttäjätunnuksen_salasana
Mikäli liitettävä palvelin vaatii salasanaa, lisätään fstabin loppuun rivi
//netbiosnimi/jaon_nimi /mnt/jaon_nimi cifs credentials=/etc/samba/palvelin.credentials,iocharset=utf8,file_mode=0770,dir_mode=0770, 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
Graafiset vaihtoehdot
Gnomessa voi paikallisverkon Samba-jakoja selata kohdasta Sijainnit --> Verkko --> Windows-verkko. Vapaavalintaisen Samba-jaon voi liittää Sijainnit-valikon kohdasta Yhdistä palvelimeen... (Palvelutyyppi: Windows-jako). Jos verkkoa ei voida näyttää Nautiluksessa niin gvfs-backends pakettia ei ole asennettu järjestelmään.
KDE4:ssä Samba-jaot löytyvät Dolphin-tiedostonhallintaohjelmassa kohdasta Verkko. Kuvakkeen Samba Shares (Samba-jaot) alla voi selata paikallisverkon Samba-jakoja. Vapaavalintaisen jaon voi liittää kohdasta Lisää verkkokansio (Verkkokansion tyyppi: Microsoft® Windows® verkkolevy).
Virheilmoituksia
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=/etc/samba/palvelin.credentials,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=/etc/samba/palvelin.credentials,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=/etc/samba/palvelin.credentials,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=/etc/samba/palvelin.credentials,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.