Osadmin spikker

From EIK wiki

OSADMIN SPIKKER (V2.0)

Spikker on abivahend, mida tohib kasutada ITK õppeaine "Operatsioonisüsteemide administreerimine ja sidumine" praktilisel eksamil. Spikker sobib kasutamiseks neile, kellel enne selle õppeaine läbimist puudus serverite administreerimise kogemus Linux või Unix keskkondades. Spikker annab baasülevaate põhilistest käskudest, mida nimetatud aine laborotoorsetes töödes kaitsti. Siiski ei pretendeeri spikker antud aines õpitud käskude ammendavale loetelule või nende parimale esitlusviisile. Spikri eesmärk on aidata kiiresti leida ainega seotud lihtsamad käsud ning korduva läbiharjutamnise teel need käsud meelde jätta.

Autor

Kristiina Kaarna

Varasema versiooni autor

V0.1 - V1.1 Marian Leinakse (aasta 2009)

1. TÖÖ FAILIDEGA

Linux/Unix loeb failideks ka kataloogid, mistõttu käsitlen järgnevaid lihtsamaid operatsioone failide ja kataloogidega üheskoos.

1.1. Loomine

  • Faili loomine: touch file
touch kirjutis.txt

Tulemus: kataloogi, kus kasutaja hetkel viibib, luuakse fail kirjutis.txt .

või

touch kataloog1/kirjutis.txt

Tulemus: kodukataloogis olevasse kataloogi kataloog1 loodi fail kirjutis.txt.


  • Kataloogi loomine: mkdir kataloog
mkdir kataloog1

Tulemus: kataloogi, kus kasutaja hetkel viibib, luuakse kataloog kataloog1.


  • Ühe kataloogi sisse alamkataloogide loomine


mkdir kataloog1/alam1

Tulemus: kataloogi kataloog1 sisse luuakse alamkataloog alam1.

  • Alamkataloogide puu loomine
mkdir -p kataloog1/aste1/aste2/aste3

Tulemus: kataloogi kataloog1 sisse luuakse alamkataloogide puu, kus aste1 sees on aste2 ja selle sees on aste3.

1.2. Kustutamine

  • Faili kustutamine: rm fail
rm kirjutis.txt

Tulemus: kustutatakse fail kirjutis.txt .


  • Kataloogi kustutamine: rm -r kataloog

Võti -r tähistab seda, et kataloog kustutatakse koos kõigi selles sisalduvate failidega.

rm -r kataloog1

Tulemus: kustutatakse kataloog1 koos kõigi selles olnud failidega.


  • Kataloogi sisu kustutamine kataloogi allesjätmisega: rm -r *

NB! Tuleb viibida kataloogi sees, mille kogu sisu kustutatakse.

rm -r *

Tulemus: Kustutatakse selle kataloogi sisu, milles viibitakse. Kataloog ise jääb alles.

1.3. Liigutamine ja ümbernimetamine

  • Faili liigutamine: mv MIS_fail KUHU_kataloogi
mv kirjutis.txt kataloog2

Tulemus: fail kirjutis.txt liigutati kataloogi kataloog2


  • Kataloogi liigutamine teise kataloogi sisse: mv MIS_kataloog KUHU_kataloogi

Liigutatava kataloogi sisu (selles olevad failid) liiguvad koos kataloogiga teise kataloogi sisse.

mv kataloog1 kataloog2

Tulemus: kataloog1 liigub kataloog2 sisse.


  • Kataloogi liigutamine teise kataloogi alamkataloogi
mv väikekataloog suurkataloog/alam1

Tulemus: kataloog väikekataloog liigub kataloogi suurkataloog alamkataloogi alam1 .


  • Faili või kataloogi ümbernimetamine: mv VANA_nimi UUS_nimi
mv kirjutis.txt jutuke.txt

Tulemus: fail kirjutis.txt nimetatakse ümber failiks jutuke.txt.

1.4. Kopeerimine

  • Faili kopeerimine: cp KES KELLEKS
cp esilagne uus

Tulemus: fail esialgne kopeeriti failiks uus.

  • Kataloogi kopeerimine koos sisuga (selles olevate failidega): ' cp -r KES KELLEKS '
cp -r esilagne uus

Tulemus: kataloog esialgne koos selle sisuga kopeeriti kataloogiks uus.

1.5. Kataloogides liikumine

  • Kodukataloogi liikumine: cd
cd

Tulemus: kasutaja satub oma kodukataloogi. Administraator satub root-kataloogi.


  • Kataloogides taseme võrra ülespoole liikumine: cd ..
  • Kataloogides kahe taseme võrra: ülespoole liikumine: cd ../..
  • Viimati külastatud kataloogi minek: cd -
  • Ühe korraldusega juurikas asuvas kataloogis var oleva alamkataloogi log sisse liikumine
cd /var/log

1.6. Vaatamine

  • Kataloogi sisu vaatamine: ls -l
  • Faili sees vaatamine: less

Näide: Avame less abil kataloogis /var/log/ sisalduva faili messages

less /var/log/messages
    • käsu less käivitamisel kasulikud käsud faili sees opereerimiseks:

Faili sees allapoole liikumine: n

Faili sees ülespoole liikumine: ?

Faili algusesse liikumine: g

Faili lõppu liikumine: G

Abi lugemine: h

Väljumine failist ja less-käsust: q

1.7.Otsimine

  • Faili otsimine mingi tunnuse abil: find KUSTKOHAST MILLE_JÄRGI MIDA
find /etc -name "*.log"

Tulemus: kataloogist etc otsitakse kõik failid, millel on laiend .log

find /var/log -size 1M

Tulemus: kataloogi var alamkataloogist log otsitakse kõik failid suurusega 1MB.

  • Faili SISU järgi vaatamine: grep MIDA KUST
grep sda /var/log -i -R

Tulemus: kataloogi var alamkataloogist log otsitakse rekursiivselt väljendit sda, olenemata, kas väljendis esinevad suur- või väiketähed.

1.8. Failiõigused ja nende muutmine

Käsu ls -l sisestamisel kuvatakse kataloogis sisalduvat faili järgmiselt:

d/- rwx rw- r-- Ants tudengid 2007-02-01 16:00 fail.txt
objektitüüp kasutaja õigused grupi õigused muude isikute õigused kasutaja grupp muutmisaeg nimetus

Objektitüübi puhul tähistab d kataloogi ja - faili.


Võtmete tähendused:

r w x
fail: lugemise õigus;

kataloog: ls -l kasutamise õigus

kirjutamise õigus fail: käivitamise õigus;

kataloog: kataloogi sisenemise õigus

Subjektide tähised:

a u g o
kõik (all) kasutaja (user) grupp (group) kõik teised (others)


  • Faili või kataloogi õiguste muutmine: chmod KES MUUDETAV_õigus fail
chmod a-x,g+w,o-w kirjutis.txt

Tulemus: kõigilt võetakse õigus käivitada faili kirjutis.txt, grupile antakse õigus sellesse faili kirjutada, muudelt isikutelt võetakse õigus sellesse faili kirjutada.

1.9. Failiomaniku ja grupi muutmine

  • Faili või kataloogi omaniku muutmine: chown UUS_omanik kataloog
chown jaan kataloog1

Tulemus: Kataloogi kataloog1 omanikuks saab kasutaja Jaan.


  • Kataloogi ja selles sisalduvate failide omaniku muutmine: chown -R UUS_omanik kataloog
chown -R jaan kataloog1

Tulemus: Kataloogi kataloog1 ja kõigi selles olevate failide omanikuks saab Jaan.


  • Faili või kataloogi grupi muutmine chgrp UUS_grupp kataloog
chgrp tudengid kataloog1

Tulemus: Kataloog kataloog1 hakkab kuuluma gruppi tudengid.


  • Grupi ja selle õiguste muutmine

Näide: Anda grupile audio2 faili kirjutis.txt kirjutamise õigus.

Esiteks tuleb muuta faili kirjutis.txt grupp, seejärel muuta grupi õigused (lisada sellesse faili kirjutamise õigus).

chgrp audio2 kirjutis.txt

chmod g+w kirjutis.txt


  • Grupi ja omaniku õiguste muutmine ühe käsuga

Näide: Määrata failile kirjutis.txt uueks omanikuks Juhan ja grupiks Tuupur.

chown juhan:tuupur kirjutis.txt

Tulemus: Faili kirjutis.txt uus omanik on Juhan ja fail hakkab kuuluma gruppi Tuupur.

2. KASUTAJATE HALDAMINE

  • Kasutaja loomine: adduser kasutaja KUHU_gruppi
adduser jaan tudengid

Tulemus: Luuakse uus kasutaja Jaan, kes kuulub gruppi tudengid.

  • Kasutajale admin-õiguste andmine: adduser kasutaja admin
adduser jaan admin

Tulemus: Kasutaja Jaan saab admin-õigused.

  • Grupi loomine: groupadd tudengid
groupadd tudengid


Tulemus: Luuakse uus grupp tudengid.

  • Kasutaja parooli lukustamine ja lukust vabastamine: usermod -L kasutaja ja usermod -U kasutaja
usermod -L jaan

Tulemus: Kasutaja Jaan kasutajakonto lukustatakse

usermod -U jaan

Tulemus: Kasutaja Jaan kasutajakonto vabastatakse lukust.

  • Kasutajanime muutmine: usermod -l UUS_kasutajanimi VANA_kasutajanimi
usermod -l tudeng jaan

Tulemus: Kasutaja Jaan uus kasutajanimi on tudeng.

  • Kasutaja kodukataloogi ja kasutajanime muutmine: usermod –d kodukataloog –m –l UUS_kasutajanimi VANA_kasutajanimi
usermod –d /home/tudengid –m –l tudeng professor

Tulemus: Kasutaja professor muutub kasutajaks tudeng võtme -l abil. Uue kasutaja tudeng kodukataloogiks saab kataloog tudengid võtme -d abil. Vanast kodukataloogist liigutatakse kõik failid uude kodukataloogi võtmega -m.

  • Kasutaja kustutamine: userdel kasutaja
userdel jaan

Tulemus: Kasutaja Jaan kustutatakse.

  • Sisselogituna enda kasutaja salasõna muutmine: passwd

Seejärel tuleb sisestada esmalt vana salasõna ja siis 2 korda uut salasõna.

  • Teise kasutaja salasõna muutmine (ainult root õigustes): passwd kasutaja
passwd jaan

Seejärel tuleb sisestada 2 korda uut salasõna, mis määratakse kasutajale "Jaan".

  • Kasutaja shell väärtuse muutmine: usermod -s /bin/shell_v22rtus kasutaja
usermod -s /bin/false jaan

Tulemus: Kasutaja Jaan ei saa logida sisse ssh'ga, nüüd sisselogimisel käsureale ligipääs puudub. Taastamisel asendada /bin/false näiteks /bin/bash/ või mõne muu originaal shelliga.

  • Lokaalsete gruppide ja kasutajate info leidmine: getent group, getent passwd või detailsemalt getent passwd kasutaja

Käsk getent kuvab süsteemis olevate andmebaaside kasutajte kohta infot.

getent passwd jaan

Tulemus: Väljund kasutaja jaan kohta

jaan:x:1000:1000:Jaan,,,:/home/jaan:/bin/bash


getent group

Tulemus: Nimekiri rühma group andmebaasis olevatest gruppidest ja kasutajatest

root:x:0: daemon:x:1: bin:x:2: sys:x:3: adm:x:4:jaan tty:x:5: disk:x:6: lp:x:7: mail:x:8:

  • Infot kasutajate ja gruppide kohta leiab ka veel /etc/shadow ja /etc/passwd ja /etc/group failidest

3. TARKVARA HALDAMINE (paigaldamine, eemaldamine, sõltuvused)

  • Tarkvara paigaldamine: apt-get install programm
apt-get install firefox

Tulemus: Paigaldatakse programm Firefox.

Enne tarkvara paigaldamist oleks soovitatav uuendada operatsioonisüsteemi tarkvara varamu nimekirja.

    • Tarkvara paigaldamise simuleerimine: apt-get install programm -s
apt-get install firefox -s

Tulemus: Simuleeritakse programmi Firefox paigaldamine.

    • Alla-laetava deb-faili paigaldamine: dpkg -i debfail


  • Tarkvara eemaldamine: apt-get remove programm
apt-get remove firefox

Tulemus: Eemaldatakse programm Firefox.

    • Tarkvara eemaldamise simuleerimine: apt-get remove programm -s
apt-get remove firefox -s

Tulemus: Simuleeritakse programmi Firefox eemaldamine.

    • Eelnevalt paigaldatud deb-faili eemaldamine: dpkg -r debfail
    • Programmi eemaldamine koos selle seadistustega: apt-get remove --purge programm
apt-get remove --purge postfix

Tulemus: Eemaldatakse meiliprogramm Postfix koos selle seadistustega.

    • Instaleerimisfailide eemaldamine: apt-get clean

Kataloogist cd /var/cache/apt/archives eemaldatakse instaleerimisfailid, millega vabaneb kettaruum. Kettaruumi vaatamiseks tuleb sisestada käsk du -h. Seejuures -h võti tähistab human readable ehk inimloetavate suuruste näitamist (nt Gb, Mb).


  • Operatsionisüsteemi tarkvaravaramu nimekirja uuendamine: apt-get update


  • Olemasoleva (juba paigaldatud) tarkvara uuendamine: apt-get upgrade


  • Aliaste loomine

Tekstiredaktori (näiteks Nano) abil tuleb muuta kasutaja kodukataloogis asuvat .bashrc faili selliselt, et lisada soovitav alias seal olevate aliaste nimekirja. Muudatuste säilitamiseks tuleb fail bashrc uuesti käivitada.

nano .bashrc

alias paigalda='apt-get install'

Muudatuste säilitamiseks tuleb fail .bashrc uuesti käivitada.

. .bashrc

Tulemus: Loodi alias paigalda, mida saab kasutada käsu apt-get install asemel:

paigalda firefox


  • Tarkvara versiooni vaatamine: apt-cache policy programm
apt-cache policy firefox

Tulemus: Kuvatakse, kas antud süsteemis on programm Firefox ja milline versioon sellest. Märge candidate tähistab soovitatavat versiooni.


  • Sõltuvuste vaatamine
    • Vaatame, millisest tarkvarast sõltub meid huvitav programm: apt-cache depends programm
apt-cache depends nano

Tulemus: Näeme, mis tarkvarast sõltub tekstiredaktor Nano.

    • Vaatame, mis tarkvara sõltub meid huvitava programmi olemasolust: apt-cache rdepends programm
apt-cache rdepends nano

Tulemus: Näeme, mis tarkvara nõuab tekstiredaktori Nano olemasolu.


  • Katkenud paigaldamise parandamine

Käsk apt-get –f install kontrollib ja teeb korda katkenud sõltuvused. Käsk dpkg –configure –a viib lõpule poolelijäänud seadistamise. Need käsud tuleks anda üksteise järel.


  • Tarkvarapakettide migreerimine teise serverisse
    • Tarkvarapakettide nimekirja lugemine: dpkg --get-selections
    • Vana serveri tarkvarapakettide nimekirja loomine: dpkg --get-selections>installifail.txt
    • Vana serveri tarkvarapakettide nimekirja paigaldamine uude serverisse:

dpkg --set-selections<installifail.txt

4. KETTAJAOD

  • Teooria:

Kettajao loomise järel tuleb sellele tekitada failisüsteem. Kettajagu tuleb seejärel ühendada kataloogi (enamasti kodukataloogi).

Primaarseid kettajagusid saab olla maksimaalselt 4. Primaarse kettajao numeratsioon: 1-4. Nt: sdb4 (see on sdb ehk teise ketta 4. kettajagu)

Virtuaalse kettajao (ehk extended partition ) saab luua ühe primaarse kettajao sisse. Virtuaalse kettajao numeratsioon: 1-4. Nt: sdb4

Loogilisi kettajagusid võib olla palju ja need asuvad alati virtuaalse kettajao sees. Loogilise kettajao numeratsioon algab 5-st. Nt: sdb5

Igal kettajaol on algus (mälu silindrinumber) ja lõpp (mälu silindrinumber). Esimese loogilise kettajao ja virtuaalse kettajao alguse silindrinumbrid kattuvad.

  • Kettajagude tabeli vaatamine: fdisk –l

Kuvatakse kõvakettal olevad kettajaod:

 Device     BootStart    End      Blocks      Id    System
 /dev/sdb1      1        62      497983+     83    Linux
 /dev/sdb2      133      1044    7325640      5    Extended
 /dev/sdb5      133      194     497983+     83    Linux


  • Partitsiooni loomine: fdisk /dev/sdX
fdisk /dev/sdb

Tulemus: Sisenemine teise ketta (ketas sdb ) prompti, kus pakutakse sisestada käske.

    • Käsuga n luuakse promptist kettale uus kettajagu.
    • Uue kettajao sätted:

- Käsk p loob primaarse kettajao ja e loob virtuaalse kettajao. Virtuaalse kettajao sisse saab luua loogilise kettajao käsuga l.

- Kettajao numbri määramine: 1-4

- Algussilindri numbri määramine: vaikimisi pakutud numbriga nõustumine või muu numbri sisestamine.

- Lõpusilindri numbri või kettajao suuruse määramine. Suuruse määramisel tuleb ette kirjutada plussmärk. Nt: +1GB


  • Muud kettajagudega seotud käsud fdisk /dev/sdX promptist:

- Käsuga p kuvatakse promptist ketta kettajagude tabel.

- Käsuga q väljutakse promptist muudatusi salvestamata.

- Käsuga d kustutatakse promptist kettajagu.

- Käsuga w säilitatakse promptist muudatused kettajagude tabelisse.

NB! Kui käsu w sisestamisel annab opsüsteem VEATEATE ("Warning error 16:Device or resource busy.The kernel still uses the old table."), siis tuleb lahti ühendada varasemalt loodud kettajaod. (Ei piisa pelgalt nende kettajagude kustutamisest, vaid opsüsteem kasutab endist kettajagude tabelit). Vt käsku umount allpool.


  • Failisüsteemi loomine: mkfs –t tüüp kettajagu
mkfs –t ext4 /dev/sdb1

Tulemus: Kettajaole sdb1 ehk teise ketta esimesele kettajaole luuakse failisüsteem.


  • Kettajao ühendamine (kodu)kataloogi: mount kettajagu kataloog
mkdir /var/primaarne

mount /dev/sdb1 /var/primaarne

Tulemus: Loodud kataloogi /var/primaarne ühendatakse teise ketta esimene kettajagu.


  • Ühendatud failisüsteemi sisestamine alglaadimisfaili /etc/fstab redigeerimisprogrammiga.
nano /etc/fstab

Pärast muudatuste tegemist näeb alglaadimisfailist /etc/fstab üldjuhul järgmist:

<file system> <mount point> <type> <options> <dump> <pass>
/dev/sdb2 /var/primaarne ext4 defaults 0 0


  • Kettajao lahtiühendamine: umount /kettajagu
umount /dev/sdb1

Tulemus: Teise ketta esimene kettajagu ühendatakse lahti.

5. SAALEALA

  • Saaleala ehk swap loomine koosneb järgmistets etappidest:

1) Kettale swap-i jaoks uue kettajao loomine.

Vt eespool peatükis 4. selgitust kettajao loomise, fdisk prompti käsu w ja ülekirjutamise veateate kohta.

NB! Kui kettal oli varasemalt kettajagusid, mida kustutati, tuleb lisaks kustutatud kettajagude lahti ühendamisele (umount) eemaldada saaleala, mis oli seotud varasema kettajaoga: swapoff kettajagu . Nt: swapoff /dev/sdb5

2) Loodud kettajao määramine swapi-ile: mkswap kettajagu

mkswap /dev/sdb5

3) Alglaadimisfaili /etc/fstab muutmine redigeerimisprogrammiga.

nano /etc/fstab

Tuleb sisestada saalitava kettajao kohta alglaetav konfiguratsioon. Selle tulemusena nähtub /etc/fstab failist järgmine:

<file system> <mount point> <type> <options> <dump> <pass>
/dev/sdb5 none swap sw 0 0

4) Saalimise sisselülitamine: swapon -a

Alglaadimisfailist /etc/fstab loetakse sisse swap-i konfiguratsioon.


  • Saaleala olemasolu kontroll: swapon -s

6. TÖÖ PROTSESSIDEGA

  • Protsessitabeli kuvamine: ps -ef

Protsessitabelist nähtub iga protsessi id-number ehk PID.

  • Taustale ehk backgroundi suunatud tööde nimekirja kuvamine: jobs

Tööde nimekirjast nähtub iga töö number.

  • Protsessile süsteemse käsu saatmine: kill - käsu_nr PID
kill -9 1305

Tulemus: Tapetakse protsess, mille PID on 1305.

  • Taustal oleva töö süsteemse käsu saatmine: kill - käsu_nr % töö_nr
kill -9 %2

Tulemus: Tapetakse taustale suunatud töö nr 2.

  • Sümboolse viite loomine: ln -s viidatav_objekt viide
ln -s /var/log logid

Tulemus: Luukase sümboolne viide logid, mis viitab kataloogile /var/log.

  • Püsiva viite loomine: ln viidatav_objekt viide
ln /var/log logid

Tulemus: Luuakse püsiv viide logid, mis viitab kataloogile /var/log.

  • Suunamised

Suunamine protsessi käib "toru" ehk sümboli | abil. Suunamine faili toimub sümboli > või >> abil. Kahekordne märk tähistab faili sisule juurde lisamist, ühekordne aga sisu ülekirjutamist.

grep path | cowsay > text.txt

Tulemus: Keskkonnamuutujate seast otsitakse ridu, mis sisaldavad väljendit "path". Need read suunatakse programmi cowsay ja selle väljund omakorda faili text.txt, kirjutades faili text.txt sisu üle.

grep top | grep –v grep

Tulemus: Protsessitabelist otsitakse protsessi "top", filtreerides tulemust nii, et protsess "grep top" ei näidata tulemuses, vaid kuvatakse ainult "top" protsessi info.

  • Käivitatud protsessi tahaplaanile suunamine: tahaplaanile surumiseks ctrl+z.
  • Protsessi käivitamiseks tagaplaanil tuleb protsessi järele lisada & märk: cowssay &.
  • Protsessi esiplaanile toomine: fg
  • Töökataloogist programmi käivitamine: ./programmi_nimi