Ero sivun ”Samba” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
(Kumottu muokkaus #23518, jonka teki ARTTUSN WIHOWIIMEINEN MARSSI TÄYTIN TOIVEENNE PÄÄSETTE NYT EROON MUSTA!!!!!!!! ([[User talk:ARTTUSN WIH)
(cifs-liitosohje sopii paremmin tänne)
Rivi 1: Rivi 1:
Samba on UNIXeille tehty avoin toteutus Windowsissakin käytetystä [[SMB]]-tiedostonsiirtoprotokollasta. Asennettuasi samba-palvelinohjelman, lisää käyttäjiä komennolla
Samba on Unixeille tehty [[avoin lähdekoodi|avoin]] toteutus Windowsissakin käytetystä [[SMB]]/[[CIFS]]-tiedostonsiirtoprotokollasta.
smbpasswd -a käyttäjänimi


Huomaa että voit tehdä samba-käyttäjiä näin vain nykyisistä UNIX käyttäjistä, joten voit haluta tehdä ensin uuden käyttäjän koko käyttöjärjestelmään. Se onnistuu komennolla
==Asennus==
[[adduser]] -m tunnus
Samba-[[palvelin]]ohjelmisto löytyy käytännössä kaikissa [[jakelu]]issa [[paketinhallintajärjestelmä|paketista]] <tt>samba</tt>.


Komennon annettuasi ohjelma kysyy käyttäjälle salasanat. Ne annettuasi pääset kirjautumaan Linux-palvelimellesi vaikkapa Windows-verkon koneilta. Jaettuja hakemistoja ja muita samban asetuksia pääset säätämään tiedostosta /etc/samba/smb.conf.
SMB/CIFS-tiedostojärjestelmän [[mount|liittämiseen]] tarvittavat ohjelmistot löytyvät jakelusta riippuen joko paketista <tt>cifs-mount</tt>, <tt>mount-cifs</tt>, <tt>samba-client</tt> tai <tt>smbfs</tt>.
 
==Palvelimen asetukset==
Asennettuasi Samba-palvelinohjelman, lisää käyttäjiä [[komentorivi]]komennolla
[[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. Se 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ää [[asetustiedosto]]ssa <tt>/etc/samba/[[smb.conf]]</tt>.


Samba osaa käyttää myös ulkoista salasanapalvelinta ja luoda paikallisia tunnuksia tarpeen mukaan. Tästä lisää Samban dokumentaatiossa.
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. Smbclientillä voit kirjautua FTP-tyylisesti samba-serverille, ja esimerkiksi siirtää tiedostoja palvelimelle/palvelimelta. Jos SELinuxia käyttäessä ilmenee ongelmia Windows-jakoon kirjoittamisesssa (ei lukemisessa), voit kokeilla asettaa SELinux-tuen smb-daemonille disabloiduksi. Tähän tarkoitukseen voi käyttää ohjelmaa <tt>system-config-securitylevel</tt>.  
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 [[SELinux]]ia käyttäessä ilmenee ongelmia Windows-jakoon kirjoittamisesssa (ei lukemisessa), voit kokeilla poistaa smb-[[taustapalvelu]]lta SELinux-tuen. Tämä tapahtuu SELinuxin asetusohjelmassa.
 
==Samba-jaon liittäminen==
Voit lisätä Samba-jaon käyttämällä palvelimen [[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 tasaisin väliajoin muuttamaan asetuksia. 
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===
Aluksi 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 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 [[asetustiedosto]]sta <tt>/etc/nsswitch.conf</tt> rivi
  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>.
 
Kun olet käynyt edellä olevat vaiheet lävitse, käynnistä <tt>netfs</tt>-[[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]]-[[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>/etc/samba/palvelin.credentials</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 /etc/samba/palvelin.credentials
 
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=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
 
==Virheilmoituksia==
===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=/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ä <tt>\040</tt>
  //netbiosnimi/jaon_nimi'''\040'''ja'''\040'''vä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.org]]illa, täytyy lisätä asetus <tt>nobrl</tt>
  //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-tiedosto|passwd]] | [[grep]] käyttäjätunnus


==SMB-jaon liittäminen==
Tuloste on seuraavaa muotoa, missä ensimmäinen numero (tässä 500) on UID ja toinen numero (tässä 100) GID.
Tämä pätee yhtä hyvin Windows- kuin *nix-koneillakin olevien SMB/CIFS-jakojen liittämiseen:
masa:x:500:100:Matti Meikäläinen ,,,:/home/masa:/bin/bash
mount -t smbfs -o username=käyttäjä,password=salasana //tiedostopalvelin/jako /mnt/liitoskohta
Tai jos haluat liittää jaon jo järjestelmän käynnistyksessä, lisää /etc/[[fstab]]-tiedostoon:
//tiedostopalvelin/jako /mnt/liitoskohta smbfs defaults 0 0


Normaalisti salasanaa ei pidä kirjoittaa tiedostoon /etc/fstab tai komentoriville, mistä koneen käyttäjät voivat sen lukea. Liitosvalitsimena voi tunnuksen ja salasanan sijaan antaa <tt>credentials=/etc/samba/palvelin.credentials</tt>, jolloin mainitun tiedoston (jolle ei anneta lukuoikeutta kuin rootille) sisältö on muotoa
2. Lisää GID- ja UID-numerot, sekä asetus <tt>nounix</tt> fstabissa olevaan liitoskomentoon:
username=tunnus
  /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
password=salasana


Huomaa, että jos olet liittämässä jakoa Windows 2003 -pohjaiselta palvelimelta, käytä smbfs:n sijaan cifs:.
===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==

Versio 25. maaliskuuta 2009 kello 00.30

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. Se 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.

Samba-jaon liittäminen

Voit lisätä 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ää. 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 /etc/samba/palvelin.credentials 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 /etc/samba/palvelin.credentials

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

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.

Katso myös