Failiserveri labor v.2

From ICO wiki

Legend

Firmasse tuli uus osakond. Looge osakonnale jagatud võrguketas ja grupp lab. Seega gruppi lab kuuluvad inimesed saavad kirjutada \\<failiserveri IP>\lab kausta.

Gruppi mittekuuluvad inimesed ei saa ei lugeda ega kirjutada. Kaust failisüsteemis, mida välja jagatakse on /var/data/lab.

Üldinformatsioon

Allolev juhend sobib veebiserveri paigaldamiseks Ubuntu 9.10 operatsioonisüsteemis, kuid suure tõenäosusega ka uuemate/vanemate versioonidega.

Selle juhendi kasutajalt eeldatakse linuxi käsurea mõningast tundmist ning oskust kasutada käsurealt tekstieditori n. vi või nano.

Töö käik

Kuna enamus järgnevaist toimingutest vajavad root kasutaja privileege, on 2 võimalust:

1. Käivitada iga säherdune käsk root kasutaja õigustes sudo abil näiteks:

sudo apt-get update
sudo nano /etc/hosts

2. Logime ennast root kasutajaks ning käivitame vajalikud toimingud. Kuna sudo-t sel juhul enam vaja ei lähe, hoiad selle arvelt pisut aega kokku. Samas on aga tunduvalt lihtsam midagi ära rikkuda, sest KÕIK käsud käivitatakse root kasutaja õigustes!

sudo -i
apt-get update
vi /etc/hosts

Kuidas keegi jätkab on igaühe enda valida. Järgnevas juhendis on root kasutaja õigustes käivitatavatel käskudel ees sudo. Kui otsustad ennast kohe root kasutajaks keerata, siis edaspidistes toimingutes võid (aga ei pea) sudo eest ära jätta. Kuna enamus konfiguratsioonifaile on root kasutaja omad, pead nende muutmiseks omama ka root kasutaja privileege - tekstieditor tuleb käivitada toot kasutaja õigustes nagu ülal näidatud.

Eeldused

Failiserveri kasutajal peab olema kehtiv kasutajakonto failiserveris ning ta peab kuuluma gruppi lab

Installeerimine

  • Enne installeerimist tasub uuendada tarkvara nimekirja:
sudo apt-get update
  • Installeerime apt abil samba serveri, kliendi ja samba failisüsteemi utiliidid:
sudo apt-get install samba smbclient smbfs

Seadistamine

Loo jagatud kettale kaust

  mkdir -p /var/data/lab

Tee samba konfifailist varukoopia

  sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old

Muuda samba konfifaili /etc/samba/smb.conf

Allpool on toodud üldise ja konkreetse jagatud "ketta" parameetrid. Originaalkonfis on globaalsete parameetrite vahel palju kommentaare, mistõttu peaksid parametrid konfist ükshaaval üles otsima ning vajadusel ära lisama,muutma või sisse kommenteerima. Jagatud ketta parameetrid tuleb lisada.

Globaalsed parameetrid

Globaalsed parameetrid asuvad [global] sektsioonis. Enamus vajalikke parameetreid on seal enamasti juba määratud, otsi nad üles ja muuda ära või kommenteeri sisse(eemalda ; rea eest). Puuduvad lisa [global] sektsiooni lõppu.

NB Selle labori tarbeks pole globaalset sektsiooni muuta vaja

[global]
 netbios name = MASIN
 workgroup = WORKGROUP
 announce version = 5.0
 socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192
 interfaces = lo, eth0
 bind interfaces only = true
 security=user
 encrypt passwords = true
 map to guest=bad user
 guest account=nobody
 passdb backend = tdbsam

Ülalolevatest parameetritest võib olla tarvis muuta interfaces - selle parameetriga määratakse ära, mis võrguseadmetelt tulevaid samba ühendusi aksepteeritakse.

Pane tähele ka passdb backend parameetrit - väärtus tdbsam näitab, et kasutajate info ja paroolid salvestatakse nn. TDB baasis (Trivial DataBase). See tähendab, et iga kasutaja tuleb eraldi seadistada smbpasswd käsuga!

Kasutajate info säilitamise võimaluste kohta loe lisa http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/passdb.html#id2592512

Jagatud ketta parameetrid

Jagatud ketta parameetrid peavad asuma etc/samba/smb.conf failis ketta enda nimelises sektsioonis - antud juhul siis [lab]. Vaikimisi ei ole samba serveril seadistatud ühtegi jagatud ketast, mistõttu võib järgneva lihtsalt konfifaili lõppu kopeerida.

 [lab]
 comment=Labori kaust
 path=/var/data/lab
 writable=yes
 valid users=@lab
 force group=lab
 browsable=yes
 create mask=0664
 directory mask=0775

Jagatud ketta puhul tuleb siis ära määrata,kes saavad seda lugeda ja sinna kirjutada ning veel üht-teist:

comment=Labori kaust ; jagatud ketta kirjeldus

path=/var/data/lab ; jagatud ketta asukoht serveris

writable=yes ; kettale kirjutamise lubamine (ehk väärtus "no" = read-only)

valid users = @lab ; kettale saavad ligi kõik kasutajad, kes kuuluvad süsteemsesse gruppi lab. Kui lubatud gruppe ja/või kasutajaid on mitu, siis eralda nad komaga. Gruppide ette tuleb panna @ märk.

force group = lab ; kõikide failide omanik-grupiks seatakse süsteemne grupp lab lab.

browsable=yes ; ühendudes hosti külge on jagatud kettad nähtavad. kui selle väärtuseks panna "no", siis saab jagatud kettale ligi vaid skriptidega, kuhu on eelnevalt ketta nimi juba sisse kirjutatud.

create mask=0664 & directory mask=0775 ; uute failide ja kataloogide vaikimisi õigused. Kuna kõikide failide/kataloogide grupp on "lab", siis eelpoolnimetatud vaikimisi õigused tagavad selle, et kõik kasutajad saavad kirjutada,lugeda ja kustutada kõiki faile (ka teiste tekitatud faile/katalooge).

samba kasutajatega majandamine

Nagu eeldustest võis lugeda, peab eelpoolnimetatud konfi puhul olema kõikidel failiserveri kasutajatel olema süsteemne kasutajakonto.

Seda saab üsna lihtsalt teha käsuga useradd, olemasoleva kasutaja grupikuuluvuste muutmine käsuga usermod.

Lisaks peab neile tekitama veel smbpasswd käsuga ka samba failiserveri kasutaja/parooli. (tundub kahtlaselt mõttetu? loe viimast punkti). Samba kasutajanimi peab olema sama, mis süsteemne kasutaja. Parool ei pea.

kasutaja lisamine

Kasutaja lisamisel määratakse talle ka parool.

sudo smbpasswd -a <kasutajanimi>

kasutaja kustutamine

sudo smbpasswd -x <kasutajanimi>

Käivitamine/Seiskamine

  • Samba teenuse käivitamine:
sudo service smbd start

või

sudo /etc/init.d/smbd start
  • Samba teenuse seiskamine:
sudo service smbd stop

või

sudo /etc/init.d/smbd stop
  • Siinkohal oleks mõistlik uurida, kas samba teenus peale serveri (re)starti automaatselt käivitub:
    • Üsna lihtne on seda teha chkconfig utiliidi abil. Kui sul seda ei ole, siis paigalda see apti abil:
sudo apt-get install chkconfig
sudo chkconfig --list samba
  • Peale IGAT konfiguratsioonimuudatust peaks muudatused ka veebiserverisse laadima. Peale igat seetõttu, et kui midagi valesti läks, siis on viga lihtsam leida.
    • Selleks võib veebiserverile teha restardi:
sudo service smbd restart

või

sudo /etc/init.d/smbd restart
    • Saab ka ilma restardita:
sudo service smbd reload

või

sudo /etc/init.d/smbd reload


reload eelis on selles, et see toimib kasutajatele märkamatult, kasutajate sessioonid säilivad.

Tulemuse kontroll

Samba konfi kontroll

Kogemata ja meelega konfis tehtud vigu saab tuvastada järgmise käsuga:

testparm -s

ühendumise kontroll windowsist

Start >> Run >> sinna kirjuta \\<serveri nimivõi ip>\lab ja pressi enter.

ühendumise kontroll linuxiga

Käsurealt:

smbclient //<serveri nimivõi ip>/lab -U <kasutajanimi>

Graafilises keskonnas saab kasutada näiteks Konquerori veebilehitsejat, kirjuta selle aadressiribale lihtsalt:

smb://<serveri nimivõi ip>/lab

Varundus ja taastamine

Varundamiseks kopeeri allolevates kataloogides asuvad failid alternatiivsele andmekandjale.

Failiõiguste säilitamiseks ja andmete tihendamiseks kasuta tar käsku.

Konfiguratsioon

/etc/samba

Jagatud ketta sisu

/var/data/lab

Varundamise ja taastamise näited

Varundame jagatud ketta sisu faili lab.tar.gz

sudo tar -czvf lab.tar.gz /var/data/lab/*

Taastame kõik veebid juurkataloogis olevast failist lab.tar.gz endisesse asukohta:

sudo tar -xzvf /lab.tar.gz

Mis saab edasi?

oleks mõistlik autentimiseks kasutada LDAP-i või siis konfida samba nii, et ei oleks topelt kasutajate seadistust (tõenäoliselt vaja PAM konf pisut muuta).