Failiserveri labor v.2
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).