<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Skangsep</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Skangsep"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Skangsep"/>
	<updated>2026-05-07T22:05:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44161</id>
		<title>Nimeserveri labor V.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44161"/>
		<updated>2011-12-08T09:07:55Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Vajalikud käsud nimeserveri administeerimisel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Viimase muutmise aeg=&lt;br /&gt;
06. Detsember 2011 10:47&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
See wiki artikkel on koostatud IT infrastruktuuri teenused aine raames ning kogu konfiguratsioon käib järgmise stsenaariumi järgi:&lt;br /&gt;
&lt;br /&gt;
Me oleme ISP ja meie ülesandeks on talletada ja jagada erinevate asutuste infrastruktuuride aadresse. Selleks on  vaja teha master ja slave nimeserverid. Master server on selle jaoks, et hoida meie (ISP) enda domeeni tsoonifaile ja slave server on selleks, et hoida klientide tsoonifaile ja lubada tsoonifailide vahetust. &lt;br /&gt;
&lt;br /&gt;
Lisaks meile on samas võrgus ühe kooli ja kahe firma infrastruktuurid (vaata joonist). &lt;br /&gt;
&lt;br /&gt;
Enne stsenaariumi täielikku rakendamist peavad olema seadistatud asutuste erinevad teenused (nimeserver,veebiserver, failiserver jne).&lt;br /&gt;
&lt;br /&gt;
Täpsemalt saab lugeda DNS serveri kohta siit: [http://kuutorvaja.eenet.ee/wiki/DNS http://kuutorvaja.eenet.ee/wiki/DNS]&lt;br /&gt;
&lt;br /&gt;
NB! See artikkel ei sobi tavalise nimeserveri seadistamiseks, kuna konfiguratsioon on spetsiifiline.&lt;br /&gt;
&lt;br /&gt;
== Meeskonnaliikmed ==&lt;br /&gt;
&lt;br /&gt;
Urmo Laaneots, Karet Rikko, Ott Pärnoja, Markus Kont, Siim Kängsepp, Taavi Salumets, Juhan Liiva&lt;br /&gt;
&lt;br /&gt;
== Joonis ==&lt;br /&gt;
                               &lt;br /&gt;
           192.168.6.123&lt;br /&gt;
           ns1.vork.ee&lt;br /&gt;
           www.vork.ee                              192.168.6.124&lt;br /&gt;
             Master                                  ns2.vork.ee&lt;br /&gt;
                                                        Slave &lt;br /&gt;
                                                     nimeserver 2&lt;br /&gt;
                                                         ___&lt;br /&gt;
             nimeserver 1                               |   |&lt;br /&gt;
               ___                                      |___|&lt;br /&gt;
              |   |                                               &lt;br /&gt;
              |___|                                               &lt;br /&gt;
                   Master         Master        Master                           &lt;br /&gt;
                 klient 1        klient 2      klient 3           &lt;br /&gt;
                  ___             ___            ___&lt;br /&gt;
                 |   |           |   |          |   |&lt;br /&gt;
                 |___|           |___|          |___|&lt;br /&gt;
 &lt;br /&gt;
               itkool.ee        puder.ee      kartulid.ee&lt;br /&gt;
            192.168.6.101      192.168.6.116   192.168.6.120&lt;br /&gt;
&lt;br /&gt;
== Master nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
&lt;br /&gt;
Master nimeserver on ISP tsooni hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP primaarset nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, pärast muutmist on rida järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns1.vork.ee       ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kommenteerige sisse (eemaldage märk ; rea eest) forwarders sektsioon ja sinna kirjutage ISP DNS serveri IP aadress.&lt;br /&gt;
Muudetud fail peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.124;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                192.168.6.124;&lt;br /&gt;
         };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.ee.zone&amp;quot;;&lt;br /&gt;
        allow-transfer { 192.168.6.124; };&lt;br /&gt;
        allow-update { 192.168.6.124; };&lt;br /&gt;
        also-notify { 192.168.6.124; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelnevalt loodud tsoonid viitavad failidele, mis neid tsoone kirjeldavad. Selleks et neid faile luua, võtame aluseks olemasoleva localhost tsooni faili ja kopeerime seda.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo cp /etc/bind/db.127 /etc/bind/db.6.168.192.in-addr.arpa&lt;br /&gt;
sudo cp /etc/bind/db.local /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd muudame vork.ee.zone faili, avame selle tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peab olema selline:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; Zone file for linux.bogus&lt;br /&gt;
;&lt;br /&gt;
; The full zone file&lt;br /&gt;
;&lt;br /&gt;
$TTL 900&lt;br /&gt;
@       IN      SOA     vork.ee. hostmaster.vork.ee. (&lt;br /&gt;
                        2011102603       ; serial, todays date + todays serial #&lt;br /&gt;
                        28800              ; refresh, seconds&lt;br /&gt;
                        7200              ; retry, seconds&lt;br /&gt;
                        864000              ; expire, seconds&lt;br /&gt;
                        900 )            ; minimum, seconds&lt;br /&gt;
&lt;br /&gt;
$ORIGIN vork.ee.&lt;br /&gt;
             IN   NS      ns.vork.ee.&lt;br /&gt;
             IN   A       192.168.6.123&lt;br /&gt;
ns           IN   A       192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peale muudatuse tegemist tsoonifailis tuleb tõsta Seriali numbrit ühe võrra, et muudatused hakkaksid kehtima.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Failis olevate kirjete kohta võib selgitusi saada [http://www.zytrax.com/books/dns/ch8/ siit]&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui teenuse restart õnnestub, siis kontrolli, kas nimeserver töötab. Selleks kasuta tööriistu &#039;&#039;nslookup, dig, ping&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Slave nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
Slave nimeserver on kõikide võrgus olevate tsoonide hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP slave nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, muudatus peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns2.vork.ee       ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peaks välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.0/24;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                 192.168.6.124;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type slave;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.zone&amp;quot;;&lt;br /&gt;
        allow-notify { 192.168.6.123; };&lt;br /&gt;
        masters { 192.168.6.123; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vajalikud käsud nimeserveri administeerimisel ==&lt;br /&gt;
Kui tsoonifaile muudate, siis on vajalik tsooni uuesti laadida. Seda on võimalik teha kasutades &#039;&#039;&#039;rndc&#039;&#039;&#039; käsku. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälust kustutada ära üks nimi (näiteks on see kasulik mürgitatud serveri vahemälu puhul, Viide: [[DNS_Spoofing | DNS Spoofing]] ), siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname &amp;lt;nimi&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälu täielikult ära kustutada, siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flush&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dynaamilise tsooni reload tarbeks tuleb käituda nii:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze &amp;lt;tsoon&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
rndc thaw &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze vork.ee&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
rndc thaw vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse varundamine=&lt;br /&gt;
&lt;br /&gt;
Teenuse varundamiseks tuleb teha koopia /etc/bind ja /var/lib/bind kataloogist ja seal asuvatest failidest.&lt;br /&gt;
Käsk selleks on :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar czvf /backup/bind.tar.gz /etc/bind&lt;br /&gt;
sudo tar czvf /backup/bindtsoonid.tar.gz /var/lib/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse taastamine=&lt;br /&gt;
&lt;br /&gt;
==Teenuse taastamine, kui on olemas varukoopia==&lt;br /&gt;
Teenuse taastamiseks tuleb kopeerida varundatud kataloogid /etc/bind ja /var/lib/bind kataloogide asemele&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar xzvf /backup/bind.tar.gz -C /etc/&lt;br /&gt;
sudo tar xzvf /backup/bindtsoonid.tar.gz -C /var/lib/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DNS&#039;i teenuse administraatori teadmised =&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache&#039;i sisu ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc dumpdb -cache&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada loodud dump&#039;i fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named_dump.db&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache statistikat ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui vaja näha statistikas ka tsoonifailide informatsiooni ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja lisada nano /etc/bind/named.conf.options faili rida&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone-statistics yes;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS Spoofing ==&lt;br /&gt;
Kuidas toimib avaliku võrgu DNS Spoofing – üheks näiteks oleks „DNS cache poisoning“ tehnoloogia, millega solgitakse avaliku DNS serveri (mis töötab Open Resolver põhimõttel) DNS cache ja vahetatakse mingi üldiselt enam levinud saidi (või saitide) IP aadress(id) välja ründe objektiks oleva IP’ga.&lt;br /&gt;
&lt;br /&gt;
Viide: [[DNS_Spoofing | DNS Spoofing]]&lt;br /&gt;
&lt;br /&gt;
== Open resolver ==&lt;br /&gt;
Open resolveriks nimetatakse nimeserverit, mis pakub nimelahendusteenust ka väljapoole oma administratiivset domeeni. Enamasti on open resolveriks puudulikult konfigureeritud DNS server. Ilma otsese vajaduseta tasuks kindlasti vältida open resolveri püstipanekut oma võrku. Pole mingit vajadust pakkuda avalikku teenust kõigile. See tähendab enamasti, et nimelahendust saab kasutada kogu internet. Teiseks saab kogu maailmale avatud DNS serverit kasutada DDOS rünnakute läbiviimiseks. Lisaks on avatud serverit rünnata vahemälu manipuleerimise teel. Nii satuksid ohtu konkreetse serveri teenuseid kasutavad kliendid.&lt;br /&gt;
&lt;br /&gt;
Viide: [[Open_resolver | Open Resolver]]&lt;br /&gt;
&lt;br /&gt;
= Mis läks valesti =&lt;br /&gt;
Urmo kustutas ära /etc/bind kausta. Kuidas tagasi sai? Loe siit: [http://ubuntuforums.org/showthread.php?t=1375580 http://ubuntuforums.org/showthread.php?t=1375580]&lt;br /&gt;
&lt;br /&gt;
= Muu info =&lt;br /&gt;
&lt;br /&gt;
== Meie retsenseerisime ==&lt;br /&gt;
[[CUPS_seadistamine]]&lt;br /&gt;
&lt;br /&gt;
== Asub ==&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44159</id>
		<title>Nimeserveri labor V.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44159"/>
		<updated>2011-12-08T09:07:38Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Vajalikud käsud nimeserveri administeerimisel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Viimase muutmise aeg=&lt;br /&gt;
06. Detsember 2011 10:47&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
See wiki artikkel on koostatud IT infrastruktuuri teenused aine raames ning kogu konfiguratsioon käib järgmise stsenaariumi järgi:&lt;br /&gt;
&lt;br /&gt;
Me oleme ISP ja meie ülesandeks on talletada ja jagada erinevate asutuste infrastruktuuride aadresse. Selleks on  vaja teha master ja slave nimeserverid. Master server on selle jaoks, et hoida meie (ISP) enda domeeni tsoonifaile ja slave server on selleks, et hoida klientide tsoonifaile ja lubada tsoonifailide vahetust. &lt;br /&gt;
&lt;br /&gt;
Lisaks meile on samas võrgus ühe kooli ja kahe firma infrastruktuurid (vaata joonist). &lt;br /&gt;
&lt;br /&gt;
Enne stsenaariumi täielikku rakendamist peavad olema seadistatud asutuste erinevad teenused (nimeserver,veebiserver, failiserver jne).&lt;br /&gt;
&lt;br /&gt;
Täpsemalt saab lugeda DNS serveri kohta siit: [http://kuutorvaja.eenet.ee/wiki/DNS|http://kuutorvaja.eenet.ee/wiki/DNS]&lt;br /&gt;
&lt;br /&gt;
NB! See artikkel ei sobi tavalise nimeserveri seadistamiseks, kuna konfiguratsioon on spetsiifiline.&lt;br /&gt;
&lt;br /&gt;
== Meeskonnaliikmed ==&lt;br /&gt;
&lt;br /&gt;
Urmo Laaneots, Karet Rikko, Ott Pärnoja, Markus Kont, Siim Kängsepp, Taavi Salumets, Juhan Liiva&lt;br /&gt;
&lt;br /&gt;
== Joonis ==&lt;br /&gt;
                               &lt;br /&gt;
           192.168.6.123&lt;br /&gt;
           ns1.vork.ee&lt;br /&gt;
           www.vork.ee                              192.168.6.124&lt;br /&gt;
             Master                                  ns2.vork.ee&lt;br /&gt;
                                                        Slave &lt;br /&gt;
                                                     nimeserver 2&lt;br /&gt;
                                                         ___&lt;br /&gt;
             nimeserver 1                               |   |&lt;br /&gt;
               ___                                      |___|&lt;br /&gt;
              |   |                                               &lt;br /&gt;
              |___|                                               &lt;br /&gt;
                   Master         Master        Master                           &lt;br /&gt;
                 klient 1        klient 2      klient 3           &lt;br /&gt;
                  ___             ___            ___&lt;br /&gt;
                 |   |           |   |          |   |&lt;br /&gt;
                 |___|           |___|          |___|&lt;br /&gt;
 &lt;br /&gt;
               itkool.ee        puder.ee      kartulid.ee&lt;br /&gt;
            192.168.6.101      192.168.6.116   192.168.6.120&lt;br /&gt;
&lt;br /&gt;
== Master nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
&lt;br /&gt;
Master nimeserver on ISP tsooni hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP primaarset nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, pärast muutmist on rida järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns1.vork.ee       ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kommenteerige sisse (eemaldage märk ; rea eest) forwarders sektsioon ja sinna kirjutage ISP DNS serveri IP aadress.&lt;br /&gt;
Muudetud fail peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.124;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                192.168.6.124;&lt;br /&gt;
         };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.ee.zone&amp;quot;;&lt;br /&gt;
        allow-transfer { 192.168.6.124; };&lt;br /&gt;
        allow-update { 192.168.6.124; };&lt;br /&gt;
        also-notify { 192.168.6.124; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelnevalt loodud tsoonid viitavad failidele, mis neid tsoone kirjeldavad. Selleks et neid faile luua, võtame aluseks olemasoleva localhost tsooni faili ja kopeerime seda.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo cp /etc/bind/db.127 /etc/bind/db.6.168.192.in-addr.arpa&lt;br /&gt;
sudo cp /etc/bind/db.local /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd muudame vork.ee.zone faili, avame selle tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peab olema selline:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; Zone file for linux.bogus&lt;br /&gt;
;&lt;br /&gt;
; The full zone file&lt;br /&gt;
;&lt;br /&gt;
$TTL 900&lt;br /&gt;
@       IN      SOA     vork.ee. hostmaster.vork.ee. (&lt;br /&gt;
                        2011102603       ; serial, todays date + todays serial #&lt;br /&gt;
                        28800              ; refresh, seconds&lt;br /&gt;
                        7200              ; retry, seconds&lt;br /&gt;
                        864000              ; expire, seconds&lt;br /&gt;
                        900 )            ; minimum, seconds&lt;br /&gt;
&lt;br /&gt;
$ORIGIN vork.ee.&lt;br /&gt;
             IN   NS      ns.vork.ee.&lt;br /&gt;
             IN   A       192.168.6.123&lt;br /&gt;
ns           IN   A       192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peale muudatuse tegemist tsoonifailis tuleb tõsta Seriali numbrit ühe võrra, et muudatused hakkaksid kehtima.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Failis olevate kirjete kohta võib selgitusi saada [http://www.zytrax.com/books/dns/ch8/ siit]&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui teenuse restart õnnestub, siis kontrolli, kas nimeserver töötab. Selleks kasuta tööriistu &#039;&#039;nslookup, dig, ping&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Slave nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
Slave nimeserver on kõikide võrgus olevate tsoonide hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP slave nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, muudatus peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns2.vork.ee       ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peaks välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.0/24;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                 192.168.6.124;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type slave;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.zone&amp;quot;;&lt;br /&gt;
        allow-notify { 192.168.6.123; };&lt;br /&gt;
        masters { 192.168.6.123; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vajalikud käsud nimeserveri administeerimisel ==&lt;br /&gt;
Kui tsoonifaile muudate, siis on vajalik tsooni uuesti laadida. Seda on võimalik teha kasutades &#039;&#039;&#039;rndc&#039;&#039;&#039; käsku. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälust kustutada ära üks nimi (näiteks on see kasulik mürgitatud serveri vahemälu puhul, Viide: [[DNS_Spoofing | DNS Spoofing]], siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname &amp;lt;nimi&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälu täielikult ära kustutada, siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flush&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dynaamilise tsooni reload tarbeks tuleb käituda nii:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze &amp;lt;tsoon&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
rndc thaw &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze vork.ee&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
rndc thaw vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse varundamine=&lt;br /&gt;
&lt;br /&gt;
Teenuse varundamiseks tuleb teha koopia /etc/bind ja /var/lib/bind kataloogist ja seal asuvatest failidest.&lt;br /&gt;
Käsk selleks on :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar czvf /backup/bind.tar.gz /etc/bind&lt;br /&gt;
sudo tar czvf /backup/bindtsoonid.tar.gz /var/lib/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse taastamine=&lt;br /&gt;
&lt;br /&gt;
==Teenuse taastamine, kui on olemas varukoopia==&lt;br /&gt;
Teenuse taastamiseks tuleb kopeerida varundatud kataloogid /etc/bind ja /var/lib/bind kataloogide asemele&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar xzvf /backup/bind.tar.gz -C /etc/&lt;br /&gt;
sudo tar xzvf /backup/bindtsoonid.tar.gz -C /var/lib/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DNS&#039;i teenuse administraatori teadmised =&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache&#039;i sisu ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc dumpdb -cache&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada loodud dump&#039;i fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named_dump.db&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache statistikat ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui vaja näha statistikas ka tsoonifailide informatsiooni ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja lisada nano /etc/bind/named.conf.options faili rida&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone-statistics yes;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS Spoofing ==&lt;br /&gt;
Kuidas toimib avaliku võrgu DNS Spoofing – üheks näiteks oleks „DNS cache poisoning“ tehnoloogia, millega solgitakse avaliku DNS serveri (mis töötab Open Resolver põhimõttel) DNS cache ja vahetatakse mingi üldiselt enam levinud saidi (või saitide) IP aadress(id) välja ründe objektiks oleva IP’ga.&lt;br /&gt;
&lt;br /&gt;
Viide: [[DNS_Spoofing | DNS Spoofing]]&lt;br /&gt;
&lt;br /&gt;
== Open resolver ==&lt;br /&gt;
Open resolveriks nimetatakse nimeserverit, mis pakub nimelahendusteenust ka väljapoole oma administratiivset domeeni. Enamasti on open resolveriks puudulikult konfigureeritud DNS server. Ilma otsese vajaduseta tasuks kindlasti vältida open resolveri püstipanekut oma võrku. Pole mingit vajadust pakkuda avalikku teenust kõigile. See tähendab enamasti, et nimelahendust saab kasutada kogu internet. Teiseks saab kogu maailmale avatud DNS serverit kasutada DDOS rünnakute läbiviimiseks. Lisaks on avatud serverit rünnata vahemälu manipuleerimise teel. Nii satuksid ohtu konkreetse serveri teenuseid kasutavad kliendid.&lt;br /&gt;
&lt;br /&gt;
Viide: [[Open_resolver | Open Resolver]]&lt;br /&gt;
&lt;br /&gt;
= Mis läks valesti =&lt;br /&gt;
Urmo kustutas ära /etc/bind kausta. Kuidas tagasi sai? Loe siit: [http://ubuntuforums.org/showthread.php?t=1375580 http://ubuntuforums.org/showthread.php?t=1375580]&lt;br /&gt;
&lt;br /&gt;
= Muu info =&lt;br /&gt;
&lt;br /&gt;
== Meie retsenseerisime ==&lt;br /&gt;
[[CUPS_seadistamine]]&lt;br /&gt;
&lt;br /&gt;
== Asub ==&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44153</id>
		<title>Nimeserveri labor V.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44153"/>
		<updated>2011-12-08T09:06:45Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Vajalikud käsud nimeserveri administeerimisel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Viimase muutmise aeg=&lt;br /&gt;
06. Detsember 2011 10:47&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
See wiki artikkel on koostatud IT infrastruktuuri teenused aine raames ning kogu konfiguratsioon käib järgmise stsenaariumi järgi:&lt;br /&gt;
&lt;br /&gt;
Me oleme ISP ja meie ülesandeks on talletada ja jagada erinevate asutuste infrastruktuuride aadresse. Selleks on  vaja teha master ja slave nimeserverid. Master server on selle jaoks, et hoida meie (ISP) enda domeeni tsoonifaile ja slave server on selleks, et hoida klientide tsoonifaile ja lubada tsoonifailide vahetust. &lt;br /&gt;
&lt;br /&gt;
Lisaks meile on samas võrgus ühe kooli ja kahe firma infrastruktuurid (vaata joonist). &lt;br /&gt;
&lt;br /&gt;
Enne stsenaariumi täielikku rakendamist peavad olema seadistatud asutuste erinevad teenused (nimeserver,veebiserver, failiserver jne).&lt;br /&gt;
&lt;br /&gt;
Täpsemalt saab lugeda DNS serveri kohta siit: [[http://kuutorvaja.eenet.ee/wiki/DNS]]&lt;br /&gt;
&lt;br /&gt;
NB! See artikkel ei sobi tavalise nimeserveri seadistamiseks, kuna konfiguratsioon on spetsiifiline.&lt;br /&gt;
&lt;br /&gt;
== Meeskonnaliikmed ==&lt;br /&gt;
&lt;br /&gt;
Urmo Laaneots, Karet Rikko, Ott Pärnoja, Markus Kont, Siim Kängsepp, Taavi Salumets, Juhan Liiva&lt;br /&gt;
&lt;br /&gt;
== Joonis ==&lt;br /&gt;
                               &lt;br /&gt;
           192.168.6.123&lt;br /&gt;
           ns1.vork.ee&lt;br /&gt;
           www.vork.ee                              192.168.6.124&lt;br /&gt;
             Master                                  ns2.vork.ee&lt;br /&gt;
                                                        Slave &lt;br /&gt;
                                                     nimeserver 2&lt;br /&gt;
                                                         ___&lt;br /&gt;
             nimeserver 1                               |   |&lt;br /&gt;
               ___                                      |___|&lt;br /&gt;
              |   |                                               &lt;br /&gt;
              |___|                                               &lt;br /&gt;
                   Master         Master        Master                           &lt;br /&gt;
                 klient 1        klient 2      klient 3           &lt;br /&gt;
                  ___             ___            ___&lt;br /&gt;
                 |   |           |   |          |   |&lt;br /&gt;
                 |___|           |___|          |___|&lt;br /&gt;
 &lt;br /&gt;
               itkool.ee        puder.ee      kartulid.ee&lt;br /&gt;
            192.168.6.101      192.168.6.116   192.168.6.120&lt;br /&gt;
&lt;br /&gt;
== Master nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
&lt;br /&gt;
Master nimeserver on ISP tsooni hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP primaarset nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, pärast muutmist on rida järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns1.vork.ee       ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kommenteerige sisse (eemaldage märk ; rea eest) forwarders sektsioon ja sinna kirjutage ISP DNS serveri IP aadress.&lt;br /&gt;
Muudetud fail peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.124;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                192.168.6.124;&lt;br /&gt;
         };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.ee.zone&amp;quot;;&lt;br /&gt;
        allow-transfer { 192.168.6.124; };&lt;br /&gt;
        allow-update { 192.168.6.124; };&lt;br /&gt;
        also-notify { 192.168.6.124; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelnevalt loodud tsoonid viitavad failidele, mis neid tsoone kirjeldavad. Selleks et neid faile luua, võtame aluseks olemasoleva localhost tsooni faili ja kopeerime seda.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo cp /etc/bind/db.127 /etc/bind/db.6.168.192.in-addr.arpa&lt;br /&gt;
sudo cp /etc/bind/db.local /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd muudame vork.ee.zone faili, avame selle tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peab olema selline:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; Zone file for linux.bogus&lt;br /&gt;
;&lt;br /&gt;
; The full zone file&lt;br /&gt;
;&lt;br /&gt;
$TTL 900&lt;br /&gt;
@       IN      SOA     vork.ee. hostmaster.vork.ee. (&lt;br /&gt;
                        2011102603       ; serial, todays date + todays serial #&lt;br /&gt;
                        28800              ; refresh, seconds&lt;br /&gt;
                        7200              ; retry, seconds&lt;br /&gt;
                        864000              ; expire, seconds&lt;br /&gt;
                        900 )            ; minimum, seconds&lt;br /&gt;
&lt;br /&gt;
$ORIGIN vork.ee.&lt;br /&gt;
             IN   NS      ns.vork.ee.&lt;br /&gt;
             IN   A       192.168.6.123&lt;br /&gt;
ns           IN   A       192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peale muudatuse tegemist tsoonifailis tuleb tõsta Seriali numbrit ühe võrra, et muudatused hakkaksid kehtima.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Failis olevate kirjete kohta võib selgitusi saada [http://www.zytrax.com/books/dns/ch8/ siit]&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui teenuse restart õnnestub, siis kontrolli, kas nimeserver töötab. Selleks kasuta tööriistu &#039;&#039;nslookup, dig, ping&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Slave nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
Slave nimeserver on kõikide võrgus olevate tsoonide hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP slave nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, muudatus peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns2.vork.ee       ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peaks välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.0/24;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                 192.168.6.124;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type slave;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.zone&amp;quot;;&lt;br /&gt;
        allow-notify { 192.168.6.123; };&lt;br /&gt;
        masters { 192.168.6.123; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vajalikud käsud nimeserveri administeerimisel ==&lt;br /&gt;
Kui tsoonifaile muudate, siis on vajalik tsooni uuesti laadida. Seda on võimalik teha kasutades &#039;&#039;&#039;rndc&#039;&#039;&#039; käsku. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälust kustutada ära üks nimi (näiteks on see kasulik mürgitatud serveri vahemälu puhul, vt [http://kuutorvaja.eenet.ee/wiki/DNS#DNS_Spoofing] DNS-Spoofing), siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname &amp;lt;nimi&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälu täielikult ära kustutada, siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flush&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dynaamilise tsooni reload tarbeks tuleb käituda nii:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze &amp;lt;tsoon&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
rndc thaw &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze vork.ee&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
rndc thaw vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse varundamine=&lt;br /&gt;
&lt;br /&gt;
Teenuse varundamiseks tuleb teha koopia /etc/bind ja /var/lib/bind kataloogist ja seal asuvatest failidest.&lt;br /&gt;
Käsk selleks on :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar czvf /backup/bind.tar.gz /etc/bind&lt;br /&gt;
sudo tar czvf /backup/bindtsoonid.tar.gz /var/lib/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse taastamine=&lt;br /&gt;
&lt;br /&gt;
==Teenuse taastamine, kui on olemas varukoopia==&lt;br /&gt;
Teenuse taastamiseks tuleb kopeerida varundatud kataloogid /etc/bind ja /var/lib/bind kataloogide asemele&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar xzvf /backup/bind.tar.gz -C /etc/&lt;br /&gt;
sudo tar xzvf /backup/bindtsoonid.tar.gz -C /var/lib/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DNS&#039;i teenuse administraatori teadmised =&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache&#039;i sisu ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc dumpdb -cache&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada loodud dump&#039;i fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named_dump.db&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache statistikat ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui vaja näha statistikas ka tsoonifailide informatsiooni ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja lisada nano /etc/bind/named.conf.options faili rida&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone-statistics yes;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS Spoofing ==&lt;br /&gt;
Kuidas toimib avaliku võrgu DNS Spoofing – üheks näiteks oleks „DNS cache poisoning“ tehnoloogia, millega solgitakse avaliku DNS serveri (mis töötab Open Resolver põhimõttel) DNS cache ja vahetatakse mingi üldiselt enam levinud saidi (või saitide) IP aadress(id) välja ründe objektiks oleva IP’ga.&lt;br /&gt;
&lt;br /&gt;
Viide: [[DNS_Spoofing | DNS Spoofing]]&lt;br /&gt;
&lt;br /&gt;
== Open resolver ==&lt;br /&gt;
Open resolveriks nimetatakse nimeserverit, mis pakub nimelahendusteenust ka väljapoole oma administratiivset domeeni. Enamasti on open resolveriks puudulikult konfigureeritud DNS server. Ilma otsese vajaduseta tasuks kindlasti vältida open resolveri püstipanekut oma võrku. Pole mingit vajadust pakkuda avalikku teenust kõigile. See tähendab enamasti, et nimelahendust saab kasutada kogu internet. Teiseks saab kogu maailmale avatud DNS serverit kasutada DDOS rünnakute läbiviimiseks. Lisaks on avatud serverit rünnata vahemälu manipuleerimise teel. Nii satuksid ohtu konkreetse serveri teenuseid kasutavad kliendid.&lt;br /&gt;
&lt;br /&gt;
Viide: [[Open_resolver | Open Resolver]]&lt;br /&gt;
&lt;br /&gt;
= Mis läks valesti =&lt;br /&gt;
Urmo kustutas ära /etc/bind kausta. Kuidas tagasi sai? Loe siit: [http://ubuntuforums.org/showthread.php?t=1375580 http://ubuntuforums.org/showthread.php?t=1375580]&lt;br /&gt;
&lt;br /&gt;
= Muu info =&lt;br /&gt;
&lt;br /&gt;
== Meie retsenseerisime ==&lt;br /&gt;
[[CUPS_seadistamine]]&lt;br /&gt;
&lt;br /&gt;
== Asub ==&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44151</id>
		<title>Nimeserveri labor V.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44151"/>
		<updated>2011-12-08T09:05:38Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Vajalikud käsud nimeserveri administeerimisel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Viimase muutmise aeg=&lt;br /&gt;
06. Detsember 2011 10:47&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
See wiki artikkel on koostatud IT infrastruktuuri teenused aine raames ning kogu konfiguratsioon käib järgmise stsenaariumi järgi:&lt;br /&gt;
&lt;br /&gt;
Me oleme ISP ja meie ülesandeks on talletada ja jagada erinevate asutuste infrastruktuuride aadresse. Selleks on  vaja teha master ja slave nimeserverid. Master server on selle jaoks, et hoida meie (ISP) enda domeeni tsoonifaile ja slave server on selleks, et hoida klientide tsoonifaile ja lubada tsoonifailide vahetust. &lt;br /&gt;
&lt;br /&gt;
Lisaks meile on samas võrgus ühe kooli ja kahe firma infrastruktuurid (vaata joonist). &lt;br /&gt;
&lt;br /&gt;
Enne stsenaariumi täielikku rakendamist peavad olema seadistatud asutuste erinevad teenused (nimeserver,veebiserver, failiserver jne).&lt;br /&gt;
&lt;br /&gt;
NB! See artikkel ei sobi tavalise nimeserveri seadistamiseks, kuna konfiguratsioon on spetsiifiline.&lt;br /&gt;
&lt;br /&gt;
== Meeskonnaliikmed ==&lt;br /&gt;
&lt;br /&gt;
Urmo Laaneots, Karet Rikko, Ott Pärnoja, Markus Kont, Siim Kängsepp, Taavi Salumets, Juhan Liiva&lt;br /&gt;
&lt;br /&gt;
== Joonis ==&lt;br /&gt;
                               &lt;br /&gt;
           192.168.6.123&lt;br /&gt;
           ns1.vork.ee&lt;br /&gt;
           www.vork.ee                              192.168.6.124&lt;br /&gt;
             Master                                  ns2.vork.ee&lt;br /&gt;
                                                        Slave &lt;br /&gt;
                                                     nimeserver 2&lt;br /&gt;
                                                         ___&lt;br /&gt;
             nimeserver 1                               |   |&lt;br /&gt;
               ___                                      |___|&lt;br /&gt;
              |   |                                               &lt;br /&gt;
              |___|                                               &lt;br /&gt;
                   Master         Master        Master                           &lt;br /&gt;
                 klient 1        klient 2      klient 3           &lt;br /&gt;
                  ___             ___            ___&lt;br /&gt;
                 |   |           |   |          |   |&lt;br /&gt;
                 |___|           |___|          |___|&lt;br /&gt;
 &lt;br /&gt;
               itkool.ee        puder.ee      kartulid.ee&lt;br /&gt;
            192.168.6.101      192.168.6.116   192.168.6.120&lt;br /&gt;
&lt;br /&gt;
== Master nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
&lt;br /&gt;
Master nimeserver on ISP tsooni hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP primaarset nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, pärast muutmist on rida järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns1.vork.ee       ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kommenteerige sisse (eemaldage märk ; rea eest) forwarders sektsioon ja sinna kirjutage ISP DNS serveri IP aadress.&lt;br /&gt;
Muudetud fail peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.124;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                192.168.6.124;&lt;br /&gt;
         };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.ee.zone&amp;quot;;&lt;br /&gt;
        allow-transfer { 192.168.6.124; };&lt;br /&gt;
        allow-update { 192.168.6.124; };&lt;br /&gt;
        also-notify { 192.168.6.124; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelnevalt loodud tsoonid viitavad failidele, mis neid tsoone kirjeldavad. Selleks et neid faile luua, võtame aluseks olemasoleva localhost tsooni faili ja kopeerime seda.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo cp /etc/bind/db.127 /etc/bind/db.6.168.192.in-addr.arpa&lt;br /&gt;
sudo cp /etc/bind/db.local /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd muudame vork.ee.zone faili, avame selle tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peab olema selline:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; Zone file for linux.bogus&lt;br /&gt;
;&lt;br /&gt;
; The full zone file&lt;br /&gt;
;&lt;br /&gt;
$TTL 900&lt;br /&gt;
@       IN      SOA     vork.ee. hostmaster.vork.ee. (&lt;br /&gt;
                        2011102603       ; serial, todays date + todays serial #&lt;br /&gt;
                        28800              ; refresh, seconds&lt;br /&gt;
                        7200              ; retry, seconds&lt;br /&gt;
                        864000              ; expire, seconds&lt;br /&gt;
                        900 )            ; minimum, seconds&lt;br /&gt;
&lt;br /&gt;
$ORIGIN vork.ee.&lt;br /&gt;
             IN   NS      ns.vork.ee.&lt;br /&gt;
             IN   A       192.168.6.123&lt;br /&gt;
ns           IN   A       192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peale muudatuse tegemist tsoonifailis tuleb tõsta Seriali numbrit ühe võrra, et muudatused hakkaksid kehtima.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Failis olevate kirjete kohta võib selgitusi saada [http://www.zytrax.com/books/dns/ch8/ siit]&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui teenuse restart õnnestub, siis kontrolli, kas nimeserver töötab. Selleks kasuta tööriistu &#039;&#039;nslookup, dig, ping&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Slave nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
Slave nimeserver on kõikide võrgus olevate tsoonide hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP slave nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, muudatus peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns2.vork.ee       ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peaks välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.0/24;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                 192.168.6.124;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type slave;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.zone&amp;quot;;&lt;br /&gt;
        allow-notify { 192.168.6.123; };&lt;br /&gt;
        masters { 192.168.6.123; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vajalikud käsud nimeserveri administeerimisel ==&lt;br /&gt;
Kui tsoonifaile muudate, siis on vajalik tsooni uuesti laadida. Seda on võimalik teha kasutades &#039;&#039;&#039;rndc&#039;&#039;&#039; käsku. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälust kustutada ära üks nimi (näiteks on see kasulik mürgitatud serveri vahemälu puhul, vt DNS-Spoofing[http://kuutorvaja.eenet.ee/wiki/DNS#DNS_Spoofing]), siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname &amp;lt;nimi&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälu täielikult ära kustutada, siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flush&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dynaamilise tsooni reload tarbeks tuleb käituda nii:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze &amp;lt;tsoon&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
rndc thaw &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze vork.ee&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
rndc thaw vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse varundamine=&lt;br /&gt;
&lt;br /&gt;
Teenuse varundamiseks tuleb teha koopia /etc/bind ja /var/lib/bind kataloogist ja seal asuvatest failidest.&lt;br /&gt;
Käsk selleks on :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar czvf /backup/bind.tar.gz /etc/bind&lt;br /&gt;
sudo tar czvf /backup/bindtsoonid.tar.gz /var/lib/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse taastamine=&lt;br /&gt;
&lt;br /&gt;
==Teenuse taastamine, kui on olemas varukoopia==&lt;br /&gt;
Teenuse taastamiseks tuleb kopeerida varundatud kataloogid /etc/bind ja /var/lib/bind kataloogide asemele&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar xzvf /backup/bind.tar.gz -C /etc/&lt;br /&gt;
sudo tar xzvf /backup/bindtsoonid.tar.gz -C /var/lib/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DNS&#039;i teenuse administraatori teadmised =&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache&#039;i sisu ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc dumpdb -cache&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada loodud dump&#039;i fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named_dump.db&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache statistikat ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui vaja näha statistikas ka tsoonifailide informatsiooni ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja lisada nano /etc/bind/named.conf.options faili rida&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone-statistics yes;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS Spoofing ==&lt;br /&gt;
Kuidas toimib avaliku võrgu DNS Spoofing – üheks näiteks oleks „DNS cache poisoning“ tehnoloogia, millega solgitakse avaliku DNS serveri (mis töötab Open Resolver põhimõttel) DNS cache ja vahetatakse mingi üldiselt enam levinud saidi (või saitide) IP aadress(id) välja ründe objektiks oleva IP’ga.&lt;br /&gt;
&lt;br /&gt;
Viide: [[DNS_Spoofing | DNS Spoofing]]&lt;br /&gt;
&lt;br /&gt;
== Open resolver ==&lt;br /&gt;
Open resolveriks nimetatakse nimeserverit, mis pakub nimelahendusteenust ka väljapoole oma administratiivset domeeni. Enamasti on open resolveriks puudulikult konfigureeritud DNS server. Ilma otsese vajaduseta tasuks kindlasti vältida open resolveri püstipanekut oma võrku. Pole mingit vajadust pakkuda avalikku teenust kõigile. See tähendab enamasti, et nimelahendust saab kasutada kogu internet. Teiseks saab kogu maailmale avatud DNS serverit kasutada DDOS rünnakute läbiviimiseks. Lisaks on avatud serverit rünnata vahemälu manipuleerimise teel. Nii satuksid ohtu konkreetse serveri teenuseid kasutavad kliendid.&lt;br /&gt;
&lt;br /&gt;
Viide: [[Open_resolver | Open Resolver]]&lt;br /&gt;
&lt;br /&gt;
= Mis läks valesti =&lt;br /&gt;
Urmo kustutas ära /etc/bind kausta. Kuidas tagasi sai? Loe siit: [http://ubuntuforums.org/showthread.php?t=1375580 http://ubuntuforums.org/showthread.php?t=1375580]&lt;br /&gt;
&lt;br /&gt;
= Muu info =&lt;br /&gt;
&lt;br /&gt;
== Meie retsenseerisime ==&lt;br /&gt;
[[CUPS_seadistamine]]&lt;br /&gt;
&lt;br /&gt;
== Asub ==&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44149</id>
		<title>Nimeserveri labor V.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44149"/>
		<updated>2011-12-08T09:03:13Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Vajalikud käsud nimeserveri administeerimisel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Viimase muutmise aeg=&lt;br /&gt;
06. Detsember 2011 10:47&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
See wiki artikkel on koostatud IT infrastruktuuri teenused aine raames ning kogu konfiguratsioon käib järgmise stsenaariumi järgi:&lt;br /&gt;
&lt;br /&gt;
Me oleme ISP ja meie ülesandeks on talletada ja jagada erinevate asutuste infrastruktuuride aadresse. Selleks on  vaja teha master ja slave nimeserverid. Master server on selle jaoks, et hoida meie (ISP) enda domeeni tsoonifaile ja slave server on selleks, et hoida klientide tsoonifaile ja lubada tsoonifailide vahetust. &lt;br /&gt;
&lt;br /&gt;
Lisaks meile on samas võrgus ühe kooli ja kahe firma infrastruktuurid (vaata joonist). &lt;br /&gt;
&lt;br /&gt;
Enne stsenaariumi täielikku rakendamist peavad olema seadistatud asutuste erinevad teenused (nimeserver,veebiserver, failiserver jne).&lt;br /&gt;
&lt;br /&gt;
NB! See artikkel ei sobi tavalise nimeserveri seadistamiseks, kuna konfiguratsioon on spetsiifiline.&lt;br /&gt;
&lt;br /&gt;
== Meeskonnaliikmed ==&lt;br /&gt;
&lt;br /&gt;
Urmo Laaneots, Karet Rikko, Ott Pärnoja, Markus Kont, Siim Kängsepp, Taavi Salumets, Juhan Liiva&lt;br /&gt;
&lt;br /&gt;
== Joonis ==&lt;br /&gt;
                               &lt;br /&gt;
           192.168.6.123&lt;br /&gt;
           ns1.vork.ee&lt;br /&gt;
           www.vork.ee                              192.168.6.124&lt;br /&gt;
             Master                                  ns2.vork.ee&lt;br /&gt;
                                                        Slave &lt;br /&gt;
                                                     nimeserver 2&lt;br /&gt;
                                                         ___&lt;br /&gt;
             nimeserver 1                               |   |&lt;br /&gt;
               ___                                      |___|&lt;br /&gt;
              |   |                                               &lt;br /&gt;
              |___|                                               &lt;br /&gt;
                   Master         Master        Master                           &lt;br /&gt;
                 klient 1        klient 2      klient 3           &lt;br /&gt;
                  ___             ___            ___&lt;br /&gt;
                 |   |           |   |          |   |&lt;br /&gt;
                 |___|           |___|          |___|&lt;br /&gt;
 &lt;br /&gt;
               itkool.ee        puder.ee      kartulid.ee&lt;br /&gt;
            192.168.6.101      192.168.6.116   192.168.6.120&lt;br /&gt;
&lt;br /&gt;
== Master nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
&lt;br /&gt;
Master nimeserver on ISP tsooni hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP primaarset nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, pärast muutmist on rida järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns1.vork.ee       ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kommenteerige sisse (eemaldage märk ; rea eest) forwarders sektsioon ja sinna kirjutage ISP DNS serveri IP aadress.&lt;br /&gt;
Muudetud fail peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.124;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                192.168.6.124;&lt;br /&gt;
         };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.ee.zone&amp;quot;;&lt;br /&gt;
        allow-transfer { 192.168.6.124; };&lt;br /&gt;
        allow-update { 192.168.6.124; };&lt;br /&gt;
        also-notify { 192.168.6.124; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelnevalt loodud tsoonid viitavad failidele, mis neid tsoone kirjeldavad. Selleks et neid faile luua, võtame aluseks olemasoleva localhost tsooni faili ja kopeerime seda.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo cp /etc/bind/db.127 /etc/bind/db.6.168.192.in-addr.arpa&lt;br /&gt;
sudo cp /etc/bind/db.local /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd muudame vork.ee.zone faili, avame selle tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peab olema selline:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; Zone file for linux.bogus&lt;br /&gt;
;&lt;br /&gt;
; The full zone file&lt;br /&gt;
;&lt;br /&gt;
$TTL 900&lt;br /&gt;
@       IN      SOA     vork.ee. hostmaster.vork.ee. (&lt;br /&gt;
                        2011102603       ; serial, todays date + todays serial #&lt;br /&gt;
                        28800              ; refresh, seconds&lt;br /&gt;
                        7200              ; retry, seconds&lt;br /&gt;
                        864000              ; expire, seconds&lt;br /&gt;
                        900 )            ; minimum, seconds&lt;br /&gt;
&lt;br /&gt;
$ORIGIN vork.ee.&lt;br /&gt;
             IN   NS      ns.vork.ee.&lt;br /&gt;
             IN   A       192.168.6.123&lt;br /&gt;
ns           IN   A       192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peale muudatuse tegemist tsoonifailis tuleb tõsta Seriali numbrit ühe võrra, et muudatused hakkaksid kehtima.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Failis olevate kirjete kohta võib selgitusi saada [http://www.zytrax.com/books/dns/ch8/ siit]&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui teenuse restart õnnestub, siis kontrolli, kas nimeserver töötab. Selleks kasuta tööriistu &#039;&#039;nslookup, dig, ping&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Slave nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
Slave nimeserver on kõikide võrgus olevate tsoonide hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP slave nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, muudatus peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns2.vork.ee       ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peaks välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.0/24;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                 192.168.6.124;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type slave;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.zone&amp;quot;;&lt;br /&gt;
        allow-notify { 192.168.6.123; };&lt;br /&gt;
        masters { 192.168.6.123; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vajalikud käsud nimeserveri administeerimisel ==&lt;br /&gt;
Kui tsoonifaile muudate, siis on vajalik tsooni uuesti laadida. Seda on võimalik teha kasutades &#039;&#039;&#039;rndc&#039;&#039;&#039; käsku. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälust kustutada ära üks nimi (näiteks on see kasulik mürgitatud serveri vahemälu puhul, vt DNS Spoofing), siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname &amp;lt;nimi&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälu täielikult ära kustutada, siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flush&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dynaamilise tsooni reload tarbeks tuleb käituda nii:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze &amp;lt;tsoon&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
rndc thaw &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze vork.ee&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
rndc thaw vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse varundamine=&lt;br /&gt;
&lt;br /&gt;
Teenuse varundamiseks tuleb teha koopia /etc/bind ja /var/lib/bind kataloogist ja seal asuvatest failidest.&lt;br /&gt;
Käsk selleks on :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar czvf /backup/bind.tar.gz /etc/bind&lt;br /&gt;
sudo tar czvf /backup/bindtsoonid.tar.gz /var/lib/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse taastamine=&lt;br /&gt;
&lt;br /&gt;
==Teenuse taastamine, kui on olemas varukoopia==&lt;br /&gt;
Teenuse taastamiseks tuleb kopeerida varundatud kataloogid /etc/bind ja /var/lib/bind kataloogide asemele&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar xzvf /backup/bind.tar.gz -C /etc/&lt;br /&gt;
sudo tar xzvf /backup/bindtsoonid.tar.gz -C /var/lib/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DNS&#039;i teenuse administraatori teadmised =&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache&#039;i sisu ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc dumpdb -cache&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada loodud dump&#039;i fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named_dump.db&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache statistikat ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui vaja näha statistikas ka tsoonifailide informatsiooni ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja lisada nano /etc/bind/named.conf.options faili rida&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone-statistics yes;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS Spoofing ==&lt;br /&gt;
Kuidas toimib avaliku võrgu DNS Spoofing – üheks näiteks oleks „DNS cache poisoning“ tehnoloogia, millega solgitakse avaliku DNS serveri (mis töötab Open Resolver põhimõttel) DNS cache ja vahetatakse mingi üldiselt enam levinud saidi (või saitide) IP aadress(id) välja ründe objektiks oleva IP’ga.&lt;br /&gt;
&lt;br /&gt;
Viide: [[DNS_Spoofing | DNS Spoofing]]&lt;br /&gt;
&lt;br /&gt;
== Open resolver ==&lt;br /&gt;
Open resolveriks nimetatakse nimeserverit, mis pakub nimelahendusteenust ka väljapoole oma administratiivset domeeni. Enamasti on open resolveriks puudulikult konfigureeritud DNS server. Ilma otsese vajaduseta tasuks kindlasti vältida open resolveri püstipanekut oma võrku. Pole mingit vajadust pakkuda avalikku teenust kõigile. See tähendab enamasti, et nimelahendust saab kasutada kogu internet. Teiseks saab kogu maailmale avatud DNS serverit kasutada DDOS rünnakute läbiviimiseks. Lisaks on avatud serverit rünnata vahemälu manipuleerimise teel. Nii satuksid ohtu konkreetse serveri teenuseid kasutavad kliendid.&lt;br /&gt;
&lt;br /&gt;
Viide: [[Open_resolver | Open Resolver]]&lt;br /&gt;
&lt;br /&gt;
= Mis läks valesti =&lt;br /&gt;
Urmo kustutas ära /etc/bind kausta. Kuidas tagasi sai? Loe siit: [http://ubuntuforums.org/showthread.php?t=1375580 http://ubuntuforums.org/showthread.php?t=1375580]&lt;br /&gt;
&lt;br /&gt;
= Muu info =&lt;br /&gt;
&lt;br /&gt;
== Meie retsenseerisime ==&lt;br /&gt;
[[CUPS_seadistamine]]&lt;br /&gt;
&lt;br /&gt;
== Asub ==&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44148</id>
		<title>Nimeserveri labor V.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44148"/>
		<updated>2011-12-08T09:02:57Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Vajalikud käsud nimeserveri administeerimisel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Viimase muutmise aeg=&lt;br /&gt;
06. Detsember 2011 10:47&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
See wiki artikkel on koostatud IT infrastruktuuri teenused aine raames ning kogu konfiguratsioon käib järgmise stsenaariumi järgi:&lt;br /&gt;
&lt;br /&gt;
Me oleme ISP ja meie ülesandeks on talletada ja jagada erinevate asutuste infrastruktuuride aadresse. Selleks on  vaja teha master ja slave nimeserverid. Master server on selle jaoks, et hoida meie (ISP) enda domeeni tsoonifaile ja slave server on selleks, et hoida klientide tsoonifaile ja lubada tsoonifailide vahetust. &lt;br /&gt;
&lt;br /&gt;
Lisaks meile on samas võrgus ühe kooli ja kahe firma infrastruktuurid (vaata joonist). &lt;br /&gt;
&lt;br /&gt;
Enne stsenaariumi täielikku rakendamist peavad olema seadistatud asutuste erinevad teenused (nimeserver,veebiserver, failiserver jne).&lt;br /&gt;
&lt;br /&gt;
NB! See artikkel ei sobi tavalise nimeserveri seadistamiseks, kuna konfiguratsioon on spetsiifiline.&lt;br /&gt;
&lt;br /&gt;
== Meeskonnaliikmed ==&lt;br /&gt;
&lt;br /&gt;
Urmo Laaneots, Karet Rikko, Ott Pärnoja, Markus Kont, Siim Kängsepp, Taavi Salumets, Juhan Liiva&lt;br /&gt;
&lt;br /&gt;
== Joonis ==&lt;br /&gt;
                               &lt;br /&gt;
           192.168.6.123&lt;br /&gt;
           ns1.vork.ee&lt;br /&gt;
           www.vork.ee                              192.168.6.124&lt;br /&gt;
             Master                                  ns2.vork.ee&lt;br /&gt;
                                                        Slave &lt;br /&gt;
                                                     nimeserver 2&lt;br /&gt;
                                                         ___&lt;br /&gt;
             nimeserver 1                               |   |&lt;br /&gt;
               ___                                      |___|&lt;br /&gt;
              |   |                                               &lt;br /&gt;
              |___|                                               &lt;br /&gt;
                   Master         Master        Master                           &lt;br /&gt;
                 klient 1        klient 2      klient 3           &lt;br /&gt;
                  ___             ___            ___&lt;br /&gt;
                 |   |           |   |          |   |&lt;br /&gt;
                 |___|           |___|          |___|&lt;br /&gt;
 &lt;br /&gt;
               itkool.ee        puder.ee      kartulid.ee&lt;br /&gt;
            192.168.6.101      192.168.6.116   192.168.6.120&lt;br /&gt;
&lt;br /&gt;
== Master nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
&lt;br /&gt;
Master nimeserver on ISP tsooni hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP primaarset nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, pärast muutmist on rida järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns1.vork.ee       ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kommenteerige sisse (eemaldage märk ; rea eest) forwarders sektsioon ja sinna kirjutage ISP DNS serveri IP aadress.&lt;br /&gt;
Muudetud fail peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.124;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                192.168.6.124;&lt;br /&gt;
         };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.ee.zone&amp;quot;;&lt;br /&gt;
        allow-transfer { 192.168.6.124; };&lt;br /&gt;
        allow-update { 192.168.6.124; };&lt;br /&gt;
        also-notify { 192.168.6.124; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelnevalt loodud tsoonid viitavad failidele, mis neid tsoone kirjeldavad. Selleks et neid faile luua, võtame aluseks olemasoleva localhost tsooni faili ja kopeerime seda.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo cp /etc/bind/db.127 /etc/bind/db.6.168.192.in-addr.arpa&lt;br /&gt;
sudo cp /etc/bind/db.local /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd muudame vork.ee.zone faili, avame selle tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peab olema selline:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; Zone file for linux.bogus&lt;br /&gt;
;&lt;br /&gt;
; The full zone file&lt;br /&gt;
;&lt;br /&gt;
$TTL 900&lt;br /&gt;
@       IN      SOA     vork.ee. hostmaster.vork.ee. (&lt;br /&gt;
                        2011102603       ; serial, todays date + todays serial #&lt;br /&gt;
                        28800              ; refresh, seconds&lt;br /&gt;
                        7200              ; retry, seconds&lt;br /&gt;
                        864000              ; expire, seconds&lt;br /&gt;
                        900 )            ; minimum, seconds&lt;br /&gt;
&lt;br /&gt;
$ORIGIN vork.ee.&lt;br /&gt;
             IN   NS      ns.vork.ee.&lt;br /&gt;
             IN   A       192.168.6.123&lt;br /&gt;
ns           IN   A       192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peale muudatuse tegemist tsoonifailis tuleb tõsta Seriali numbrit ühe võrra, et muudatused hakkaksid kehtima.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Failis olevate kirjete kohta võib selgitusi saada [http://www.zytrax.com/books/dns/ch8/ siit]&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui teenuse restart õnnestub, siis kontrolli, kas nimeserver töötab. Selleks kasuta tööriistu &#039;&#039;nslookup, dig, ping&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Slave nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
Slave nimeserver on kõikide võrgus olevate tsoonide hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP slave nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, muudatus peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns2.vork.ee       ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peaks välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.0/24;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                 192.168.6.124;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type slave;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.zone&amp;quot;;&lt;br /&gt;
        allow-notify { 192.168.6.123; };&lt;br /&gt;
        masters { 192.168.6.123; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vajalikud käsud nimeserveri administeerimisel ==&lt;br /&gt;
Kui tsoonifaile muudate, siis on vajalik tsooni uuesti laadida. Seda on võimalik teha kasutades &#039;&#039;&#039;rndc&#039;&#039;&#039; käsku. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälust kustutada ära üks nimi(näiteks on see kasulik mürgitatud serveri vahemälu puhul, vt DNS Spoofing), siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname &amp;lt;nimi&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälu täielikult ära kustutada, siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flush&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dynaamilise tsooni reload tarbeks tuleb käituda nii:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze &amp;lt;tsoon&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
rndc thaw &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze vork.ee&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
rndc thaw vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse varundamine=&lt;br /&gt;
&lt;br /&gt;
Teenuse varundamiseks tuleb teha koopia /etc/bind ja /var/lib/bind kataloogist ja seal asuvatest failidest.&lt;br /&gt;
Käsk selleks on :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar czvf /backup/bind.tar.gz /etc/bind&lt;br /&gt;
sudo tar czvf /backup/bindtsoonid.tar.gz /var/lib/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse taastamine=&lt;br /&gt;
&lt;br /&gt;
==Teenuse taastamine, kui on olemas varukoopia==&lt;br /&gt;
Teenuse taastamiseks tuleb kopeerida varundatud kataloogid /etc/bind ja /var/lib/bind kataloogide asemele&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar xzvf /backup/bind.tar.gz -C /etc/&lt;br /&gt;
sudo tar xzvf /backup/bindtsoonid.tar.gz -C /var/lib/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DNS&#039;i teenuse administraatori teadmised =&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache&#039;i sisu ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc dumpdb -cache&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada loodud dump&#039;i fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named_dump.db&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache statistikat ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui vaja näha statistikas ka tsoonifailide informatsiooni ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja lisada nano /etc/bind/named.conf.options faili rida&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone-statistics yes;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS Spoofing ==&lt;br /&gt;
Kuidas toimib avaliku võrgu DNS Spoofing – üheks näiteks oleks „DNS cache poisoning“ tehnoloogia, millega solgitakse avaliku DNS serveri (mis töötab Open Resolver põhimõttel) DNS cache ja vahetatakse mingi üldiselt enam levinud saidi (või saitide) IP aadress(id) välja ründe objektiks oleva IP’ga.&lt;br /&gt;
&lt;br /&gt;
Viide: [[DNS_Spoofing | DNS Spoofing]]&lt;br /&gt;
&lt;br /&gt;
== Open resolver ==&lt;br /&gt;
Open resolveriks nimetatakse nimeserverit, mis pakub nimelahendusteenust ka väljapoole oma administratiivset domeeni. Enamasti on open resolveriks puudulikult konfigureeritud DNS server. Ilma otsese vajaduseta tasuks kindlasti vältida open resolveri püstipanekut oma võrku. Pole mingit vajadust pakkuda avalikku teenust kõigile. See tähendab enamasti, et nimelahendust saab kasutada kogu internet. Teiseks saab kogu maailmale avatud DNS serverit kasutada DDOS rünnakute läbiviimiseks. Lisaks on avatud serverit rünnata vahemälu manipuleerimise teel. Nii satuksid ohtu konkreetse serveri teenuseid kasutavad kliendid.&lt;br /&gt;
&lt;br /&gt;
Viide: [[Open_resolver | Open Resolver]]&lt;br /&gt;
&lt;br /&gt;
= Mis läks valesti =&lt;br /&gt;
Urmo kustutas ära /etc/bind kausta. Kuidas tagasi sai? Loe siit: [http://ubuntuforums.org/showthread.php?t=1375580 http://ubuntuforums.org/showthread.php?t=1375580]&lt;br /&gt;
&lt;br /&gt;
= Muu info =&lt;br /&gt;
&lt;br /&gt;
== Meie retsenseerisime ==&lt;br /&gt;
[[CUPS_seadistamine]]&lt;br /&gt;
&lt;br /&gt;
== Asub ==&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44147</id>
		<title>Nimeserveri labor V.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44147"/>
		<updated>2011-12-08T09:01:53Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Vajalikud käsud nimeserveri administeerimisel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Viimase muutmise aeg=&lt;br /&gt;
06. Detsember 2011 10:47&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
See wiki artikkel on koostatud IT infrastruktuuri teenused aine raames ning kogu konfiguratsioon käib järgmise stsenaariumi järgi:&lt;br /&gt;
&lt;br /&gt;
Me oleme ISP ja meie ülesandeks on talletada ja jagada erinevate asutuste infrastruktuuride aadresse. Selleks on  vaja teha master ja slave nimeserverid. Master server on selle jaoks, et hoida meie (ISP) enda domeeni tsoonifaile ja slave server on selleks, et hoida klientide tsoonifaile ja lubada tsoonifailide vahetust. &lt;br /&gt;
&lt;br /&gt;
Lisaks meile on samas võrgus ühe kooli ja kahe firma infrastruktuurid (vaata joonist). &lt;br /&gt;
&lt;br /&gt;
Enne stsenaariumi täielikku rakendamist peavad olema seadistatud asutuste erinevad teenused (nimeserver,veebiserver, failiserver jne).&lt;br /&gt;
&lt;br /&gt;
NB! See artikkel ei sobi tavalise nimeserveri seadistamiseks, kuna konfiguratsioon on spetsiifiline.&lt;br /&gt;
&lt;br /&gt;
== Meeskonnaliikmed ==&lt;br /&gt;
&lt;br /&gt;
Urmo Laaneots, Karet Rikko, Ott Pärnoja, Markus Kont, Siim Kängsepp, Taavi Salumets, Juhan Liiva&lt;br /&gt;
&lt;br /&gt;
== Joonis ==&lt;br /&gt;
                               &lt;br /&gt;
           192.168.6.123&lt;br /&gt;
           ns1.vork.ee&lt;br /&gt;
           www.vork.ee                              192.168.6.124&lt;br /&gt;
             Master                                  ns2.vork.ee&lt;br /&gt;
                                                        Slave &lt;br /&gt;
                                                     nimeserver 2&lt;br /&gt;
                                                         ___&lt;br /&gt;
             nimeserver 1                               |   |&lt;br /&gt;
               ___                                      |___|&lt;br /&gt;
              |   |                                               &lt;br /&gt;
              |___|                                               &lt;br /&gt;
                   Master         Master        Master                           &lt;br /&gt;
                 klient 1        klient 2      klient 3           &lt;br /&gt;
                  ___             ___            ___&lt;br /&gt;
                 |   |           |   |          |   |&lt;br /&gt;
                 |___|           |___|          |___|&lt;br /&gt;
 &lt;br /&gt;
               itkool.ee        puder.ee      kartulid.ee&lt;br /&gt;
            192.168.6.101      192.168.6.116   192.168.6.120&lt;br /&gt;
&lt;br /&gt;
== Master nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
&lt;br /&gt;
Master nimeserver on ISP tsooni hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP primaarset nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, pärast muutmist on rida järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns1.vork.ee       ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kommenteerige sisse (eemaldage märk ; rea eest) forwarders sektsioon ja sinna kirjutage ISP DNS serveri IP aadress.&lt;br /&gt;
Muudetud fail peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.124;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                192.168.6.124;&lt;br /&gt;
         };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.ee.zone&amp;quot;;&lt;br /&gt;
        allow-transfer { 192.168.6.124; };&lt;br /&gt;
        allow-update { 192.168.6.124; };&lt;br /&gt;
        also-notify { 192.168.6.124; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelnevalt loodud tsoonid viitavad failidele, mis neid tsoone kirjeldavad. Selleks et neid faile luua, võtame aluseks olemasoleva localhost tsooni faili ja kopeerime seda.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo cp /etc/bind/db.127 /etc/bind/db.6.168.192.in-addr.arpa&lt;br /&gt;
sudo cp /etc/bind/db.local /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd muudame vork.ee.zone faili, avame selle tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peab olema selline:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; Zone file for linux.bogus&lt;br /&gt;
;&lt;br /&gt;
; The full zone file&lt;br /&gt;
;&lt;br /&gt;
$TTL 900&lt;br /&gt;
@       IN      SOA     vork.ee. hostmaster.vork.ee. (&lt;br /&gt;
                        2011102603       ; serial, todays date + todays serial #&lt;br /&gt;
                        28800              ; refresh, seconds&lt;br /&gt;
                        7200              ; retry, seconds&lt;br /&gt;
                        864000              ; expire, seconds&lt;br /&gt;
                        900 )            ; minimum, seconds&lt;br /&gt;
&lt;br /&gt;
$ORIGIN vork.ee.&lt;br /&gt;
             IN   NS      ns.vork.ee.&lt;br /&gt;
             IN   A       192.168.6.123&lt;br /&gt;
ns           IN   A       192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peale muudatuse tegemist tsoonifailis tuleb tõsta Seriali numbrit ühe võrra, et muudatused hakkaksid kehtima.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Failis olevate kirjete kohta võib selgitusi saada [http://www.zytrax.com/books/dns/ch8/ siit]&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui teenuse restart õnnestub, siis kontrolli, kas nimeserver töötab. Selleks kasuta tööriistu &#039;&#039;nslookup, dig, ping&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Slave nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
Slave nimeserver on kõikide võrgus olevate tsoonide hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP slave nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, muudatus peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns2.vork.ee       ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peaks välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.0/24;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                 192.168.6.124;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type slave;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.zone&amp;quot;;&lt;br /&gt;
        allow-notify { 192.168.6.123; };&lt;br /&gt;
        masters { 192.168.6.123; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vajalikud käsud nimeserveri administeerimisel ==&lt;br /&gt;
Kui tsoonifaile muudate, siis on vajalik tsooni uuesti laadida. Seda on võimalik teha kasutades &#039;&#039;&#039;rndc&#039;&#039;&#039; käsku. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälust kustutada ära üks nimi(näiteks &amp;quot;Spoofitud DNSi puhul&amp;quot;), siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname &amp;lt;nimi&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälu täielikult ära kustutada, siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flush&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dynaamilise tsooni reload tarbeks tuleb käituda nii:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze &amp;lt;tsoon&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
rndc thaw &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze vork.ee&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
rndc thaw vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse varundamine=&lt;br /&gt;
&lt;br /&gt;
Teenuse varundamiseks tuleb teha koopia /etc/bind ja /var/lib/bind kataloogist ja seal asuvatest failidest.&lt;br /&gt;
Käsk selleks on :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar czvf /backup/bind.tar.gz /etc/bind&lt;br /&gt;
sudo tar czvf /backup/bindtsoonid.tar.gz /var/lib/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse taastamine=&lt;br /&gt;
&lt;br /&gt;
==Teenuse taastamine, kui on olemas varukoopia==&lt;br /&gt;
Teenuse taastamiseks tuleb kopeerida varundatud kataloogid /etc/bind ja /var/lib/bind kataloogide asemele&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar xzvf /backup/bind.tar.gz -C /etc/&lt;br /&gt;
sudo tar xzvf /backup/bindtsoonid.tar.gz -C /var/lib/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DNS&#039;i teenuse administraatori teadmised =&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache&#039;i sisu ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc dumpdb -cache&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada loodud dump&#039;i fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named_dump.db&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache statistikat ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui vaja näha statistikas ka tsoonifailide informatsiooni ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja lisada nano /etc/bind/named.conf.options faili rida&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone-statistics yes;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS Spoofing ==&lt;br /&gt;
Kuidas toimib avaliku võrgu DNS Spoofing – üheks näiteks oleks „DNS cache poisoning“ tehnoloogia, millega solgitakse avaliku DNS serveri (mis töötab Open Resolver põhimõttel) DNS cache ja vahetatakse mingi üldiselt enam levinud saidi (või saitide) IP aadress(id) välja ründe objektiks oleva IP’ga.&lt;br /&gt;
&lt;br /&gt;
Viide: [[DNS_Spoofing | DNS Spoofing]]&lt;br /&gt;
&lt;br /&gt;
== Open resolver ==&lt;br /&gt;
Open resolveriks nimetatakse nimeserverit, mis pakub nimelahendusteenust ka väljapoole oma administratiivset domeeni. Enamasti on open resolveriks puudulikult konfigureeritud DNS server. Ilma otsese vajaduseta tasuks kindlasti vältida open resolveri püstipanekut oma võrku. Pole mingit vajadust pakkuda avalikku teenust kõigile. See tähendab enamasti, et nimelahendust saab kasutada kogu internet. Teiseks saab kogu maailmale avatud DNS serverit kasutada DDOS rünnakute läbiviimiseks. Lisaks on avatud serverit rünnata vahemälu manipuleerimise teel. Nii satuksid ohtu konkreetse serveri teenuseid kasutavad kliendid.&lt;br /&gt;
&lt;br /&gt;
Viide: [[Open_resolver | Open Resolver]]&lt;br /&gt;
&lt;br /&gt;
= Mis läks valesti =&lt;br /&gt;
Urmo kustutas ära /etc/bind kausta. Kuidas tagasi sai? Loe siit: [http://ubuntuforums.org/showthread.php?t=1375580 http://ubuntuforums.org/showthread.php?t=1375580]&lt;br /&gt;
&lt;br /&gt;
= Muu info =&lt;br /&gt;
&lt;br /&gt;
== Meie retsenseerisime ==&lt;br /&gt;
[[CUPS_seadistamine]]&lt;br /&gt;
&lt;br /&gt;
== Asub ==&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44143</id>
		<title>Nimeserveri labor V.2</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Nimeserveri_labor_V.2&amp;diff=44143"/>
		<updated>2011-12-08T08:46:19Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Vajalikud käsud nimeserveri administeerimisel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Viimase muutmise aeg=&lt;br /&gt;
06. Detsember 2011 10:47&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
See wiki artikkel on koostatud IT infrastruktuuri teenused aine raames ning kogu konfiguratsioon käib järgmise stsenaariumi järgi:&lt;br /&gt;
&lt;br /&gt;
Me oleme ISP ja meie ülesandeks on talletada ja jagada erinevate asutuste infrastruktuuride aadresse. Selleks on  vaja teha master ja slave nimeserverid. Master server on selle jaoks, et hoida meie (ISP) enda domeeni tsoonifaile ja slave server on selleks, et hoida klientide tsoonifaile ja lubada tsoonifailide vahetust. &lt;br /&gt;
&lt;br /&gt;
Lisaks meile on samas võrgus ühe kooli ja kahe firma infrastruktuurid (vaata joonist). &lt;br /&gt;
&lt;br /&gt;
Enne stsenaariumi täielikku rakendamist peavad olema seadistatud asutuste erinevad teenused (nimeserver,veebiserver, failiserver jne).&lt;br /&gt;
&lt;br /&gt;
NB! See artikkel ei sobi tavalise nimeserveri seadistamiseks, kuna konfiguratsioon on spetsiifiline.&lt;br /&gt;
&lt;br /&gt;
== Meeskonnaliikmed ==&lt;br /&gt;
&lt;br /&gt;
Urmo Laaneots, Karet Rikko, Ott Pärnoja, Markus Kont, Siim Kängsepp, Taavi Salumets, Juhan Liiva&lt;br /&gt;
&lt;br /&gt;
== Joonis ==&lt;br /&gt;
                               &lt;br /&gt;
           192.168.6.123&lt;br /&gt;
           ns1.vork.ee&lt;br /&gt;
           www.vork.ee                              192.168.6.124&lt;br /&gt;
             Master                                  ns2.vork.ee&lt;br /&gt;
                                                        Slave &lt;br /&gt;
                                                     nimeserver 2&lt;br /&gt;
                                                         ___&lt;br /&gt;
             nimeserver 1                               |   |&lt;br /&gt;
               ___                                      |___|&lt;br /&gt;
              |   |                                               &lt;br /&gt;
              |___|                                               &lt;br /&gt;
                   Master         Master        Master                           &lt;br /&gt;
                 klient 1        klient 2      klient 3           &lt;br /&gt;
                  ___             ___            ___&lt;br /&gt;
                 |   |           |   |          |   |&lt;br /&gt;
                 |___|           |___|          |___|&lt;br /&gt;
 &lt;br /&gt;
               itkool.ee        puder.ee      kartulid.ee&lt;br /&gt;
            192.168.6.101      192.168.6.116   192.168.6.120&lt;br /&gt;
&lt;br /&gt;
== Master nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
&lt;br /&gt;
Master nimeserver on ISP tsooni hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP primaarset nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, pärast muutmist on rida järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns1.vork.ee       ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kommenteerige sisse (eemaldage märk ; rea eest) forwarders sektsioon ja sinna kirjutage ISP DNS serveri IP aadress.&lt;br /&gt;
Muudetud fail peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.124;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                192.168.6.124;&lt;br /&gt;
         };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type master;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.ee.zone&amp;quot;;&lt;br /&gt;
        allow-transfer { 192.168.6.124; };&lt;br /&gt;
        allow-update { 192.168.6.124; };&lt;br /&gt;
        also-notify { 192.168.6.124; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Eelnevalt loodud tsoonid viitavad failidele, mis neid tsoone kirjeldavad. Selleks et neid faile luua, võtame aluseks olemasoleva localhost tsooni faili ja kopeerime seda.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo cp /etc/bind/db.127 /etc/bind/db.6.168.192.in-addr.arpa&lt;br /&gt;
sudo cp /etc/bind/db.local /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd muudame vork.ee.zone faili, avame selle tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /var/lib/bind/vork.ee.zone&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peab olema selline:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
;&lt;br /&gt;
; Zone file for linux.bogus&lt;br /&gt;
;&lt;br /&gt;
; The full zone file&lt;br /&gt;
;&lt;br /&gt;
$TTL 900&lt;br /&gt;
@       IN      SOA     vork.ee. hostmaster.vork.ee. (&lt;br /&gt;
                        2011102603       ; serial, todays date + todays serial #&lt;br /&gt;
                        28800              ; refresh, seconds&lt;br /&gt;
                        7200              ; retry, seconds&lt;br /&gt;
                        864000              ; expire, seconds&lt;br /&gt;
                        900 )            ; minimum, seconds&lt;br /&gt;
&lt;br /&gt;
$ORIGIN vork.ee.&lt;br /&gt;
             IN   NS      ns.vork.ee.&lt;br /&gt;
             IN   A       192.168.6.123&lt;br /&gt;
ns           IN   A       192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Peale muudatuse tegemist tsoonifailis tuleb tõsta Seriali numbrit ühe võrra, et muudatused hakkaksid kehtima.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Failis olevate kirjete kohta võib selgitusi saada [http://www.zytrax.com/books/dns/ch8/ siit]&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui teenuse restart õnnestub, siis kontrolli, kas nimeserver töötab. Selleks kasuta tööriistu &#039;&#039;nslookup, dig, ping&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Slave nimeserveri installeerimine ja seadistamine ==&lt;br /&gt;
Slave nimeserver on kõikide võrgus olevate tsoonide hoidmiseks.  See sektsioon õpetab kuidas konfigureerida ISP slave nimeserverit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Installeerime bind9 teenuse.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install bind9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avame tekstiredaktoriga /etc/hosts faili&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failis muudame 127.0.1.1 aadressiga algavat rida, muudatus peab välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.1.1       ns2.vork.ee       ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudame ka /etc/hostname faili. Avame selleks faili tekstiredaktoriga.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Faili sisu peab olema järgnev:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ns2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Järgmiseks muudame faili /etc/bind/named.conf.options. Selleks avame faili tekstiredaktoris:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.options&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muudetud fail peaks välja nägema järgmine:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
acl me {192.168.6.0/24;};&lt;br /&gt;
&lt;br /&gt;
options {&lt;br /&gt;
        directory &amp;quot;/var/cache/bind&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
         forwarders {&lt;br /&gt;
                 192.168.6.124;&lt;br /&gt;
        };&lt;br /&gt;
&lt;br /&gt;
        allow-recursion { me; };&lt;br /&gt;
        allow-query { me; };&lt;br /&gt;
        allow-transfer { me; };&lt;br /&gt;
&lt;br /&gt;
        auth-nxdomain no;    # conform to RFC1035&lt;br /&gt;
        listen-on-v6 { any; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Miks näeb antud fail välja selline? [http://jazzymarketing.com/main/lc/0904/open-resolver-securing-bind-server Loe.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena muudame faili /etc/bind/named.conf.default-zones. Avame faili tekstiredaktoris:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/bind/named.conf.default-zones&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Siia faili peab lisama järgmised tsoonid (lisa järgnevad read faili):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone &amp;quot;vork.ee&amp;quot; {&lt;br /&gt;
        type slave;&lt;br /&gt;
        file &amp;quot;/var/lib/bind/vork.zone&amp;quot;;&lt;br /&gt;
        allow-notify { 192.168.6.123; };&lt;br /&gt;
        masters { 192.168.6.123; };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui tsoonifailid on olemas, siis tuleb muuta resolv.conf faili, selleks avame selle tekstiredaktoriga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /etc/resolv.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimeserveri aadress tuleb seal muuta enda serveri aadressiks(-deks). Fail näeb peale muutmist välja järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nameserver 192.168.6.124&lt;br /&gt;
nameserver 192.168.6.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleb BIND9 teenus taaskäivitada järgmise käsuga:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo /etc/init.d/bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Sama töö teeb ära käsk:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo service bind9 restart&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Vajalikud käsud nimeserveri administeerimisel ==&lt;br /&gt;
Kui tsoonifaile muudate, siis on vajalik tsooni uuesti laadida. Seda on võimalik teha kasutades &#039;&#039;&#039;rndc&#039;&#039;&#039; käsku. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälust kustutada ära üks nimi, siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname &amp;lt;nimi&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flushname vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui on vaja nimeserveri vahemälu täielikult ära kustutada, siis seda on võimlik teha käsuga &#039;&#039;&#039;rndc&#039;&#039;&#039;. Süntaks on järgmine:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc flush&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dynaamilise tsooni reload tarbeks tuleb käituda nii:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze &amp;lt;tsoon&amp;gt;&lt;br /&gt;
sudo rndc reload &amp;lt;tsoon&amp;gt;&lt;br /&gt;
rndc thaw &amp;lt;tsoon&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Näiteks:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rndc freeze vork.ee&lt;br /&gt;
sudo rndc reload vork.ee&lt;br /&gt;
rndc thaw vork.ee&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse varundamine=&lt;br /&gt;
&lt;br /&gt;
Teenuse varundamiseks tuleb teha koopia /etc/bind ja /var/lib/bind kataloogist ja seal asuvatest failidest.&lt;br /&gt;
Käsk selleks on :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar czvf /backup/bind.tar.gz /etc/bind&lt;br /&gt;
sudo tar czvf /backup/bindtsoonid.tar.gz /var/lib/bind&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Teenuse taastamine=&lt;br /&gt;
&lt;br /&gt;
==Teenuse taastamine, kui on olemas varukoopia==&lt;br /&gt;
Teenuse taastamiseks tuleb kopeerida varundatud kataloogid /etc/bind ja /var/lib/bind kataloogide asemele&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo tar xzvf /backup/bind.tar.gz -C /etc/&lt;br /&gt;
sudo tar xzvf /backup/bindtsoonid.tar.gz -C /var/lib/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= DNS&#039;i teenuse administraatori teadmised =&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache&#039;i sisu ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc dumpdb -cache&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada loodud dump&#039;i fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named_dump.db&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui on vaja vaadata nimeserveri cache statistikat ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja anda nimeserverile käsk&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo rndc stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kui vaja näha statistikas ka tsoonifailide informatsiooni ==&lt;br /&gt;
&lt;br /&gt;
Selleks on vaja lisada nano /etc/bind/named.conf.options faili rida&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
zone-statistics yes;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
seejärel avada named.stats fail.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo less /var/cache/bind/named.stats&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DNS Spoofing ==&lt;br /&gt;
Kuidas toimib avaliku võrgu DNS Spoofing – üheks näiteks oleks „DNS cache poisoning“ tehnoloogia, millega solgitakse avaliku DNS serveri (mis töötab Open Resolver põhimõttel) DNS cache ja vahetatakse mingi üldiselt enam levinud saidi (või saitide) IP aadress(id) välja ründe objektiks oleva IP’ga.&lt;br /&gt;
&lt;br /&gt;
Viide: [[DNS_Spoofing | DNS Spoofing]]&lt;br /&gt;
&lt;br /&gt;
== Open resolver ==&lt;br /&gt;
Open resolveriks nimetatakse nimeserverit, mis pakub nimelahendusteenust ka väljapoole oma administratiivset domeeni. Enamasti on open resolveriks puudulikult konfigureeritud DNS server. Ilma otsese vajaduseta tasuks kindlasti vältida open resolveri püstipanekut oma võrku. Pole mingit vajadust pakkuda avalikku teenust kõigile. See tähendab enamasti, et nimelahendust saab kasutada kogu internet. Teiseks saab kogu maailmale avatud DNS serverit kasutada DDOS rünnakute läbiviimiseks. Lisaks on avatud serverit rünnata vahemälu manipuleerimise teel. Nii satuksid ohtu konkreetse serveri teenuseid kasutavad kliendid.&lt;br /&gt;
&lt;br /&gt;
Viide: [[Open_resolver | Open Resolver]]&lt;br /&gt;
&lt;br /&gt;
= Mis läks valesti =&lt;br /&gt;
Urmo kustutas ära /etc/bind kausta. Kuidas tagasi sai? Loe siit: [http://ubuntuforums.org/showthread.php?t=1375580 http://ubuntuforums.org/showthread.php?t=1375580]&lt;br /&gt;
&lt;br /&gt;
= Muu info =&lt;br /&gt;
&lt;br /&gt;
== Meie retsenseerisime ==&lt;br /&gt;
[[CUPS_seadistamine]]&lt;br /&gt;
&lt;br /&gt;
== Asub ==&lt;br /&gt;
[[Category:IT infrastruktuuri teenused]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34109</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34109"/>
		<updated>2011-06-09T15:03:14Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. Pead olema root õigustes!&lt;br /&gt;
#exit(0) - kasutaja on lukus&lt;br /&gt;
#exit(1) - kasutaja pole lukus&lt;br /&gt;
#exit(2) - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
 &lt;br /&gt;
        rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
        if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja&amp;quot;,rec[0], &amp;quot;on lukus&amp;quot;&lt;br /&gt;
            sys.exit(0)&lt;br /&gt;
        elif rec[1] != &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja &amp;quot;,rec[0], &amp;quot;ei ole lukus&amp;quot;&lt;br /&gt;
            sys.exit(1)&lt;br /&gt;
else:&lt;br /&gt;
    print &amp;quot;Sellist kasutajat ei leitud&amp;quot;, var&lt;br /&gt;
    sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Powershelli kodutöö&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Skript võtab ühest tekstifailist share kataloogitee ja teisest nime. Seejärel teeb need valmis vastavatesse kohtadesse.&lt;br /&gt;
# Autor: Siim Kängsepp&lt;br /&gt;
# Versioon 0.1&lt;br /&gt;
&lt;br /&gt;
$shared = get-content C:\script\shared.txt&lt;br /&gt;
$nimed = Get-Content C:\script\nimed.txt&lt;br /&gt;
&lt;br /&gt;
for($i=0; $i -lt $shared.length; $i++){&lt;br /&gt;
$FolderPath = $shared[$i]&lt;br /&gt;
$ShareName = $nimed[$i]&lt;br /&gt;
New-Item $FolderPath -type directory &lt;br /&gt;
&lt;br /&gt;
#Teen shared valmis&lt;br /&gt;
$Shares=[WMICLASS]”WIN32_Share”&lt;br /&gt;
$Shares.Create($FolderPath,$ShareName,0)&lt;br /&gt;
    &lt;br /&gt;
#Määran kataloogile kõik õigused&lt;br /&gt;
$acl = Get-Acl $shared[$i]&lt;br /&gt;
$permission = &amp;quot;user&amp;quot;,&amp;quot;FullControl&amp;quot;,&amp;quot;Allow&amp;quot;&lt;br /&gt;
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission&lt;br /&gt;
$acl.SetAccessRule($accessRule)&lt;br /&gt;
$acl | Set-Acl $shared[$i]&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
#Write-Host &amp;quot;Sinu arvutis on nüüd järgmised shared:&amp;quot;&lt;br /&gt;
Get-WmiObject Win32_Share&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34105</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34105"/>
		<updated>2011-06-08T23:31:03Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. Pead olema root õigustes!&lt;br /&gt;
#exit(0) - kasutaja on lukus&lt;br /&gt;
#exit(1) - kasutaja pole lukus&lt;br /&gt;
#exit(2) - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
 &lt;br /&gt;
        rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
        if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja&amp;quot;,rec[0], &amp;quot;on lukus&amp;quot;&lt;br /&gt;
            sys.exit(0)&lt;br /&gt;
        elif rec[1] != &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja &amp;quot;,rec[0], &amp;quot;ei ole lukus&amp;quot;&lt;br /&gt;
            sys.exit(1)&lt;br /&gt;
else:&lt;br /&gt;
    print &amp;quot;Sellist kasutajat ei leitud&amp;quot;, var&lt;br /&gt;
    sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Powershelli kodutöö&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Skript võtab ühest tekstifailist share kataloogitee ja teisest nime. Seejärel teeb need valmis vastavatesse kohtadesse.&lt;br /&gt;
# Autor: Siim Kängsepp&lt;br /&gt;
# Versioon 0.1&lt;br /&gt;
&lt;br /&gt;
for($i=0; $i -lt $shared.length; $i++){&lt;br /&gt;
$FolderPath = $shared[$i]&lt;br /&gt;
$ShareName = $nimed[$i]&lt;br /&gt;
New-Item $FolderPath -type directory &lt;br /&gt;
&lt;br /&gt;
#Teen shared valmis&lt;br /&gt;
$Shares=[WMICLASS]”WIN32_Share”&lt;br /&gt;
$Shares.Create($FolderPath,$ShareName,0)&lt;br /&gt;
    &lt;br /&gt;
#Määran kataloogile kõik õigused&lt;br /&gt;
$acl = Get-Acl $shared[$i]&lt;br /&gt;
$permission = &amp;quot;user&amp;quot;,&amp;quot;FullControl&amp;quot;,&amp;quot;Allow&amp;quot;&lt;br /&gt;
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission&lt;br /&gt;
$acl.SetAccessRule($accessRule)&lt;br /&gt;
$acl | Set-Acl $shared[$i]&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
#Write-Host &amp;quot;Sinu arvutis on nüüd järgmised shared:&amp;quot;&lt;br /&gt;
Get-WmiObject Win32_Share&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Skriptimiskeeled:_powershelli_kodut%C3%B6%C3%B6d_2011,_kevad,_p%C3%A4eva%C3%B5pe&amp;diff=34104</id>
		<title>Skriptimiskeeled: powershelli kodutööd 2011, kevad, päevaõpe</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Skriptimiskeeled:_powershelli_kodut%C3%B6%C3%B6d_2011,_kevad,_p%C3%A4eva%C3%B5pe&amp;diff=34104"/>
		<updated>2011-06-08T23:30:11Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Siim Kängsepp */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
&lt;br /&gt;
=Kodutööd 2011, PowerShell=&lt;br /&gt;
Siia tulevad siis kokkuvõtted..&lt;br /&gt;
==Jaan Igamees==&lt;br /&gt;
Lühike jutt, mida skript teeb... bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla. &lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Jaan Igamees, kavalskript]]&lt;br /&gt;
&lt;br /&gt;
==Kaido Loonurm==&lt;br /&gt;
&lt;br /&gt;
Arvutiinfo: Skript leiab arvuti seadeid ja konfiguratsiooni puudutava info (arvuti nimi, mälu hulk, protsessoritüüp jne) ning väljastab selle &lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Kaido Loonurm, PCinfo.ps1]]&lt;br /&gt;
&lt;br /&gt;
==Ivar Ambos==&lt;br /&gt;
Ühendatud ketaste info&lt;br /&gt;
&lt;br /&gt;
[[User:Iambos]]&lt;br /&gt;
&lt;br /&gt;
==Vadim Vinogradin==&lt;br /&gt;
Ping skript&lt;br /&gt;
#Skript, mis kontrollib, saidi IP-aadressi töötamine. &lt;br /&gt;
#Kui töötab, siis kirjutab andmeid C:\ping.txt failisse, kui ei tööta, siis  kirjutab andmeid C:\ping.txt failisse ja teavitab e-maili kaudu.&lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Vadim Vinogradin, Ping skript]]&lt;br /&gt;
&lt;br /&gt;
==Tarmo Trumm==&lt;br /&gt;
Skript mis otsib üles kindla laiendiga failid, mis on x päeva vanad ja kustutab need.&lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Tarmo Trumm,Kustutame x-päeva vanad failid]]&lt;br /&gt;
&lt;br /&gt;
==Toomas Rohumets==&lt;br /&gt;
Skript, mis muudab võrgukaardi MAC aadressi.&lt;br /&gt;
&lt;br /&gt;
[[User:Trohumet]]&lt;br /&gt;
&lt;br /&gt;
==Sergei Gorjunov==&lt;br /&gt;
Skript, mis loob uut kasutajat&lt;br /&gt;
&lt;br /&gt;
[[User:Sgorjuno]]&lt;br /&gt;
&lt;br /&gt;
==Oliver Kilk==&lt;br /&gt;
1. Skript, mis otsib arvutist kõik printerid ja väljastab need koos detailsemate andmetega&lt;br /&gt;
&lt;br /&gt;
2. Skript, mis lahendab OU-sse kuuluvuse AD-s ning sisesndiks on tekstifail ja väljund samuti.&lt;br /&gt;
&lt;br /&gt;
[[User:Okilk]]&lt;br /&gt;
&lt;br /&gt;
==Karet Rikko==&lt;br /&gt;
Skript võtab kõikide kasutajate home folderite suuruse ning sorteerib suuruse järgi ning kirjutab kasutajanime ning kasutatud suuruse faili.&lt;br /&gt;
&lt;br /&gt;
[[User:Krikko]]&lt;br /&gt;
&lt;br /&gt;
==Vladimir Kolesnik==&lt;br /&gt;
&lt;br /&gt;
Skript, mis kuvab kõike protsesse, mille mälu on üle 1MB ja vormistab sisend faili HTML kujul&lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Vladimir Kolesnik, maluCheck]] | [[User:Vkolesni|Vkolesni]] 19:42, 23 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
Skript, mis kontrollib kas ettemääratud protsess töötab või ei.&lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Vladimir Kolesnik, minuProtsess]] | [[User:Vkolesni|Vkolesni]] 19:42, 23 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Lisaks saab leida siin: [[User:vkolesni]]&lt;br /&gt;
&lt;br /&gt;
==Ivar Krustok==&lt;br /&gt;
skript, mis küsib emaili, eraldab sellest user ja domeeni. Uurib välja domeeni ip aadressi, kas kodukas on üleval ja mis aadressil ja prindib selle info arvutikasutaja folderisse txt faili koos kellajaga millal küsiti.&lt;br /&gt;
&lt;br /&gt;
[[User:ikrustok]]&lt;br /&gt;
&lt;br /&gt;
==Ilja Peters==&lt;br /&gt;
[[PowerShell: Ilja Peters, Kasutajate halduse skript]]&lt;br /&gt;
&lt;br /&gt;
Skript mis haldab lokaalseid kasutajaid (lisab/kustutab/kuvab kasutajaid ning saab hallata gruppidesse kuuluvust)&lt;br /&gt;
&lt;br /&gt;
==Rene Pärnpuu==&lt;br /&gt;
Otsib lokaalsest arvutist ülesse kõik installeeritud printerid ja shareb kõikidele kasutajatele antud arvutis.&lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Rene Pärnpuu, Printerid.ps1]]&lt;br /&gt;
&lt;br /&gt;
==Arvutite Andmed==&lt;br /&gt;
tulemüürist tuleks lubada: windows management instrumentarium&lt;br /&gt;
UAC kinni või administrator account sisse&lt;br /&gt;
sisendiks on fail kuhu on kirjutatud arvutite nimed, millede eraldajaks on enter&lt;br /&gt;
väljundiks on viisakal kujul tekstifail mille ta meilile saata suudab&lt;br /&gt;
Kasutamine kujul skript.ps1 -in sisendfail -out väljudfail&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
$from = &amp;quot;kust@minuserver.ee&amp;quot;&lt;br /&gt;
$to = &amp;quot;kuhu@minuserver.ee&amp;quot;&lt;br /&gt;
$smtp = &amp;quot;smtp.minuserver.ee&amp;quot;&lt;br /&gt;
$smtp.EnableSsl = $True&lt;br /&gt;
param(&lt;br /&gt;
    $in,&lt;br /&gt;
    $out  &lt;br /&gt;
)&lt;br /&gt;
$file = $out&lt;br /&gt;
New-Item -ItemType file $file -Force&lt;br /&gt;
&lt;br /&gt;
Get-Content $in | ForEach-Object {&lt;br /&gt;
    $computerSystem = &amp;quot;&amp;quot;&lt;br /&gt;
    $computer = $_&lt;br /&gt;
    $computerSystem = get-wmiobject win32_computersystem -computer $computer&lt;br /&gt;
    $bios = get-wmiobject win32_bios -computer $computer&lt;br /&gt;
    $operatingsystem = get-wmiobject win32_operatingsystem -computer $computer&lt;br /&gt;
    $processor = get-wmiobject win32_processor -computer $computer&lt;br /&gt;
    if(-not $computerSystem) {&lt;br /&gt;
        Add-Content $file &amp;quot;Computer: $computer&amp;quot;&lt;br /&gt;
        Add-Content $file &amp;quot;Error!&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
        $user = $computerSystem.username&lt;br /&gt;
        $manufacturer = $computerSystem.manufacturer&lt;br /&gt;
        $model = $computerSystem.model&lt;br /&gt;
        $serviceTag = $bios.serialnumber&lt;br /&gt;
        $os = $operatingsystem.caption&lt;br /&gt;
        $servicePack = $operatingsystem.servicepackmajorversion&lt;br /&gt;
        $coreCount = @($processor)[0].numberofcores&lt;br /&gt;
        $procName = @($processor)[0].name&lt;br /&gt;
        $ram = [int]$operatingsystem.totalvisiblememorysize / 1024&lt;br /&gt;
        $disk = gwmi -computer $computer -class win32_logicaldisk -Credential $creds -Filter &amp;quot;DriveType = &#039;3&#039;&amp;quot; | select DeviceID,Size&lt;br /&gt;
        Add-Content $file &amp;quot;Computer: $computer&amp;quot;&lt;br /&gt;
        Add-Content $file &amp;quot;Manufacturer: $manufacturer&amp;quot;&lt;br /&gt;
        Add-Content $file &amp;quot;OS: $os&amp;quot;&lt;br /&gt;
        Add-Content $file &amp;quot;ServicePack: $servicePack&amp;quot;&lt;br /&gt;
        Add-Content $file &amp;quot;CoreCount: $coreCount&amp;quot;&lt;br /&gt;
        Add-Content $file &amp;quot;Processor Name: $procName&amp;quot;&lt;br /&gt;
        Add-Content $file &amp;quot;Ram: $ram&amp;quot;&lt;br /&gt;
        $i = 0&lt;br /&gt;
        if($disk -is [system.array]){&lt;br /&gt;
            while ($i -ne ($disk.length)) {&lt;br /&gt;
                $id = @($disk)[$i].deviceid&lt;br /&gt;
                $size = (@($disk)[$i].size / 1GB)&lt;br /&gt;
                Add-Content $file &amp;quot;$id $size GB&amp;quot;&lt;br /&gt;
                $i++&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            $id = $disk.deviceid&lt;br /&gt;
            $size = ($disk.size / 1GB)&lt;br /&gt;
            Add-Content $file &amp;quot;$id $size GB&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        }&lt;br /&gt;
        Add-Content $file &amp;quot;##############################################&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
$smtpserver = “smtp.neti.ee” #Siia kirjuta oma SMTP serveri aadress&lt;br /&gt;
$message = new-object Net.Mail.MailMessage&lt;br /&gt;
$att = new-object Net.Mail.Attachment($file)&lt;br /&gt;
$smtp = new-object Net.Mail.SmtpClient($smtpserver)&lt;br /&gt;
$message.From = $from #Saatja meiliaadress&lt;br /&gt;
$message.To.Add($to) #Saaja meiliaadress&lt;br /&gt;
$message.Subject = “Computer Information ( $(date) )” #E-maili pealkiri&lt;br /&gt;
$message.Body = “$failinimi on lisatud manustesse.” #E-Maili sisu ( tekst )&lt;br /&gt;
$message.Attachments.Add($att)&lt;br /&gt;
$smtp.Send($message)&lt;br /&gt;
 &lt;br /&gt;
$att.Dispose()&lt;br /&gt;
$message.Dispose()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rene Sepp==&lt;br /&gt;
Skript, mis disableb/enableb wireless adapterit.&lt;br /&gt;
&lt;br /&gt;
[[User:rsepp]]&lt;br /&gt;
&lt;br /&gt;
==Automatiseeritud portide avamine ja sulgemine - Katrin Kukk==&lt;br /&gt;
tulemüürist tuleks lubada: windows management instrumentarium&lt;br /&gt;
&lt;br /&gt;
UAC kinni või administrator account sisse&lt;br /&gt;
&lt;br /&gt;
sisendiks on failid:&lt;br /&gt;
&lt;br /&gt;
1) arvutite nimed&lt;br /&gt;
&lt;br /&gt;
2) portide numbrid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
skript töötab kujul: skript.ps1 -pcs &amp;lt;sisendfail&amp;gt; -ports &amp;lt;sisendfail&amp;gt; -action &amp;lt;open|close&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
param(&lt;br /&gt;
    $pcs,&lt;br /&gt;
    $action,&lt;br /&gt;
    $ports&lt;br /&gt;
)&lt;br /&gt;
#käime läbi masinate listi&lt;br /&gt;
Get-Content $pcs | ForEach-Object {&lt;br /&gt;
    $computer = $_&lt;br /&gt;
    #iga masina kohta käime läbi portide nimekirja&lt;br /&gt;
    Get-Content $ports | ForEach-Object {&lt;br /&gt;
        $port = $_&lt;br /&gt;
        #teeme pordid lahti&lt;br /&gt;
        if(action == &amp;quot;open&amp;quot;) {&lt;br /&gt;
            Invoke-Command {netsh advfirewall firewall add rule name=”Open Port $port” dir=in action=allow protocol=TCP localport=$port} -ComputerName $computer&lt;br /&gt;
        #või paneme need kinni&lt;br /&gt;
        } elseif(action == &amp;quot;close&amp;quot;) {&lt;br /&gt;
            Invoke-Command {netsh advfirewall firewall add rule name=”Open Port $port” dir=in action=block protocol=TCP localport=$port} -ComputerName $computer&lt;br /&gt;
        #või suuname kasutajat õigesti käituma&lt;br /&gt;
        } else {&lt;br /&gt;
            Write-Host &amp;quot;Porte kas avatakse (open) või suletakse (close)&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rain Kõrgmaa==&lt;br /&gt;
Skript kontrollib windowsi versiooni, kustutab temporary kaustast kõik (võimalikud) failid ning väljastab kasutaja kausta Logi faili.&lt;br /&gt;
Skript eeldab, et masinasse on installeeritud Powershell 2.0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
$ver = (Get-WmiObject Win32_OperatingSystem).Version&lt;br /&gt;
Echo &amp;quot;Sinu masina versioon on:&amp;quot; $ver.tostring()&lt;br /&gt;
$count = -1&lt;br /&gt;
$Time = Get-Date&lt;br /&gt;
&lt;br /&gt;
if($ver.tostring().Contains(&amp;quot;5.&amp;quot;)) {&lt;br /&gt;
            $Dir = Get-Childitem $Env:temp -recurse&lt;br /&gt;
            $Dir | Remove-Item -force -ErrorAction silentlycontinue &lt;br /&gt;
            foreach ($_ in $Dir ){&lt;br /&gt;
            $count = $count +1&lt;br /&gt;
            $a = $Time.ToShortDateString()+&amp;quot; &amp;quot;+$Time.ToShortTimeString()+ &amp;quot;Kustutasin &amp;quot; +$_ +&amp;quot; faili&amp;quot;&lt;br /&gt;
        $a &amp;gt;&amp;gt; logi.txt}}&lt;br /&gt;
&lt;br /&gt;
ElseIf($ver.tostring().Contains(&amp;quot;6.&amp;quot;)) {&lt;br /&gt;
            $Dir = Get-Childitem $Env:temp -recurse&lt;br /&gt;
            $Dir | Remove-Item -force -ErrorAction silentlycontinue&lt;br /&gt;
            foreach ($_ in $Dir ){&lt;br /&gt;
            $count = $count +1&lt;br /&gt;
            $a = $Time.ToShortDateString()+&amp;quot; &amp;quot;+$Time.ToShortTimeString()+ &amp;quot; Kustutasin &amp;quot; +$_ + &amp;quot; faili&amp;quot;&lt;br /&gt;
		$a &amp;gt;&amp;gt; logi.txt}}           &lt;br /&gt;
&lt;br /&gt;
Else{&lt;br /&gt;
    echo &amp;quot;Ei leidnud sobivat windowsi versiooni&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Andres Mill==&lt;br /&gt;
#Skript kontrollib, kas mingi rakendus töötab. Näiteks Skype. Kui töötab, siis saadab e-maili, et rakendus töötab selles arvutis.&lt;br /&gt;
#Skript käivitab rakenduse töötamise kontrolli skripti iga 60 sekundi tagant.&lt;br /&gt;
[[PowerShell: Andres Mill, rakenduse töötamise kontroll]]&lt;br /&gt;
&lt;br /&gt;
==Kalev Jõgi==&lt;br /&gt;
Skript küsib tudengi eesnime, perekonnanime, matriklinumbrit ja parooli ning loob Active Directory kasutaja Üldkasutus -&amp;gt; Eco Tudengid organisatsiooniüksusesse, lisab logimisel võrguketaste jne. lisamiseks kasutatava logon.bat faili ning lisab kasutaja gruppi Tudengid&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Autor: Kalev Jõgi&lt;br /&gt;
#Rühm: A22&lt;br /&gt;
#Versioon: 1.0&lt;br /&gt;
#Kuupäev: 26.05.2011&lt;br /&gt;
#Skript, mis teeb tudengile AD kasutaja ja lisab selle Tudengid gruppi&lt;br /&gt;
&lt;br /&gt;
#Loeme sisse vajalikud andmed&lt;br /&gt;
$Firstname = Read-Host &amp;quot;Eesnimi&amp;quot;&lt;br /&gt;
$Lastname = Read-Host &amp;quot;Perekonnanimi&amp;quot;&lt;br /&gt;
$SCode = Read-Host &amp;quot;Matrikklinumber&amp;quot;&lt;br /&gt;
$Password = Read-Host &amp;quot;Parool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$Name = $Firstname+&amp;quot; &amp;quot;+$Lastname&lt;br /&gt;
$username = &amp;quot;t&amp;quot;+$SCode&lt;br /&gt;
&lt;br /&gt;
#Tekitame AD-sse kasutaja&lt;br /&gt;
New-ADUser -Path &amp;quot;ou=Eco Tudengid,ou=Üldkasutus,dc=testikas,dc=local&amp;quot; -&lt;br /&gt;
GivenName $Firstname -Surname $Lastname -Name $Name -SamAccountName $username&lt;br /&gt;
 -DisplayName $Name -Enabled $true -PasswordNeverExpires $true&lt;br /&gt;
 -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -force) &lt;br /&gt;
-ScriptPath &amp;quot;login.bat&amp;quot; -UserPrincipalName $username&lt;br /&gt;
&lt;br /&gt;
#Lisame loodud kasutaja AD-s gruppi Tudengid &lt;br /&gt;
Add-ADGroupMember -Identity Tudengid -Members $username&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kristjan Väljako==&lt;br /&gt;
&lt;br /&gt;
Arvuti usaldusväärsuse index&lt;br /&gt;
&lt;br /&gt;
[[User:KValjako]]&lt;br /&gt;
&lt;br /&gt;
==Kristjan Vask==&lt;br /&gt;
&lt;br /&gt;
Active Directory/lokaalse kasutaja tegemine võttes username/pw sisendid eraldi failidest&lt;br /&gt;
&lt;br /&gt;
[[User:Krvask]]&lt;br /&gt;
&lt;br /&gt;
==Silver Kullarand==&lt;br /&gt;
Skript, võtab käsurealt kaasaantud nimega failist parameetrid, millega vormistatab päringu, väljastab soovitul hulgal uusimaid kirjeid otsitavate tüübide kohta ning lisab tulemused manustena mailile ja saadab need etteantud aadressile. &lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Silver Kullarand, newest_events_param.ps1]]&lt;br /&gt;
&lt;br /&gt;
== Risto Siitan ==&lt;br /&gt;
&lt;br /&gt;
[[https://wiki.itcollege.ee/index.php/Skript_otsib_viimase_24_tunni_errorid_ning_saadab_need_meiliga_määratud_aadressile Skript otsib viimase 24 tunni errorid ning saadab need meiliga määratud aadressile]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Martin Lehari==&lt;br /&gt;
Skript, mille abil saab mitmesse serverisse/arvutisse laiali kopeerida faile/katalooge.&lt;br /&gt;
Enne kopeerimist muudetakse sihtkoha &#039;&#039;power plan&#039;&#039; &#039;&#039;&#039;High Performance&#039;&#039;&#039; peale. Pärast kopeerimist taastatakse jälle endine olukord.&lt;br /&gt;
&lt;br /&gt;
Parameetrid:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-hostlist&#039;&#039;&#039; - fail, mis sisaldab arvutite/serverite nimesid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-hostname&#039;&#039;&#039; - üksiku arvuti/serveri nimi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-src&#039;&#039;&#039; - kopeeritav fail/kataloog&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-dest&#039;&#039;&#039; - sihtkoht&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Autor: Martin Lehari&lt;br /&gt;
#Rühm: A32&lt;br /&gt;
#Versioon: 1.0&lt;br /&gt;
#Kuupäev: 02.06.2011&lt;br /&gt;
#Skript, mille abil saab mitmesse serverisse/arvutisse laiali kopeerida faile/katalooge.&lt;br /&gt;
&lt;br /&gt;
param (&lt;br /&gt;
    [string]$hostlist,&lt;br /&gt;
    [string]$hostname,&lt;br /&gt;
    [string]$src = $(throw &amp;quot;Source file/dir required.&amp;quot;),&lt;br /&gt;
    [string]$dest = $(throw &amp;quot;Destination dir required.&amp;quot;)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function SetPowerPlan([string]$preferred_plan, [string]$computer_name) {&lt;br /&gt;
    $guid = (Get-WmiObject -Class win32_powerplan -Namespace root\cimv2\power -CN $computer_name -Filter &amp;quot;ElementName=&#039;$preferred_plan&#039;&amp;quot; -EA silentlyContinue).InstanceID.tostring()&lt;br /&gt;
    $regex = [regex]&amp;quot;{(.*?)}$&amp;quot;&lt;br /&gt;
    $newpowerVal = $regex.Match($guid).groups[1].value&lt;br /&gt;
&lt;br /&gt;
    Invoke-Command -computer $computer_name -ScriptBlock {param($p1,$p2) powercfg $p1 $p2} -ArgumentList &amp;quot;-S&amp;quot;,$newpowerVal   &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function CopyFiles([string]$src, [string]$dest) {&lt;br /&gt;
    if(!(test-path -path $dest)) {&lt;br /&gt;
        if((get-item $src).PSIsContainer){&lt;br /&gt;
            # folder @ destination missing. Creating it!&lt;br /&gt;
            new-Item $dest -type Directory -force | out-Null&lt;br /&gt;
            Copy-Item “$src\*” $dest -recurse&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            # file @ dest missing. Creating it!&lt;br /&gt;
            new-Item $dest -type File -force | out-Null&lt;br /&gt;
            Copy-Item $src $dest -force&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
        if((get-item $src).PSIsContainer) {&lt;br /&gt;
            # coping folder(s)&lt;br /&gt;
            Copy-Item “$src\*” $dest -recurse&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            # coping file(s)&lt;br /&gt;
            Copy-Item $src $dest -force&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# if we have only one destination...&lt;br /&gt;
if($hostname -ne &amp;quot;&amp;quot;) {&lt;br /&gt;
    $computers = $hostname&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
    $computers = Get-Content $hostlist&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
foreach ($computer_name in $computers) {&lt;br /&gt;
    Write-Host &amp;quot;Host: &amp;quot; $computer_name&lt;br /&gt;
    &lt;br /&gt;
    # get current powerplan&lt;br /&gt;
    $current_plan = (Get-WmiObject -Class win32_powerplan -Namespace root\cimv2\power -CN $computer_name -Filter &amp;quot;isActive=&#039;true&#039;&amp;quot; -EA silentlyContinue).ElementName.tostring()&lt;br /&gt;
    &lt;br /&gt;
    # set &#039;High Performance&#039; powerplan&lt;br /&gt;
    Write-Host &amp;quot;-&amp;gt; Setting powerplan to High performance...&amp;quot;&lt;br /&gt;
    SetPowerPlan &amp;quot;High Performance&amp;quot; $computer_name&lt;br /&gt;
    &lt;br /&gt;
    # do the magic!&lt;br /&gt;
    $dest = &amp;quot;\\&amp;quot;+$computer_name+&amp;quot;\&amp;quot;+$dest.Replace(&amp;quot;:&amp;quot;,&amp;quot;$&amp;quot;)&lt;br /&gt;
    Write-Host &amp;quot;-&amp;gt; Copying files...&amp;quot;&lt;br /&gt;
    CopyFiles $src $dest&lt;br /&gt;
    &lt;br /&gt;
    # set computers powerplan back to its original state&lt;br /&gt;
    Write-Host &amp;quot;-&amp;gt; Setting powerplan to $current_plan...&amp;quot;&lt;br /&gt;
    SetPowerPlan $current_plan $computer_name&lt;br /&gt;
    &lt;br /&gt;
    Write-Host &amp;quot;-&amp;gt; Done!&amp;quot;&lt;br /&gt;
    Write-Host &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Juhan Liiva==&lt;br /&gt;
Skript leiab kasutaja kodukataloogist 0-suurusega failid, kuvab need ja laseb kustutada, ükshaaval või korraga. &lt;br /&gt;
&lt;br /&gt;
[[User:Jliiva]]&lt;br /&gt;
&lt;br /&gt;
==Urmas Luuk==&lt;br /&gt;
[[User:Uluuk#Powershelli kodutöö]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Siim Kängsepp==&lt;br /&gt;
&lt;br /&gt;
Skript võtab ühest tekstifailist share kataloogitee ja teisest nime. Seejärel teeb need valmis vastavatesse kohtadesse ja annab kõik õigused.&lt;br /&gt;
&lt;br /&gt;
[[User:skangsep]]&lt;br /&gt;
&lt;br /&gt;
==Henrik Leinola==&lt;br /&gt;
Skript, mis eemaldab mp3 failide nimedest alakriipsud (&amp;quot;_&amp;quot;) ja muudab kõikide sõnade esimesed tähed suureks.&lt;br /&gt;
&lt;br /&gt;
[[User:Hleinola#Powershell kodutöö]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34103</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34103"/>
		<updated>2011-06-08T23:26:11Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. Pead olema root õigustes!&lt;br /&gt;
#exit(0) - kasutaja on lukus&lt;br /&gt;
#exit(1) - kasutaja pole lukus&lt;br /&gt;
#exit(2) - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
 &lt;br /&gt;
        rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
        if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja&amp;quot;,rec[0], &amp;quot;on lukus&amp;quot;&lt;br /&gt;
            sys.exit(0)&lt;br /&gt;
        elif rec[1] != &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja &amp;quot;,rec[0], &amp;quot;ei ole lukus&amp;quot;&lt;br /&gt;
            sys.exit(1)&lt;br /&gt;
else:&lt;br /&gt;
    print &amp;quot;Sellist kasutajat ei leitud&amp;quot;, var&lt;br /&gt;
    sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Powershelli kodutöö&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Skript võtab ühest tekstifailist share kataloogitee ja teisest nime. Seejärel teeb need valmis vastavatesse kohtadesse.&lt;br /&gt;
# Autor: Siim Kängsepp&lt;br /&gt;
# Versioon 0.1&lt;br /&gt;
&lt;br /&gt;
for($i=0; $i -lt $shared.length; $i++){&lt;br /&gt;
$FolderPath = $shared[$i]&lt;br /&gt;
$ShareName = $nimed[$i]&lt;br /&gt;
New-Item $FolderPath -type directory &lt;br /&gt;
&lt;br /&gt;
#Teen shared valmis&lt;br /&gt;
$Shares=[WMICLASS]”WIN32_Share”&lt;br /&gt;
$Shares.Create($FolderPath,$ShareName,0)&lt;br /&gt;
    &lt;br /&gt;
#Määran kataloogile kõik õigused kasutajale user&lt;br /&gt;
$acl = Get-Acl $shared[$i]&lt;br /&gt;
$permission = &amp;quot;user&amp;quot;,&amp;quot;FullControl&amp;quot;,&amp;quot;Allow&amp;quot;&lt;br /&gt;
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule $permission&lt;br /&gt;
$acl.SetAccessRule($accessRule)&lt;br /&gt;
$acl | Set-Acl $shared[$i]&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
#Write-Host &amp;quot;Sinu arvutis on nüüd järgmised shared:&amp;quot;&lt;br /&gt;
Get-WmiObject Win32_Share&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34098</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34098"/>
		<updated>2011-06-08T22:06:36Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. Pead olema root õigustes!&lt;br /&gt;
#exit(0) - kasutaja on lukus&lt;br /&gt;
#exit(1) - kasutaja pole lukus&lt;br /&gt;
#exit(2) - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
 &lt;br /&gt;
        rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
        if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja&amp;quot;,rec[0], &amp;quot;on lukus&amp;quot;&lt;br /&gt;
            sys.exit(0)&lt;br /&gt;
        elif rec[1] != &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja &amp;quot;,rec[0], &amp;quot;ei ole lukus&amp;quot;&lt;br /&gt;
            sys.exit(1)&lt;br /&gt;
else:&lt;br /&gt;
    print &amp;quot;Sellist kasutajat ei leitud&amp;quot;, var&lt;br /&gt;
    sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Powershelli kodutöö&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Skript võtab ühest tekstifailist share kataloogitee ja teisest nime. Seejärel teeb need valmis vastavatesse kohtadesse.&lt;br /&gt;
# Autor: Siim Kängsepp&lt;br /&gt;
# Versioon 0.1&lt;br /&gt;
&lt;br /&gt;
$shared = get-content C:\script\shared.txt&lt;br /&gt;
$nimed = Get-Content C:\script\nimed.txt&lt;br /&gt;
$Type = 0&lt;br /&gt;
$objWMI = [wmiClass] &#039;Win32_share&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for($i=0; $i -lt $shared.length; $i++){&lt;br /&gt;
$FolderPath = $shared[$i]&lt;br /&gt;
$ShareName = $nimed[$i]&lt;br /&gt;
New-Item $FolderPath -type directory &lt;br /&gt;
$objWMI.create([string]$FolderPath,[string]$ShareName,$Type)&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
#Write-Host &amp;quot;Sinu arvutis on nüüd järgmised shared:&amp;quot;&lt;br /&gt;
Get-WmiObject Win32_Share&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34097</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34097"/>
		<updated>2011-06-08T22:06:02Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. Pead olema root õigustes!&lt;br /&gt;
#exit(0) - kasutaja on lukus&lt;br /&gt;
#exit(1) - kasutaja pole lukus&lt;br /&gt;
#exit(2) - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
 &lt;br /&gt;
        rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
        if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja&amp;quot;,rec[0], &amp;quot;on lukus&amp;quot;&lt;br /&gt;
            sys.exit(0)&lt;br /&gt;
        elif rec[1] != &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja &amp;quot;,rec[0], &amp;quot;ei ole lukus&amp;quot;&lt;br /&gt;
            sys.exit(1)&lt;br /&gt;
else:&lt;br /&gt;
    print &amp;quot;Sellist kasutajat ei leitud&amp;quot;, var&lt;br /&gt;
    sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Powershelli kodutöö&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Skript võtab ühest tekstifailist share kataloogitee ja teisest nime. Teeb need valmis vastavatesse kohtadesse.&lt;br /&gt;
# Autor: Siim Kängsepp&lt;br /&gt;
# Versioon 0.1&lt;br /&gt;
&lt;br /&gt;
$shared = get-content C:\script\shared.txt&lt;br /&gt;
$nimed = Get-Content C:\script\nimed.txt&lt;br /&gt;
$Type = 0&lt;br /&gt;
$objWMI = [wmiClass] &#039;Win32_share&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for($i=0; $i -lt $shared.length; $i++){&lt;br /&gt;
$FolderPath = $shared[$i]&lt;br /&gt;
$ShareName = $nimed[$i]&lt;br /&gt;
New-Item $FolderPath -type directory &lt;br /&gt;
$objWMI.create([string]$FolderPath,[string]$ShareName,$Type)&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
#Write-Host &amp;quot;Sinu arvutis on nüüd järgmised shared:&amp;quot;&lt;br /&gt;
Get-WmiObject Win32_Share&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34096</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34096"/>
		<updated>2011-06-08T22:05:32Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. Pead olema root õigustes!&lt;br /&gt;
#exit(0) - kasutaja on lukus&lt;br /&gt;
#exit(1) - kasutaja pole lukus&lt;br /&gt;
#exit(2) - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
 &lt;br /&gt;
        rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
        if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja&amp;quot;,rec[0], &amp;quot;on lukus&amp;quot;&lt;br /&gt;
            sys.exit(0)&lt;br /&gt;
        elif rec[1] != &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja &amp;quot;,rec[0], &amp;quot;ei ole lukus&amp;quot;&lt;br /&gt;
            sys.exit(1)&lt;br /&gt;
else:&lt;br /&gt;
    print &amp;quot;Sellist kasutajat ei leitud&amp;quot;, var&lt;br /&gt;
    sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Skript võtab ühest tekstifailist share kataloogitee ja teisest nime. Teeb need valmis vastavatesse kohtadesse.&lt;br /&gt;
# Autor: Siim Kängsepp&lt;br /&gt;
# Versioon 0.1&lt;br /&gt;
&lt;br /&gt;
$shared = get-content C:\script\shared.txt&lt;br /&gt;
$nimed = Get-Content C:\script\nimed.txt&lt;br /&gt;
$Type = 0&lt;br /&gt;
$objWMI = [wmiClass] &#039;Win32_share&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for($i=0; $i -lt $shared.length; $i++){&lt;br /&gt;
$FolderPath = $shared[$i]&lt;br /&gt;
$ShareName = $nimed[$i]&lt;br /&gt;
New-Item $FolderPath -type directory &lt;br /&gt;
$objWMI.create([string]$FolderPath,[string]$ShareName,$Type)&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
#Write-Host &amp;quot;Sinu arvutis on nüüd järgmised shared:&amp;quot;&lt;br /&gt;
Get-WmiObject Win32_Share&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34078</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34078"/>
		<updated>2011-06-08T07:28:16Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. Pead olema root õigustes!&lt;br /&gt;
#exit(0) - kasutaja on lukus&lt;br /&gt;
#exit(1) - kasutaja pole lukus&lt;br /&gt;
#exit(2) - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
 &lt;br /&gt;
        rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
        if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja&amp;quot;,rec[0], &amp;quot;on lukus&amp;quot;&lt;br /&gt;
            sys.exit(0)&lt;br /&gt;
        elif rec[1] != &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja &amp;quot;,rec[0], &amp;quot;ei ole lukus&amp;quot;&lt;br /&gt;
            sys.exit(1)&lt;br /&gt;
else:&lt;br /&gt;
    print &amp;quot;Sellist kasutajat ei leitud&amp;quot;, var&lt;br /&gt;
    sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Skript võtab ühest tekstifailist share kataloogi ja teisest nime. Teeb need valmis vastavatesse kohtadesse.&lt;br /&gt;
# Autor: Siim Kängsepp&lt;br /&gt;
# Versioon 0.1&lt;br /&gt;
&lt;br /&gt;
$FolderPath = Get-Content C:\script\shared.txt&lt;br /&gt;
$ShareName = Get-Content C:\script\nimed.txt&lt;br /&gt;
$Type = 0&lt;br /&gt;
$objWMI = [wmiClass] &#039;Win32_share&#039;&lt;br /&gt;
$objWMI.create($FolderPath, $ShareName, $Type)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34077</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34077"/>
		<updated>2011-06-08T07:27:56Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. Pead olema root õigustes!&lt;br /&gt;
#exit(0) - kasutaja on lukus&lt;br /&gt;
#exit(1) - kasutaja pole lukus&lt;br /&gt;
#exit(2) - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
 &lt;br /&gt;
        rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
        if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja&amp;quot;,rec[0], &amp;quot;on lukus&amp;quot;&lt;br /&gt;
            sys.exit(0)&lt;br /&gt;
        elif rec[1] != &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja &amp;quot;,rec[0], &amp;quot;ei ole lukus&amp;quot;&lt;br /&gt;
            sys.exit(1)&lt;br /&gt;
else:&lt;br /&gt;
    print &amp;quot;Sellist kasutajat ei leitud&amp;quot;, var&lt;br /&gt;
    sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Skript võtab ühest tekstifailist share kataloogi ja teisest nime. Teeb need valmis vastavatesse kohtadesse.&lt;br /&gt;
# Autor: Siim Kängsepp&lt;br /&gt;
# Versioon 0.1&lt;br /&gt;
&lt;br /&gt;
$FolderPath = Get-Content C:\script\shared.txt&lt;br /&gt;
$ShareName = Get-Content C:\script\nimed.txt&lt;br /&gt;
$Type = 0&lt;br /&gt;
$objWMI = [wmiClass] &#039;Win32_share&#039;&lt;br /&gt;
$objWMI.create($FolderPath, $ShareName, $Type)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34076</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=34076"/>
		<updated>2011-06-08T07:27:36Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. Pead olema root õigustes!&lt;br /&gt;
#exit(0) - kasutaja on lukus&lt;br /&gt;
#exit(1) - kasutaja pole lukus&lt;br /&gt;
#exit(2) - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
 &lt;br /&gt;
        rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
        if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja&amp;quot;,rec[0], &amp;quot;on lukus&amp;quot;&lt;br /&gt;
            sys.exit(0)&lt;br /&gt;
        elif rec[1] != &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja &amp;quot;,rec[0], &amp;quot;ei ole lukus&amp;quot;&lt;br /&gt;
            sys.exit(1)&lt;br /&gt;
else:&lt;br /&gt;
    print &amp;quot;Sellist kasutajat ei leitud&amp;quot;, var&lt;br /&gt;
    sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Skript võtab ühest tekstifailist share kataloogi ja teisest nime. Teeb need valmis vastavatesse kohtadesse.&lt;br /&gt;
# Autor: Siim Kängsepp&lt;br /&gt;
# Version 0.1 February 2010 tested on PowerShell v 2.0 &lt;br /&gt;
&lt;br /&gt;
$FolderPath = Get-Content C:\script\shared.txt&lt;br /&gt;
$ShareName = Get-Content C:\script\nimed.txt&lt;br /&gt;
$Type = 0&lt;br /&gt;
$objWMI = [wmiClass] &#039;Win32_share&#039;&lt;br /&gt;
$objWMI.create($FolderPath, $ShareName, $Type)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Skriptimiskeeled:_powershelli_kodut%C3%B6%C3%B6d_2011,_kevad,_p%C3%A4eva%C3%B5pe&amp;diff=34075</id>
		<title>Skriptimiskeeled: powershelli kodutööd 2011, kevad, päevaõpe</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Skriptimiskeeled:_powershelli_kodut%C3%B6%C3%B6d_2011,_kevad,_p%C3%A4eva%C3%B5pe&amp;diff=34075"/>
		<updated>2011-06-07T22:14:06Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
&lt;br /&gt;
=Kodutööd 2011, PowerShell=&lt;br /&gt;
Siia tulevad siis kokkuvõtted..&lt;br /&gt;
==Jaan Igamees==&lt;br /&gt;
Lühike jutt, mida skript teeb... bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla, bla. &lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Jaan Igamees, kavalskript]]&lt;br /&gt;
&lt;br /&gt;
==Kaido Loonurm==&lt;br /&gt;
&lt;br /&gt;
Arvutiinfo: Skript leiab arvuti seadeid ja konfiguratsiooni puudutava info (arvuti nimi, mälu hulk, protsessoritüüp jne) ning väljastab selle &lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Kaido Loonurm, PCinfo.ps1]]&lt;br /&gt;
&lt;br /&gt;
==Ivar Ambos==&lt;br /&gt;
Ühendatud ketaste info&lt;br /&gt;
&lt;br /&gt;
[[User:Iambos]]&lt;br /&gt;
&lt;br /&gt;
==Vadim Vinogradin==&lt;br /&gt;
Ping skript&lt;br /&gt;
#Skript, mis kontrollib, saidi IP-aadressi töötamine. &lt;br /&gt;
#Kui töötab, siis kirjutab andmeid C:\ping.txt failisse, kui ei tööta, siis  kirjutab andmeid C:\ping.txt failisse ja teavitab e-maili kaudu.&lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Vadim Vinogradin, Ping skript]]&lt;br /&gt;
&lt;br /&gt;
==Tarmo Trumm==&lt;br /&gt;
Skript mis otsib üles kindla laiendiga failid, mis on x päeva vanad ja kustutab need.&lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Tarmo Trumm,Kustutame x-päeva vanad failid]]&lt;br /&gt;
&lt;br /&gt;
==Toomas Rohumets==&lt;br /&gt;
Skript, mis muudab võrgukaardi MAC aadressi.&lt;br /&gt;
&lt;br /&gt;
[[User:Trohumet]]&lt;br /&gt;
&lt;br /&gt;
==Sergei Gorjunov==&lt;br /&gt;
Skript, mis loob uut kasutajat&lt;br /&gt;
&lt;br /&gt;
[[User:Sgorjuno]]&lt;br /&gt;
&lt;br /&gt;
==Oliver Kilk==&lt;br /&gt;
1. Skript, mis otsib arvutist kõik printerid ja väljastab need koos detailsemate andmetega&lt;br /&gt;
&lt;br /&gt;
2. Skript, mis lahendab OU-sse kuuluvuse AD-s ning sisesndiks on tekstifail ja väljund samuti.&lt;br /&gt;
&lt;br /&gt;
[[User:Okilk]]&lt;br /&gt;
&lt;br /&gt;
==Karet Rikko==&lt;br /&gt;
Skript võtab kõikide kasutajate home folderite suuruse ning sorteerib suuruse järgi ning kirjutab kasutajanime ning kasutatud suuruse faili.&lt;br /&gt;
&lt;br /&gt;
[[User:Krikko]]&lt;br /&gt;
&lt;br /&gt;
==Vladimir Kolesnik==&lt;br /&gt;
&lt;br /&gt;
Skript, mis kuvab kõike protsesse, mille mälu on üle 1MB ja vormistab sisend faili HTML kujul&lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Vladimir Kolesnik, maluCheck]] | [[User:Vkolesni|Vkolesni]] 19:42, 23 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
Skript, mis kontrollib kas ettemääratud protsess töötab või ei.&lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Vladimir Kolesnik, minuProtsess]] | [[User:Vkolesni|Vkolesni]] 19:42, 23 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Lisaks saab leida siin: [[User:vkolesni]]&lt;br /&gt;
&lt;br /&gt;
==Ivar Krustok==&lt;br /&gt;
skript, mis küsib emaili, eraldab sellest user ja domeeni. Uurib välja domeeni ip aadressi, kas kodukas on üleval ja mis aadressil ja prindib selle info arvutikasutaja folderisse txt faili koos kellajaga millal küsiti.&lt;br /&gt;
&lt;br /&gt;
[[User:ikrustok]]&lt;br /&gt;
&lt;br /&gt;
==Ilja Peters==&lt;br /&gt;
[[PowerShell: Ilja Peters, Kasutajate halduse skript]]&lt;br /&gt;
&lt;br /&gt;
Skript mis haldab lokaalseid kasutajaid (lisab/kustutab/kuvab kasutajaid ning saab hallata gruppidesse kuuluvust)&lt;br /&gt;
&lt;br /&gt;
==Rene Pärnpuu==&lt;br /&gt;
Otsib lokaalsest arvutist ülesse kõik installeeritud printerid ja shareb kõikidele kasutajatele antud arvutis.&lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Rene Pärnpuu, Printerid.ps1]]&lt;br /&gt;
&lt;br /&gt;
==Arvutite Andmed==&lt;br /&gt;
tulemüürist tuleks lubada: windows management instrumentarium&lt;br /&gt;
UAC kinni või administrator account sisse&lt;br /&gt;
sisendiks on fail kuhu on kirjutatud arvutite nimed, millede eraldajaks on enter&lt;br /&gt;
väljundiks on viisakal kujul tekstifail mille ta meilile saata suudab&lt;br /&gt;
Kasutamine kujul skript.ps1 -in sisendfail -out väljudfail&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
$from = &amp;quot;kust@minuserver.ee&amp;quot;&lt;br /&gt;
$to = &amp;quot;kuhu@minuserver.ee&amp;quot;&lt;br /&gt;
$smtp = &amp;quot;smtp.minuserver.ee&amp;quot;&lt;br /&gt;
$smtp.EnableSsl = $True&lt;br /&gt;
param(&lt;br /&gt;
    $in,&lt;br /&gt;
    $out  &lt;br /&gt;
)&lt;br /&gt;
$file = $out&lt;br /&gt;
New-Item -ItemType file $file -Force&lt;br /&gt;
&lt;br /&gt;
Get-Content $in | ForEach-Object {&lt;br /&gt;
    $computerSystem = &amp;quot;&amp;quot;&lt;br /&gt;
    $computer = $_&lt;br /&gt;
    $computerSystem = get-wmiobject win32_computersystem -computer $computer&lt;br /&gt;
    $bios = get-wmiobject win32_bios -computer $computer&lt;br /&gt;
    $operatingsystem = get-wmiobject win32_operatingsystem -computer $computer&lt;br /&gt;
    $processor = get-wmiobject win32_processor -computer $computer&lt;br /&gt;
    if(-not $computerSystem) {&lt;br /&gt;
        Add-Content $file &amp;quot;Computer: $computer&amp;quot;&lt;br /&gt;
        Add-Content $file &amp;quot;Error!&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
        $user = $computerSystem.username&lt;br /&gt;
        $manufacturer = $computerSystem.manufacturer&lt;br /&gt;
        $model = $computerSystem.model&lt;br /&gt;
        $serviceTag = $bios.serialnumber&lt;br /&gt;
        $os = $operatingsystem.caption&lt;br /&gt;
        $servicePack = $operatingsystem.servicepackmajorversion&lt;br /&gt;
        $coreCount = @($processor)[0].numberofcores&lt;br /&gt;
        $procName = @($processor)[0].name&lt;br /&gt;
        $ram = [int]$operatingsystem.totalvisiblememorysize / 1024&lt;br /&gt;
        $disk = gwmi -computer $computer -class win32_logicaldisk -Credential $creds -Filter &amp;quot;DriveType = &#039;3&#039;&amp;quot; | select DeviceID,Size&lt;br /&gt;
        Add-Content $file &amp;quot;Computer: $computer&amp;quot;&lt;br /&gt;
        Add-Content $file &amp;quot;Manufacturer: $manufacturer&amp;quot;&lt;br /&gt;
        Add-Content $file &amp;quot;OS: $os&amp;quot;&lt;br /&gt;
        Add-Content $file &amp;quot;ServicePack: $servicePack&amp;quot;&lt;br /&gt;
        Add-Content $file &amp;quot;CoreCount: $coreCount&amp;quot;&lt;br /&gt;
        Add-Content $file &amp;quot;Processor Name: $procName&amp;quot;&lt;br /&gt;
        Add-Content $file &amp;quot;Ram: $ram&amp;quot;&lt;br /&gt;
        $i = 0&lt;br /&gt;
        if($disk -is [system.array]){&lt;br /&gt;
            while ($i -ne ($disk.length)) {&lt;br /&gt;
                $id = @($disk)[$i].deviceid&lt;br /&gt;
                $size = (@($disk)[$i].size / 1GB)&lt;br /&gt;
                Add-Content $file &amp;quot;$id $size GB&amp;quot;&lt;br /&gt;
                $i++&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            $id = $disk.deviceid&lt;br /&gt;
            $size = ($disk.size / 1GB)&lt;br /&gt;
            Add-Content $file &amp;quot;$id $size GB&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        }&lt;br /&gt;
        Add-Content $file &amp;quot;##############################################&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
$smtpserver = “smtp.neti.ee” #Siia kirjuta oma SMTP serveri aadress&lt;br /&gt;
$message = new-object Net.Mail.MailMessage&lt;br /&gt;
$att = new-object Net.Mail.Attachment($file)&lt;br /&gt;
$smtp = new-object Net.Mail.SmtpClient($smtpserver)&lt;br /&gt;
$message.From = $from #Saatja meiliaadress&lt;br /&gt;
$message.To.Add($to) #Saaja meiliaadress&lt;br /&gt;
$message.Subject = “Computer Information ( $(date) )” #E-maili pealkiri&lt;br /&gt;
$message.Body = “$failinimi on lisatud manustesse.” #E-Maili sisu ( tekst )&lt;br /&gt;
$message.Attachments.Add($att)&lt;br /&gt;
$smtp.Send($message)&lt;br /&gt;
 &lt;br /&gt;
$att.Dispose()&lt;br /&gt;
$message.Dispose()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rene Sepp==&lt;br /&gt;
Skript, mis disableb/enableb wireless adapterit.&lt;br /&gt;
&lt;br /&gt;
[[User:rsepp]]&lt;br /&gt;
&lt;br /&gt;
==Automatiseeritud portide avamine ja sulgemine - Katrin Kukk==&lt;br /&gt;
tulemüürist tuleks lubada: windows management instrumentarium&lt;br /&gt;
&lt;br /&gt;
UAC kinni või administrator account sisse&lt;br /&gt;
&lt;br /&gt;
sisendiks on failid:&lt;br /&gt;
&lt;br /&gt;
1) arvutite nimed&lt;br /&gt;
&lt;br /&gt;
2) portide numbrid&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
skript töötab kujul: skript.ps1 -pcs &amp;lt;sisendfail&amp;gt; -ports &amp;lt;sisendfail&amp;gt; -action &amp;lt;open|close&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;powershell&amp;quot;&amp;gt;&lt;br /&gt;
param(&lt;br /&gt;
    $pcs,&lt;br /&gt;
    $action,&lt;br /&gt;
    $ports&lt;br /&gt;
)&lt;br /&gt;
#käime läbi masinate listi&lt;br /&gt;
Get-Content $pcs | ForEach-Object {&lt;br /&gt;
    $computer = $_&lt;br /&gt;
    #iga masina kohta käime läbi portide nimekirja&lt;br /&gt;
    Get-Content $ports | ForEach-Object {&lt;br /&gt;
        $port = $_&lt;br /&gt;
        #teeme pordid lahti&lt;br /&gt;
        if(action == &amp;quot;open&amp;quot;) {&lt;br /&gt;
            Invoke-Command {netsh advfirewall firewall add rule name=”Open Port $port” dir=in action=allow protocol=TCP localport=$port} -ComputerName $computer&lt;br /&gt;
        #või paneme need kinni&lt;br /&gt;
        } elseif(action == &amp;quot;close&amp;quot;) {&lt;br /&gt;
            Invoke-Command {netsh advfirewall firewall add rule name=”Open Port $port” dir=in action=block protocol=TCP localport=$port} -ComputerName $computer&lt;br /&gt;
        #või suuname kasutajat õigesti käituma&lt;br /&gt;
        } else {&lt;br /&gt;
            Write-Host &amp;quot;Porte kas avatakse (open) või suletakse (close)&amp;quot;&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Rain Kõrgmaa==&lt;br /&gt;
Skript kontrollib windowsi versiooni, kustutab temporary kaustast kõik (võimalikud) failid ning väljastab kasutaja kausta Logi faili.&lt;br /&gt;
Skript eeldab, et masinasse on installeeritud Powershell 2.0.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
$ver = (Get-WmiObject Win32_OperatingSystem).Version&lt;br /&gt;
Echo &amp;quot;Sinu masina versioon on:&amp;quot; $ver.tostring()&lt;br /&gt;
$count = -1&lt;br /&gt;
$Time = Get-Date&lt;br /&gt;
&lt;br /&gt;
if($ver.tostring().Contains(&amp;quot;5.&amp;quot;)) {&lt;br /&gt;
            $Dir = Get-Childitem $Env:temp -recurse&lt;br /&gt;
            $Dir | Remove-Item -force -ErrorAction silentlycontinue &lt;br /&gt;
            foreach ($_ in $Dir ){&lt;br /&gt;
            $count = $count +1&lt;br /&gt;
            $a = $Time.ToShortDateString()+&amp;quot; &amp;quot;+$Time.ToShortTimeString()+ &amp;quot;Kustutasin &amp;quot; +$_ +&amp;quot; faili&amp;quot;&lt;br /&gt;
        $a &amp;gt;&amp;gt; logi.txt}}&lt;br /&gt;
&lt;br /&gt;
ElseIf($ver.tostring().Contains(&amp;quot;6.&amp;quot;)) {&lt;br /&gt;
            $Dir = Get-Childitem $Env:temp -recurse&lt;br /&gt;
            $Dir | Remove-Item -force -ErrorAction silentlycontinue&lt;br /&gt;
            foreach ($_ in $Dir ){&lt;br /&gt;
            $count = $count +1&lt;br /&gt;
            $a = $Time.ToShortDateString()+&amp;quot; &amp;quot;+$Time.ToShortTimeString()+ &amp;quot; Kustutasin &amp;quot; +$_ + &amp;quot; faili&amp;quot;&lt;br /&gt;
		$a &amp;gt;&amp;gt; logi.txt}}           &lt;br /&gt;
&lt;br /&gt;
Else{&lt;br /&gt;
    echo &amp;quot;Ei leidnud sobivat windowsi versiooni&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==Andres Mill==&lt;br /&gt;
#Skript kontrollib, kas mingi rakendus töötab. Näiteks Skype. Kui töötab, siis saadab e-maili, et rakendus töötab selles arvutis.&lt;br /&gt;
#Skript käivitab rakenduse töötamise kontrolli skripti iga 60 sekundi tagant.&lt;br /&gt;
[[PowerShell: Andres Mill, rakenduse töötamise kontroll]]&lt;br /&gt;
&lt;br /&gt;
==Kalev Jõgi==&lt;br /&gt;
Skript küsib tudengi eesnime, perekonnanime, matriklinumbrit ja parooli ning loob Active Directory kasutaja Üldkasutus -&amp;gt; Eco Tudengid organisatsiooniüksusesse, lisab logimisel võrguketaste jne. lisamiseks kasutatava logon.bat faili ning lisab kasutaja gruppi Tudengid&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Autor: Kalev Jõgi&lt;br /&gt;
#Rühm: A22&lt;br /&gt;
#Versioon: 1.0&lt;br /&gt;
#Kuupäev: 26.05.2011&lt;br /&gt;
#Skript, mis teeb tudengile AD kasutaja ja lisab selle Tudengid gruppi&lt;br /&gt;
&lt;br /&gt;
#Loeme sisse vajalikud andmed&lt;br /&gt;
$Firstname = Read-Host &amp;quot;Eesnimi&amp;quot;&lt;br /&gt;
$Lastname = Read-Host &amp;quot;Perekonnanimi&amp;quot;&lt;br /&gt;
$SCode = Read-Host &amp;quot;Matrikklinumber&amp;quot;&lt;br /&gt;
$Password = Read-Host &amp;quot;Parool&amp;quot;&lt;br /&gt;
&lt;br /&gt;
$Name = $Firstname+&amp;quot; &amp;quot;+$Lastname&lt;br /&gt;
$username = &amp;quot;t&amp;quot;+$SCode&lt;br /&gt;
&lt;br /&gt;
#Tekitame AD-sse kasutaja&lt;br /&gt;
New-ADUser -Path &amp;quot;ou=Eco Tudengid,ou=Üldkasutus,dc=testikas,dc=local&amp;quot; -&lt;br /&gt;
GivenName $Firstname -Surname $Lastname -Name $Name -SamAccountName $username&lt;br /&gt;
 -DisplayName $Name -Enabled $true -PasswordNeverExpires $true&lt;br /&gt;
 -AccountPassword (ConvertTo-SecureString $Password -AsPlainText -force) &lt;br /&gt;
-ScriptPath &amp;quot;login.bat&amp;quot; -UserPrincipalName $username&lt;br /&gt;
&lt;br /&gt;
#Lisame loodud kasutaja AD-s gruppi Tudengid &lt;br /&gt;
Add-ADGroupMember -Identity Tudengid -Members $username&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Kristjan Väljako==&lt;br /&gt;
&lt;br /&gt;
Arvuti usaldusväärsuse index&lt;br /&gt;
&lt;br /&gt;
[[User:KValjako]]&lt;br /&gt;
&lt;br /&gt;
==Kristjan Vask==&lt;br /&gt;
&lt;br /&gt;
Active Directory/lokaalse kasutaja tegemine võttes username/pw sisendid eraldi failidest&lt;br /&gt;
&lt;br /&gt;
[[User:Krvask]]&lt;br /&gt;
&lt;br /&gt;
==Silver Kullarand==&lt;br /&gt;
Skript, võtab käsurealt kaasaantud nimega failist parameetrid, millega vormistatab päringu, väljastab soovitul hulgal uusimaid kirjeid otsitavate tüübide kohta ning lisab tulemused manustena mailile ja saadab need etteantud aadressile. &lt;br /&gt;
&lt;br /&gt;
[[PowerShell: Silver Kullarand, newest_events_param.ps1]]&lt;br /&gt;
&lt;br /&gt;
== Risto Siitan ==&lt;br /&gt;
&lt;br /&gt;
[[https://wiki.itcollege.ee/index.php/Skript_otsib_viimase_24_tunni_errorid_ning_saadab_need_meiliga_määratud_aadressile Skript otsib viimase 24 tunni errorid ning saadab need meiliga määratud aadressile]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Martin Lehari==&lt;br /&gt;
Skript, mille abil saab mitmesse serverisse/arvutisse laiali kopeerida faile/katalooge.&lt;br /&gt;
Enne kopeerimist muudetakse sihtkoha &#039;&#039;power plan&#039;&#039; &#039;&#039;&#039;High Performance&#039;&#039;&#039; peale. Pärast kopeerimist taastatakse jälle endine olukord.&lt;br /&gt;
&lt;br /&gt;
Parameetrid:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-hostlist&#039;&#039;&#039; - fail, mis sisaldab arvutite/serverite nimesid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-hostname&#039;&#039;&#039; - üksiku arvuti/serveri nimi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-src&#039;&#039;&#039; - kopeeritav fail/kataloog&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-dest&#039;&#039;&#039; - sihtkoht&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;Powershell&amp;quot;&amp;gt;&lt;br /&gt;
#Autor: Martin Lehari&lt;br /&gt;
#Rühm: A32&lt;br /&gt;
#Versioon: 1.0&lt;br /&gt;
#Kuupäev: 02.06.2011&lt;br /&gt;
#Skript, mille abil saab mitmesse serverisse/arvutisse laiali kopeerida faile/katalooge.&lt;br /&gt;
&lt;br /&gt;
param (&lt;br /&gt;
    [string]$hostlist,&lt;br /&gt;
    [string]$hostname,&lt;br /&gt;
    [string]$src = $(throw &amp;quot;Source file/dir required.&amp;quot;),&lt;br /&gt;
    [string]$dest = $(throw &amp;quot;Destination dir required.&amp;quot;)&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function SetPowerPlan([string]$preferred_plan, [string]$computer_name) {&lt;br /&gt;
    $guid = (Get-WmiObject -Class win32_powerplan -Namespace root\cimv2\power -CN $computer_name -Filter &amp;quot;ElementName=&#039;$preferred_plan&#039;&amp;quot; -EA silentlyContinue).InstanceID.tostring()&lt;br /&gt;
    $regex = [regex]&amp;quot;{(.*?)}$&amp;quot;&lt;br /&gt;
    $newpowerVal = $regex.Match($guid).groups[1].value&lt;br /&gt;
&lt;br /&gt;
    Invoke-Command -computer $computer_name -ScriptBlock {param($p1,$p2) powercfg $p1 $p2} -ArgumentList &amp;quot;-S&amp;quot;,$newpowerVal   &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function CopyFiles([string]$src, [string]$dest) {&lt;br /&gt;
    if(!(test-path -path $dest)) {&lt;br /&gt;
        if((get-item $src).PSIsContainer){&lt;br /&gt;
            # folder @ destination missing. Creating it!&lt;br /&gt;
            new-Item $dest -type Directory -force | out-Null&lt;br /&gt;
            Copy-Item “$src\*” $dest -recurse&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            # file @ dest missing. Creating it!&lt;br /&gt;
            new-Item $dest -type File -force | out-Null&lt;br /&gt;
            Copy-Item $src $dest -force&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
        if((get-item $src).PSIsContainer) {&lt;br /&gt;
            # coping folder(s)&lt;br /&gt;
            Copy-Item “$src\*” $dest -recurse&lt;br /&gt;
        }&lt;br /&gt;
        else {&lt;br /&gt;
            # coping file(s)&lt;br /&gt;
            Copy-Item $src $dest -force&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# if we have only one destination...&lt;br /&gt;
if($hostname -ne &amp;quot;&amp;quot;) {&lt;br /&gt;
    $computers = $hostname&lt;br /&gt;
}&lt;br /&gt;
else {&lt;br /&gt;
    $computers = Get-Content $hostlist&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
foreach ($computer_name in $computers) {&lt;br /&gt;
    Write-Host &amp;quot;Host: &amp;quot; $computer_name&lt;br /&gt;
    &lt;br /&gt;
    # get current powerplan&lt;br /&gt;
    $current_plan = (Get-WmiObject -Class win32_powerplan -Namespace root\cimv2\power -CN $computer_name -Filter &amp;quot;isActive=&#039;true&#039;&amp;quot; -EA silentlyContinue).ElementName.tostring()&lt;br /&gt;
    &lt;br /&gt;
    # set &#039;High Performance&#039; powerplan&lt;br /&gt;
    Write-Host &amp;quot;-&amp;gt; Setting powerplan to High performance...&amp;quot;&lt;br /&gt;
    SetPowerPlan &amp;quot;High Performance&amp;quot; $computer_name&lt;br /&gt;
    &lt;br /&gt;
    # do the magic!&lt;br /&gt;
    $dest = &amp;quot;\\&amp;quot;+$computer_name+&amp;quot;\&amp;quot;+$dest.Replace(&amp;quot;:&amp;quot;,&amp;quot;$&amp;quot;)&lt;br /&gt;
    Write-Host &amp;quot;-&amp;gt; Copying files...&amp;quot;&lt;br /&gt;
    CopyFiles $src $dest&lt;br /&gt;
    &lt;br /&gt;
    # set computers powerplan back to its original state&lt;br /&gt;
    Write-Host &amp;quot;-&amp;gt; Setting powerplan to $current_plan...&amp;quot;&lt;br /&gt;
    SetPowerPlan $current_plan $computer_name&lt;br /&gt;
    &lt;br /&gt;
    Write-Host &amp;quot;-&amp;gt; Done!&amp;quot;&lt;br /&gt;
    Write-Host &amp;quot;&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Juhan Liiva==&lt;br /&gt;
Skript leiab kasutaja kodukataloogist 0-suurusega failid, kuvab need ja laseb kustutada, ükshaaval või korraga. &lt;br /&gt;
&lt;br /&gt;
[[User:Jliiva]]&lt;br /&gt;
&lt;br /&gt;
==Urmas Luuk==&lt;br /&gt;
[[User:Uluuk#Powershelli kodutöö]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Siim Kängsepp==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:skangsep]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33896</id>
		<title>LVM</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33896"/>
		<updated>2011-06-06T10:42:15Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Juhend kettaruumi lisamiseks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
Järgnev artikkel on kettajagude haldustööriistast &#039;&#039;&#039;LVM&#039;&#039;&#039;. Eesmärgiks on tutvustada lugejale vahendi tööpõhimõtteid ning näidata praktilist väärtust. Kuna LVM-i praktiline kasutusala väga suur, siis lisasin wikilehe lõppu lingid, mille abil on võimalik soovikorral tööriista nüanssidest lähemalt ja täpsemalt tutvuda (kasutatud lingid). Juhend on koostatud ühest variandist, kuidas LVM abil kettaruumi suurendada. &lt;br /&gt;
&lt;br /&gt;
Eeldused:&lt;br /&gt;
*Kuna referaat on koostatud aine &amp;quot;Operatsioonisüsteemide sidumine&amp;quot; raames, ning linuxis tunnen ma ennast veel ainult väga põgusalt &amp;quot;kodus.&amp;quot; Eeldan artiklilugejat umbes samas skoobis olevat, st et oskab terminali algtasemel kasutada ning tunneb ka UNIX-le omast kataloogistruktuuri. Juhendis on toodud kõik minu poolt sisestatud käsud ning ka väljundid välja. &lt;br /&gt;
&lt;br /&gt;
*LVM on sisseehitatud enamustele Linuxi distributsioonidele, seetõttu mingid lisavahendeid või rakendusi pole vaja installeerida. Kuid kui mingil põhjusel puudub, on pakk ja täpsemad juhised võimalik soetada siit : [http://sourceware.org/lvm/]&lt;br /&gt;
&lt;br /&gt;
*Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine - varukoopiad!. &lt;br /&gt;
&lt;br /&gt;
*Kui tunned end ebakindlalt, tee algul läbi virtuaalmasinas&lt;br /&gt;
&lt;br /&gt;
*Tuttav võiks olla ka järgnevate teemadega:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kasulik lugemine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[NTFS_vs_Ext4]]&lt;br /&gt;
&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
==Mis on LVM ?==&lt;br /&gt;
&lt;br /&gt;
[[File:lvm&#039;1.jpg|200px|thumb|right|LVM - struktuur]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM&#039;&#039;&#039; (&#039;&#039;Logical Volume Manager&#039;&#039;) on kettajagude haldusvahend Linuxikeskkonnas. &lt;br /&gt;
&lt;br /&gt;
Ta on loodud kihina ketaste ja failisüsteemi vahele ning ettekujutus oleks selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID&lt;br /&gt;
* Füüsilised plokkseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
Lihtsustatult võiks öelda, et ühe LVM moodustab kihi, millega saab hallata korraga mitu (loogilist) kettajagu. Need koosnevad omakorda mitmest füüsilisest salvestusüksusest(kõvaketas, mingi muu kirjutav/lugev ajam).&lt;br /&gt;
&lt;br /&gt;
== LVM1 vs LVM2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM-i on arendatud alates LVM1-st ning seda kuni versioonini 0.19 (2006-11-27), peale seda lõpetati ning hakati arendama teist versiooni, mis nimetati LVM2-ks. LVM2 on tagasiühilduv (&#039;&#039;backwards - compatible&#039;&#039; - st. ühildub vanemate versioonidega) ning kasutab samasugust käsureastruktuuri. Omab muudetud ja täiustatud on jõudlust: &lt;br /&gt;
näiteks nüüd on toetatud klastrid ning väga suur arv kettaid. Kiiremaks on muudetud ja &#039;&#039;recovery&#039;&#039;-protseduurid.&lt;br /&gt;
&lt;br /&gt;
Näited muudatustest:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM1 | LVM2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Ei&#039;&#039;&#039; - &#039;&#039;RHEL AS 2.1&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - &#039;&#039;RHEL 4&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Kiirem metaandmete käsitlemine (seotud taastamisprotsessi kiirusega)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - jagatud köited (&#039;&#039;volume&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Klastrid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Triibutatud köidete laiendatavus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Read-only&#039;&#039; hetktõmmis | &#039;&#039;Read-write&#039;&#039; hetktõmmis&lt;br /&gt;
&lt;br /&gt;
256 | 2(astmes)32 - Max kettajagude arv&lt;br /&gt;
&lt;br /&gt;
2 Tb | 8 Eb (Exabyte) - Max füüsilise ajami maht&lt;br /&gt;
&lt;br /&gt;
== Võimalused ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Muuta olemasoleva failisüsteemi suurust, eeldusel et failisüsteem seda toetab&lt;br /&gt;
* Tekitada kõvakettale partitsioone juurde, neid eemaldada. Sealjuures ei ole kasutusel olevate partitsioonitabelite muutmisel vaja opsüsteemi alglaadida.&lt;br /&gt;
* Hiljem partitsioonide suurusi muuta ilma andmekadudeta.&lt;br /&gt;
* Ühendada kokku väiksemaid füüsilised plokkseadmed üheks suuremaks loogiliseks seadmeks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM on kasutatav lisaks veel paljudeks tegevusteks. Sealhulgas:&lt;br /&gt;
&lt;br /&gt;
* failisüsteemide &#039;&#039;snapshottide&#039;&#039; tegemine ja kasutamine&lt;br /&gt;
* loogiliste ketaste triibutamine sarnaselt RAID-0 -le&lt;br /&gt;
* tervete ketaste või osade peegeldamine sarnaselt RAID-1 -le&lt;br /&gt;
* ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Negatiivsed küljed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Süsteemi taastamine võib osutuda väga keeruliseks.&lt;br /&gt;
*Alglaadimisaeg võib muutuda pikemaks&lt;br /&gt;
*Ajapikku võib probleemiks osutuda loogiliste kettajagude fragmenteeritus, mis muudab I/O jõudlust negatiivselt. See tuleneb sellest, et salvestusseadmed ei eralda vajalikku mahtu järjest.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Juhend kettaruumi lisamiseks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pahatihti on vaja tööjaamale, serverile kettaruumi juurde. Seda on võimalik teha, lisades uue ketta ning ühendades selle näiteks kodukataloogiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Füüsiliste ketaste kohta saad infot:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk -l&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sda: 40.0 GB, 40060403712 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 4870 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sda1 * 1 13 104391 83 Linux&lt;br /&gt;
 /dev/sda2 14 4870 39013852+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
&lt;br /&gt;
Dev/sda peal on OS ning seal on partitsioon juba olemas. Disk /dev/sdb on uus ketas, mida tahame lisada kodukataloogile. &lt;br /&gt;
Disk /dev/sdb peal ei ole veel partitsioonitabelit, kuna sinna ei ole seda kunagi tehtud. Teeme selle:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk /dev/sdb&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 WARNING: DOS-compatible mode is deprecated. It&#039;s strongly recommended to&lt;br /&gt;
         switch off the mode (command &#039;c&#039;) and change display units to&lt;br /&gt;
         sectors (command &#039;u&#039;).&lt;br /&gt;
 Command (m for help):&lt;br /&gt;
&lt;br /&gt;
 Vajutades m, saame käskude nimekirja:&lt;br /&gt;
&lt;br /&gt;
    Command action: m&lt;br /&gt;
   a   toggle a bootable flag&lt;br /&gt;
   b   edit bsd disklabel&lt;br /&gt;
   c   toggle the dos compatibility flag&lt;br /&gt;
   d   delete a partition&lt;br /&gt;
   l   list known partition types&lt;br /&gt;
   m   print this menu&lt;br /&gt;
   n   add a new partition&lt;br /&gt;
   o   create a new empty DOS partition table&lt;br /&gt;
   p   print the partition table&lt;br /&gt;
   q   quit without saving changes&lt;br /&gt;
   s   create a new empty Sun disklabel&lt;br /&gt;
   t   change a partition&#039;s system id&lt;br /&gt;
   u   change display/entry units&lt;br /&gt;
   v   verify the partition table&lt;br /&gt;
   w   write table to disk and exit&lt;br /&gt;
   x   extra functionality (experts only)&lt;br /&gt;
&lt;br /&gt;
Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):&lt;br /&gt;
&lt;br /&gt;
 Command action: n&lt;br /&gt;
 e extended&lt;br /&gt;
 p primary partition (1-4)&lt;br /&gt;
 p&lt;br /&gt;
 Partition number (1-4):&lt;br /&gt;
 1&lt;br /&gt;
 First cylinder (177545,&lt;br /&gt;
 default 1):&lt;br /&gt;
 Using default value 1&lt;br /&gt;
 Last cylinder or +size or +sizeM or +sizeK (177545,default 77545):&lt;br /&gt;
 Using default value 77545&lt;br /&gt;
&lt;br /&gt;
Vajutades p saame kontrollida:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 83 Linux&lt;br /&gt;
&lt;br /&gt;
Partitsiooni ID tuleks vahetada 8e-ks, kuna see on tüüp, mida Linux-LVM toetab.&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): m&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM)&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
Oluline on vajutada w, et muudatused ka kirjutataks kettale:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
 Calling ioctl() to reread&lt;br /&gt;
 partition table.&lt;br /&gt;
 WARNING: If you have created or modified any DOS 6.x&lt;br /&gt;
 partitions, please see the fdisk manual page for additional&lt;br /&gt;
 information.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reboot ei ole vajalik&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleks teha füüsiline kettajagu (märgistada ketas /dev/sdb füüsiliseks jaoks?):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvcreate /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical&lt;br /&gt;
 volume PV&lt;br /&gt;
 Name /dev/sda2&lt;br /&gt;
 VG Name VolGroup00&lt;br /&gt;
 PV Size 37.21 GB / not usable 19.46 MB&lt;br /&gt;
 Allocatable yes&lt;br /&gt;
 PE Size (KByte) 32768&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Free PE 59&lt;br /&gt;
 Allocated PE 1131&lt;br /&gt;
 PV UUID 8iXatK0ULJBdMJeFuxzhfA38AZDB8mBO&lt;br /&gt;
&lt;br /&gt;
 NEW&lt;br /&gt;
 Physical volume PV&lt;br /&gt;
 Name /dev/sdb1&lt;br /&gt;
 VG Name&lt;br /&gt;
 PV Size 37.27 GB&lt;br /&gt;
 Allocatable NO&lt;br /&gt;
 PE Size (KByte) 0&lt;br /&gt;
 Total PE 0&lt;br /&gt;
 Free PE 0&lt;br /&gt;
 Allocated PE 0&lt;br /&gt;
 PV UUID YP01nVuh4jvlpDM5fPNOjOQQ8iSVEzCx&lt;br /&gt;
&lt;br /&gt;
Ketas on märgistatud uue füüsilise kettajaona. Nüüd tuleks see määrata /dev/sdb1 olemasolevasse kettajaogruppi. Gruppe saab näha käsuga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 1&lt;br /&gt;
 Metadata Sequence No 4&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 1&lt;br /&gt;
 Act PV 1&lt;br /&gt;
 VG Size 37.19 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 59 / 1.84 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovikorral on võimalik teha uus kettajagudegrupp käsuga &#039;&#039;vgcreate:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgcreate my_new_volume_group /dev/sda1 /dev/sdb1 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meie praeguse grupi suurus on 37,19 GB - seda üritame uue kettaga suurendada. Füüsilise kettajao saame ühendada kettajagudegruppi käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgextend VolGroup00 /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume group &amp;quot;VolGroup00&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 2&lt;br /&gt;
 Metadata Sequence No 5&lt;br /&gt;
&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 2&lt;br /&gt;
 Act PV 2&lt;br /&gt;
&lt;br /&gt;
 VG Size 74.44 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 2382&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 1251 / 39.09 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
Nüüd on suurus 74,44GB. Kuna meil on nüüd rohkem ruumi kettajagudegrupis, saame suurendada /var kataloogi. Teeme seda näiteks 20GB võrra. See käib käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lvextend L+20G /dev/VolGroup00/Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Extending logical volume Loogilinevoluum to 34.62 GB&lt;br /&gt;
 Logical volume Loogilinevoluum successfully resized&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks kodukataloog ning kettajagu lahti ühendada, mis seotud /var kataloogiga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
umount /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel saab muuta failisüsteemi suurust käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
resize2fs /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 resize2fs 1.39 (02May2011)&lt;br /&gt;
 Filesystem at /dev/mapper/VolGroup00Loogilinevoluum is mounted on /var; online resizing required&lt;br /&gt;
 Performing an online resize of /dev/mapper/VolGroup00LogVolvar to 9076736 (4k) blocks.&lt;br /&gt;
 The filesystem on /dev/mapper/VolGroup00Loogilinevoluum is now 9076736 blocks long.&lt;br /&gt;
&lt;br /&gt;
Kontrollides käsuga df-hf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
df -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Filesystem Size Used Avail Use% Mounted on&lt;br /&gt;
 /dev/mapper/VolGroup00LogVolfs 19G 2.5G 16G 14% /&lt;br /&gt;
 /dev/sda1 99M 11M 84M 12% /boot&lt;br /&gt;
 tmpfs 300M 0 300M 0% /dev/shm&lt;br /&gt;
 /dev/mapper/VolGroup00Loogilinevoluum 34G 226M 32G 1% /var&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Juhul kui füüsiliselt kettaruumi on kuid partitsioon ei mahuta enam, siis on LVM abil võimalik seda ka suurendada. Selle jaoks on tegelikult olemas ka spetsiaalsed programmid, mis lihtsustavad tunduvalt tegevust. Manuaalselt seda teha on üpriski tülikas. Üks näide sellisest vabavaralisest programmist on näiteks GParted - [http://gparted.sourceforge.net/features.php] . Nietatud programm toetab enamusi kasutuselolevatest failisüsteemidest, kaasaarvatud näiteks ext2, 3, 4, ntfs, FAT16, FAT32.&lt;br /&gt;
&lt;br /&gt;
== Kasutatud kirjandus ==&lt;br /&gt;
&lt;br /&gt;
http://www.gnu.org/software/parted/manual/html_chapter/parted_7.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_volume_management&lt;br /&gt;
&lt;br /&gt;
http://sourceware.org/lvm2/&lt;br /&gt;
&lt;br /&gt;
http://www.unixmultiverse.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=47&amp;amp;Itemid=53&lt;br /&gt;
&lt;br /&gt;
http://www.tldp.org/HOWTO/LVM-HOWTO/&lt;br /&gt;
&lt;br /&gt;
http://vallaste.ee/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33895</id>
		<title>LVM</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33895"/>
		<updated>2011-06-06T10:41:08Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Juhend kettaruumi lisamiseks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
Järgnev artikkel on kettajagude haldustööriistast &#039;&#039;&#039;LVM&#039;&#039;&#039;. Eesmärgiks on tutvustada lugejale vahendi tööpõhimõtteid ning näidata praktilist väärtust. Kuna LVM-i praktiline kasutusala väga suur, siis lisasin wikilehe lõppu lingid, mille abil on võimalik soovikorral tööriista nüanssidest lähemalt ja täpsemalt tutvuda (kasutatud lingid). Juhend on koostatud ühest variandist, kuidas LVM abil kettaruumi suurendada. &lt;br /&gt;
&lt;br /&gt;
Eeldused:&lt;br /&gt;
*Kuna referaat on koostatud aine &amp;quot;Operatsioonisüsteemide sidumine&amp;quot; raames, ning linuxis tunnen ma ennast veel ainult väga põgusalt &amp;quot;kodus.&amp;quot; Eeldan artiklilugejat umbes samas skoobis olevat, st et oskab terminali algtasemel kasutada ning tunneb ka UNIX-le omast kataloogistruktuuri. Juhendis on toodud kõik minu poolt sisestatud käsud ning ka väljundid välja. &lt;br /&gt;
&lt;br /&gt;
*LVM on sisseehitatud enamustele Linuxi distributsioonidele, seetõttu mingid lisavahendeid või rakendusi pole vaja installeerida. Kuid kui mingil põhjusel puudub, on pakk ja täpsemad juhised võimalik soetada siit : [http://sourceware.org/lvm/]&lt;br /&gt;
&lt;br /&gt;
*Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine - varukoopiad!. &lt;br /&gt;
&lt;br /&gt;
*Kui tunned end ebakindlalt, tee algul läbi virtuaalmasinas&lt;br /&gt;
&lt;br /&gt;
*Tuttav võiks olla ka järgnevate teemadega:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kasulik lugemine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[NTFS_vs_Ext4]]&lt;br /&gt;
&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
==Mis on LVM ?==&lt;br /&gt;
&lt;br /&gt;
[[File:lvm&#039;1.jpg|200px|thumb|right|LVM - struktuur]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM&#039;&#039;&#039; (&#039;&#039;Logical Volume Manager&#039;&#039;) on kettajagude haldusvahend Linuxikeskkonnas. &lt;br /&gt;
&lt;br /&gt;
Ta on loodud kihina ketaste ja failisüsteemi vahele ning ettekujutus oleks selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID&lt;br /&gt;
* Füüsilised plokkseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
Lihtsustatult võiks öelda, et ühe LVM moodustab kihi, millega saab hallata korraga mitu (loogilist) kettajagu. Need koosnevad omakorda mitmest füüsilisest salvestusüksusest(kõvaketas, mingi muu kirjutav/lugev ajam).&lt;br /&gt;
&lt;br /&gt;
== LVM1 vs LVM2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM-i on arendatud alates LVM1-st ning seda kuni versioonini 0.19 (2006-11-27), peale seda lõpetati ning hakati arendama teist versiooni, mis nimetati LVM2-ks. LVM2 on tagasiühilduv (&#039;&#039;backwards - compatible&#039;&#039; - st. ühildub vanemate versioonidega) ning kasutab samasugust käsureastruktuuri. Omab muudetud ja täiustatud on jõudlust: &lt;br /&gt;
näiteks nüüd on toetatud klastrid ning väga suur arv kettaid. Kiiremaks on muudetud ja &#039;&#039;recovery&#039;&#039;-protseduurid.&lt;br /&gt;
&lt;br /&gt;
Näited muudatustest:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM1 | LVM2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Ei&#039;&#039;&#039; - &#039;&#039;RHEL AS 2.1&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - &#039;&#039;RHEL 4&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Kiirem metaandmete käsitlemine (seotud taastamisprotsessi kiirusega)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - jagatud köited (&#039;&#039;volume&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Klastrid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Triibutatud köidete laiendatavus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Read-only&#039;&#039; hetktõmmis | &#039;&#039;Read-write&#039;&#039; hetktõmmis&lt;br /&gt;
&lt;br /&gt;
256 | 2(astmes)32 - Max kettajagude arv&lt;br /&gt;
&lt;br /&gt;
2 Tb | 8 Eb (Exabyte) - Max füüsilise ajami maht&lt;br /&gt;
&lt;br /&gt;
== Võimalused ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Muuta olemasoleva failisüsteemi suurust, eeldusel et failisüsteem seda toetab&lt;br /&gt;
* Tekitada kõvakettale partitsioone juurde, neid eemaldada. Sealjuures ei ole kasutusel olevate partitsioonitabelite muutmisel vaja opsüsteemi alglaadida.&lt;br /&gt;
* Hiljem partitsioonide suurusi muuta ilma andmekadudeta.&lt;br /&gt;
* Ühendada kokku väiksemaid füüsilised plokkseadmed üheks suuremaks loogiliseks seadmeks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM on kasutatav lisaks veel paljudeks tegevusteks. Sealhulgas:&lt;br /&gt;
&lt;br /&gt;
* failisüsteemide &#039;&#039;snapshottide&#039;&#039; tegemine ja kasutamine&lt;br /&gt;
* loogiliste ketaste triibutamine sarnaselt RAID-0 -le&lt;br /&gt;
* tervete ketaste või osade peegeldamine sarnaselt RAID-1 -le&lt;br /&gt;
* ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Negatiivsed küljed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Süsteemi taastamine võib osutuda väga keeruliseks.&lt;br /&gt;
*Alglaadimisaeg võib muutuda pikemaks&lt;br /&gt;
*Ajapikku võib probleemiks osutuda loogiliste kettajagude fragmenteeritus, mis muudab I/O jõudlust negatiivselt. See tuleneb sellest, et salvestusseadmed ei eralda vajalikku mahtu järjest.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Juhend kettaruumi lisamiseks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pahatihti on vaja tööjaamale, serverile kettaruumi juurde. Seda on võimalik teha, lisades uue ketta ning ühendades selle näiteks kodukataloogiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Füüsiliste ketaste kohta saad infot:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk -l&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sda: 40.0 GB, 40060403712 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 4870 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sda1 * 1 13 104391 83 Linux&lt;br /&gt;
 /dev/sda2 14 4870 39013852+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
&lt;br /&gt;
Dev/sda peal on OS ning seal on partitsioon juba olemas. Disk /dev/sdb on uus ketas, mida tahame lisada kodukataloogile. &lt;br /&gt;
Disk /dev/sdb peal ei ole veel partitsioonitabelit, kuna sinna ei ole seda kunagi tehtud. Teeme selle:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk /dev/sdb&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 WARNING: DOS-compatible mode is deprecated. It&#039;s strongly recommended to&lt;br /&gt;
         switch off the mode (command &#039;c&#039;) and change display units to&lt;br /&gt;
         sectors (command &#039;u&#039;).&lt;br /&gt;
 Command (m for help):&lt;br /&gt;
&lt;br /&gt;
 Vajutades m, saame käskude nimekirja:&lt;br /&gt;
&lt;br /&gt;
    Command action: m&lt;br /&gt;
   a   toggle a bootable flag&lt;br /&gt;
   b   edit bsd disklabel&lt;br /&gt;
   c   toggle the dos compatibility flag&lt;br /&gt;
   d   delete a partition&lt;br /&gt;
   l   list known partition types&lt;br /&gt;
   m   print this menu&lt;br /&gt;
   n   add a new partition&lt;br /&gt;
   o   create a new empty DOS partition table&lt;br /&gt;
   p   print the partition table&lt;br /&gt;
   q   quit without saving changes&lt;br /&gt;
   s   create a new empty Sun disklabel&lt;br /&gt;
   t   change a partition&#039;s system id&lt;br /&gt;
   u   change display/entry units&lt;br /&gt;
   v   verify the partition table&lt;br /&gt;
   w   write table to disk and exit&lt;br /&gt;
   x   extra functionality (experts only)&lt;br /&gt;
&lt;br /&gt;
Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):&lt;br /&gt;
&lt;br /&gt;
 Command action: n&lt;br /&gt;
 e extended&lt;br /&gt;
 p primary partition (1-4)&lt;br /&gt;
 p&lt;br /&gt;
 Partition number (1-4):&lt;br /&gt;
 1&lt;br /&gt;
 First cylinder (177545,&lt;br /&gt;
 default 1):&lt;br /&gt;
 Using default value 1&lt;br /&gt;
 Last cylinder or +size or +sizeM or +sizeK (177545,default 77545):&lt;br /&gt;
 Using default value 77545&lt;br /&gt;
&lt;br /&gt;
Vajutades p saame kontrollida:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 83 Linux&lt;br /&gt;
&lt;br /&gt;
Partitsiooni ID tuleks vahetada 8e-ks, kuna see on tüüp, mida Linux-LVM toetab.&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): m&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM)&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
Oluline on vajutada w, et muudatused ka kirjutataks kettale:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
 Calling ioctl() to reread&lt;br /&gt;
 partition table.&lt;br /&gt;
 WARNING: If you have created or modified any DOS 6.x&lt;br /&gt;
 partitions, please see the fdisk manual page for additional&lt;br /&gt;
 information.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reboot ei ole vajalik&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleks teha füüsiline kettajagu (märgistada ketas /dev/sdb füüsiliseks jaoks?):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvcreate /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical&lt;br /&gt;
 volume PV&lt;br /&gt;
 Name /dev/sda2&lt;br /&gt;
 VG Name VolGroup00&lt;br /&gt;
 PV Size 37.21 GB / not usable 19.46 MB&lt;br /&gt;
 Allocatable yes&lt;br /&gt;
 PE Size (KByte) 32768&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Free PE 59&lt;br /&gt;
 Allocated PE 1131&lt;br /&gt;
 PV UUID 8iXatK0ULJBdMJeFuxzhfA38AZDB8mBO&lt;br /&gt;
&lt;br /&gt;
 NEW&lt;br /&gt;
 Physical volume PV&lt;br /&gt;
 Name /dev/sdb1&lt;br /&gt;
 VG Name&lt;br /&gt;
 PV Size 37.27 GB&lt;br /&gt;
 Allocatable NO&lt;br /&gt;
 PE Size (KByte) 0&lt;br /&gt;
 Total PE 0&lt;br /&gt;
 Free PE 0&lt;br /&gt;
 Allocated PE 0&lt;br /&gt;
 PV UUID YP01nVuh4jvlpDM5fPNOjOQQ8iSVEzCx&lt;br /&gt;
&lt;br /&gt;
Ketas on märgistatud uue füüsilise kettajaona. Nüüd tuleks see määrata /dev/sdb1 olemasolevasse kettajaogruppi. Gruppe saab näha käsuga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;source/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 1&lt;br /&gt;
 Metadata Sequence No 4&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 1&lt;br /&gt;
 Act PV 1&lt;br /&gt;
 VG Size 37.19 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 59 / 1.84 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovikorral on võimalik teha uus kettajagudegrupp käsuga &#039;&#039;vgcreate:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgcreate my_new_volume_group /dev/sda1 /dev/sdb1 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meie praeguse grupi suurus on 37,19 GB - seda üritame uue kettaga suurendada. Füüsilise kettajao saame ühendada kettajagudegruppi käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgextend VolGroup00 /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume group &amp;quot;VolGroup00&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 2&lt;br /&gt;
 Metadata Sequence No 5&lt;br /&gt;
&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 2&lt;br /&gt;
 Act PV 2&lt;br /&gt;
&lt;br /&gt;
 VG Size 74.44 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 2382&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 1251 / 39.09 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
Nüüd on suurus 74,44GB. Kuna meil on nüüd rohkem ruumi kettajagudegrupis, saame suurendada /var kataloogi. Teeme seda näiteks 20GB võrra. See käib käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lvextend L+20G /dev/VolGroup00/Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Extending logical volume Loogilinevoluum to 34.62 GB&lt;br /&gt;
 Logical volume Loogilinevoluum successfully resized&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks kodukataloog ning kettajagu lahti ühendada, mis seotud /var kataloogiga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
umount /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel saab muuta failisüsteemi suurust käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
resize2fs /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 resize2fs 1.39 (02May2011)&lt;br /&gt;
 Filesystem at /dev/mapper/VolGroup00Loogilinevoluum is mounted on /var; online resizing required&lt;br /&gt;
 Performing an online resize of /dev/mapper/VolGroup00LogVolvar to 9076736 (4k) blocks.&lt;br /&gt;
 The filesystem on /dev/mapper/VolGroup00Loogilinevoluum is now 9076736 blocks long.&lt;br /&gt;
&lt;br /&gt;
Kontrollides käsuga df-hf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
df -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Filesystem Size Used Avail Use% Mounted on&lt;br /&gt;
 /dev/mapper/VolGroup00LogVolfs 19G 2.5G 16G 14% /&lt;br /&gt;
 /dev/sda1 99M 11M 84M 12% /boot&lt;br /&gt;
 tmpfs 300M 0 300M 0% /dev/shm&lt;br /&gt;
 /dev/mapper/VolGroup00Loogilinevoluum 34G 226M 32G 1% /var&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Juhul kui füüsiliselt kettaruumi on kuid partitsioon ei mahuta enam, siis on LVM abil võimalik seda ka suurendada. Selle jaoks on tegelikult olemas ka spetsiaalsed programmid, mis lihtsustavad tunduvalt tegevust. Manuaalselt seda teha on üpriski tülikas. Üks näide sellisest vabavaralisest programmist on näiteks GParted - [http://gparted.sourceforge.net/features.php] . Nietatud programm toetab enamusi kasutuselolevatest failisüsteemidest, kaasaarvatud näiteks ext2, 3, 4, ntfs, FAT16, FAT32.&lt;br /&gt;
&lt;br /&gt;
== Kasutatud kirjandus ==&lt;br /&gt;
&lt;br /&gt;
http://www.gnu.org/software/parted/manual/html_chapter/parted_7.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_volume_management&lt;br /&gt;
&lt;br /&gt;
http://sourceware.org/lvm2/&lt;br /&gt;
&lt;br /&gt;
http://www.unixmultiverse.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=47&amp;amp;Itemid=53&lt;br /&gt;
&lt;br /&gt;
http://www.tldp.org/HOWTO/LVM-HOWTO/&lt;br /&gt;
&lt;br /&gt;
http://vallaste.ee/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33894</id>
		<title>LVM</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33894"/>
		<updated>2011-06-06T10:40:48Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Juhend kettaruumi lisamiseks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
Järgnev artikkel on kettajagude haldustööriistast &#039;&#039;&#039;LVM&#039;&#039;&#039;. Eesmärgiks on tutvustada lugejale vahendi tööpõhimõtteid ning näidata praktilist väärtust. Kuna LVM-i praktiline kasutusala väga suur, siis lisasin wikilehe lõppu lingid, mille abil on võimalik soovikorral tööriista nüanssidest lähemalt ja täpsemalt tutvuda (kasutatud lingid). Juhend on koostatud ühest variandist, kuidas LVM abil kettaruumi suurendada. &lt;br /&gt;
&lt;br /&gt;
Eeldused:&lt;br /&gt;
*Kuna referaat on koostatud aine &amp;quot;Operatsioonisüsteemide sidumine&amp;quot; raames, ning linuxis tunnen ma ennast veel ainult väga põgusalt &amp;quot;kodus.&amp;quot; Eeldan artiklilugejat umbes samas skoobis olevat, st et oskab terminali algtasemel kasutada ning tunneb ka UNIX-le omast kataloogistruktuuri. Juhendis on toodud kõik minu poolt sisestatud käsud ning ka väljundid välja. &lt;br /&gt;
&lt;br /&gt;
*LVM on sisseehitatud enamustele Linuxi distributsioonidele, seetõttu mingid lisavahendeid või rakendusi pole vaja installeerida. Kuid kui mingil põhjusel puudub, on pakk ja täpsemad juhised võimalik soetada siit : [http://sourceware.org/lvm/]&lt;br /&gt;
&lt;br /&gt;
*Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine - varukoopiad!. &lt;br /&gt;
&lt;br /&gt;
*Kui tunned end ebakindlalt, tee algul läbi virtuaalmasinas&lt;br /&gt;
&lt;br /&gt;
*Tuttav võiks olla ka järgnevate teemadega:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kasulik lugemine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[NTFS_vs_Ext4]]&lt;br /&gt;
&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
==Mis on LVM ?==&lt;br /&gt;
&lt;br /&gt;
[[File:lvm&#039;1.jpg|200px|thumb|right|LVM - struktuur]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM&#039;&#039;&#039; (&#039;&#039;Logical Volume Manager&#039;&#039;) on kettajagude haldusvahend Linuxikeskkonnas. &lt;br /&gt;
&lt;br /&gt;
Ta on loodud kihina ketaste ja failisüsteemi vahele ning ettekujutus oleks selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID&lt;br /&gt;
* Füüsilised plokkseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
Lihtsustatult võiks öelda, et ühe LVM moodustab kihi, millega saab hallata korraga mitu (loogilist) kettajagu. Need koosnevad omakorda mitmest füüsilisest salvestusüksusest(kõvaketas, mingi muu kirjutav/lugev ajam).&lt;br /&gt;
&lt;br /&gt;
== LVM1 vs LVM2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM-i on arendatud alates LVM1-st ning seda kuni versioonini 0.19 (2006-11-27), peale seda lõpetati ning hakati arendama teist versiooni, mis nimetati LVM2-ks. LVM2 on tagasiühilduv (&#039;&#039;backwards - compatible&#039;&#039; - st. ühildub vanemate versioonidega) ning kasutab samasugust käsureastruktuuri. Omab muudetud ja täiustatud on jõudlust: &lt;br /&gt;
näiteks nüüd on toetatud klastrid ning väga suur arv kettaid. Kiiremaks on muudetud ja &#039;&#039;recovery&#039;&#039;-protseduurid.&lt;br /&gt;
&lt;br /&gt;
Näited muudatustest:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM1 | LVM2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Ei&#039;&#039;&#039; - &#039;&#039;RHEL AS 2.1&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - &#039;&#039;RHEL 4&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Kiirem metaandmete käsitlemine (seotud taastamisprotsessi kiirusega)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - jagatud köited (&#039;&#039;volume&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Klastrid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Triibutatud köidete laiendatavus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Read-only&#039;&#039; hetktõmmis | &#039;&#039;Read-write&#039;&#039; hetktõmmis&lt;br /&gt;
&lt;br /&gt;
256 | 2(astmes)32 - Max kettajagude arv&lt;br /&gt;
&lt;br /&gt;
2 Tb | 8 Eb (Exabyte) - Max füüsilise ajami maht&lt;br /&gt;
&lt;br /&gt;
== Võimalused ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Muuta olemasoleva failisüsteemi suurust, eeldusel et failisüsteem seda toetab&lt;br /&gt;
* Tekitada kõvakettale partitsioone juurde, neid eemaldada. Sealjuures ei ole kasutusel olevate partitsioonitabelite muutmisel vaja opsüsteemi alglaadida.&lt;br /&gt;
* Hiljem partitsioonide suurusi muuta ilma andmekadudeta.&lt;br /&gt;
* Ühendada kokku väiksemaid füüsilised plokkseadmed üheks suuremaks loogiliseks seadmeks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM on kasutatav lisaks veel paljudeks tegevusteks. Sealhulgas:&lt;br /&gt;
&lt;br /&gt;
* failisüsteemide &#039;&#039;snapshottide&#039;&#039; tegemine ja kasutamine&lt;br /&gt;
* loogiliste ketaste triibutamine sarnaselt RAID-0 -le&lt;br /&gt;
* tervete ketaste või osade peegeldamine sarnaselt RAID-1 -le&lt;br /&gt;
* ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Negatiivsed küljed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Süsteemi taastamine võib osutuda väga keeruliseks.&lt;br /&gt;
*Alglaadimisaeg võib muutuda pikemaks&lt;br /&gt;
*Ajapikku võib probleemiks osutuda loogiliste kettajagude fragmenteeritus, mis muudab I/O jõudlust negatiivselt. See tuleneb sellest, et salvestusseadmed ei eralda vajalikku mahtu järjest.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Juhend kettaruumi lisamiseks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pahatihti on vaja tööjaamale, serverile kettaruumi juurde. Seda on võimalik teha, lisades uue ketta ning ühendades selle näiteks kodukataloogiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Füüsiliste ketaste kohta saad infot:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk -l&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sda: 40.0 GB, 40060403712 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 4870 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sda1 * 1 13 104391 83 Linux&lt;br /&gt;
 /dev/sda2 14 4870 39013852+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
&lt;br /&gt;
Dev/sda peal on OS ning seal on partitsioon juba olemas. Disk /dev/sdb on uus ketas, mida tahame lisada kodukataloogile. &lt;br /&gt;
Disk /dev/sdb peal ei ole veel partitsioonitabelit, kuna sinna ei ole seda kunagi tehtud. Teeme selle:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk /dev/sdb&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 WARNING: DOS-compatible mode is deprecated. It&#039;s strongly recommended to&lt;br /&gt;
         switch off the mode (command &#039;c&#039;) and change display units to&lt;br /&gt;
         sectors (command &#039;u&#039;).&lt;br /&gt;
 Command (m for help):&lt;br /&gt;
&lt;br /&gt;
 Vajutades m, saame käskude nimekirja:&lt;br /&gt;
&lt;br /&gt;
    Command action: m&lt;br /&gt;
   a   toggle a bootable flag&lt;br /&gt;
   b   edit bsd disklabel&lt;br /&gt;
   c   toggle the dos compatibility flag&lt;br /&gt;
   d   delete a partition&lt;br /&gt;
   l   list known partition types&lt;br /&gt;
   m   print this menu&lt;br /&gt;
   n   add a new partition&lt;br /&gt;
   o   create a new empty DOS partition table&lt;br /&gt;
   p   print the partition table&lt;br /&gt;
   q   quit without saving changes&lt;br /&gt;
   s   create a new empty Sun disklabel&lt;br /&gt;
   t   change a partition&#039;s system id&lt;br /&gt;
   u   change display/entry units&lt;br /&gt;
   v   verify the partition table&lt;br /&gt;
   w   write table to disk and exit&lt;br /&gt;
   x   extra functionality (experts only)&lt;br /&gt;
&lt;br /&gt;
Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):&lt;br /&gt;
&lt;br /&gt;
 Command action: n&lt;br /&gt;
 e extended&lt;br /&gt;
 p primary partition (1-4)&lt;br /&gt;
 p&lt;br /&gt;
 Partition number (1-4):&lt;br /&gt;
 1&lt;br /&gt;
 First cylinder (177545,&lt;br /&gt;
 default 1):&lt;br /&gt;
 Using default value 1&lt;br /&gt;
 Last cylinder or +size or +sizeM or +sizeK (177545,default 77545):&lt;br /&gt;
 Using default value 77545&lt;br /&gt;
&lt;br /&gt;
Vajutades p saame kontrollida:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 83 Linux&lt;br /&gt;
&lt;br /&gt;
Partitsiooni ID tuleks vahetada 8e-ks, kuna see on tüüp, mida Linux-LVM toetab.&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): m&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM)&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
Oluline on vajutada w, et muudatused ka kirjutataks kettale:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
 Calling ioctl() to reread&lt;br /&gt;
 partition table.&lt;br /&gt;
 WARNING: If you have created or modified any DOS 6.x&lt;br /&gt;
 partitions, please see the fdisk manual page for additional&lt;br /&gt;
 information.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reboot ei ole vajalik&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleks teha füüsiline kettajagu (märgistada ketas /dev/sdb füüsiliseks jaoks?):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvcreate /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical&lt;br /&gt;
 volume PV&lt;br /&gt;
 Name /dev/sda2&lt;br /&gt;
 VG Name VolGroup00&lt;br /&gt;
 PV Size 37.21 GB / not usable 19.46 MB&lt;br /&gt;
 Allocatable yes&lt;br /&gt;
 PE Size (KByte) 32768&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Free PE 59&lt;br /&gt;
 Allocated PE 1131&lt;br /&gt;
 PV UUID 8iXatK0ULJBdMJeFuxzhfA38AZDB8mBO&lt;br /&gt;
&lt;br /&gt;
 NEW&lt;br /&gt;
 Physical volume PV&lt;br /&gt;
 Name /dev/sdb1&lt;br /&gt;
 VG Name&lt;br /&gt;
 PV Size 37.27 GB&lt;br /&gt;
 Allocatable NO&lt;br /&gt;
 PE Size (KByte) 0&lt;br /&gt;
 Total PE 0&lt;br /&gt;
 Free PE 0&lt;br /&gt;
 Allocated PE 0&lt;br /&gt;
 PV UUID YP01nVuh4jvlpDM5fPNOjOQQ8iSVEzCx&lt;br /&gt;
&lt;br /&gt;
Ketas on märgistatud uue füüsilise kettajaona. Nüüd tuleks see määrata /dev/sdb1 olemasolevasse kettajaogruppi. Gruppe saab näha käsuga vgdisplay:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;source/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 1&lt;br /&gt;
 Metadata Sequence No 4&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 1&lt;br /&gt;
 Act PV 1&lt;br /&gt;
 VG Size 37.19 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 59 / 1.84 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovikorral on võimalik teha uus kettajagudegrupp käsuga &#039;&#039;vgcreate:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgcreate my_new_volume_group /dev/sda1 /dev/sdb1 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meie praeguse grupi suurus on 37,19 GB - seda üritame uue kettaga suurendada. Füüsilise kettajao saame ühendada kettajagudegruppi käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgextend VolGroup00 /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume group &amp;quot;VolGroup00&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 2&lt;br /&gt;
 Metadata Sequence No 5&lt;br /&gt;
&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 2&lt;br /&gt;
 Act PV 2&lt;br /&gt;
&lt;br /&gt;
 VG Size 74.44 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 2382&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 1251 / 39.09 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
Nüüd on suurus 74,44GB. Kuna meil on nüüd rohkem ruumi kettajagudegrupis, saame suurendada /var kataloogi. Teeme seda näiteks 20GB võrra. See käib käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lvextend L+20G /dev/VolGroup00/Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Extending logical volume Loogilinevoluum to 34.62 GB&lt;br /&gt;
 Logical volume Loogilinevoluum successfully resized&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks kodukataloog ning kettajagu lahti ühendada, mis seotud /var kataloogiga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
umount /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel saab muuta failisüsteemi suurust käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
resize2fs /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 resize2fs 1.39 (02May2011)&lt;br /&gt;
 Filesystem at /dev/mapper/VolGroup00Loogilinevoluum is mounted on /var; online resizing required&lt;br /&gt;
 Performing an online resize of /dev/mapper/VolGroup00LogVolvar to 9076736 (4k) blocks.&lt;br /&gt;
 The filesystem on /dev/mapper/VolGroup00Loogilinevoluum is now 9076736 blocks long.&lt;br /&gt;
&lt;br /&gt;
Kontrollides käsuga df-hf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
df -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Filesystem Size Used Avail Use% Mounted on&lt;br /&gt;
 /dev/mapper/VolGroup00LogVolfs 19G 2.5G 16G 14% /&lt;br /&gt;
 /dev/sda1 99M 11M 84M 12% /boot&lt;br /&gt;
 tmpfs 300M 0 300M 0% /dev/shm&lt;br /&gt;
 /dev/mapper/VolGroup00Loogilinevoluum 34G 226M 32G 1% /var&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Juhul kui füüsiliselt kettaruumi on kuid partitsioon ei mahuta enam, siis on LVM abil võimalik seda ka suurendada. Selle jaoks on tegelikult olemas ka spetsiaalsed programmid, mis lihtsustavad tunduvalt tegevust. Manuaalselt seda teha on üpriski tülikas. Üks näide sellisest vabavaralisest programmist on näiteks GParted - [http://gparted.sourceforge.net/features.php] . Nietatud programm toetab enamusi kasutuselolevatest failisüsteemidest, kaasaarvatud näiteks ext2, 3, 4, ntfs, FAT16, FAT32.&lt;br /&gt;
&lt;br /&gt;
== Kasutatud kirjandus ==&lt;br /&gt;
&lt;br /&gt;
http://www.gnu.org/software/parted/manual/html_chapter/parted_7.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_volume_management&lt;br /&gt;
&lt;br /&gt;
http://sourceware.org/lvm2/&lt;br /&gt;
&lt;br /&gt;
http://www.unixmultiverse.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=47&amp;amp;Itemid=53&lt;br /&gt;
&lt;br /&gt;
http://www.tldp.org/HOWTO/LVM-HOWTO/&lt;br /&gt;
&lt;br /&gt;
http://vallaste.ee/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33892</id>
		<title>LVM</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33892"/>
		<updated>2011-06-06T10:39:38Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Juhend kettaruumi lisamiseks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
Järgnev artikkel on kettajagude haldustööriistast &#039;&#039;&#039;LVM&#039;&#039;&#039;. Eesmärgiks on tutvustada lugejale vahendi tööpõhimõtteid ning näidata praktilist väärtust. Kuna LVM-i praktiline kasutusala väga suur, siis lisasin wikilehe lõppu lingid, mille abil on võimalik soovikorral tööriista nüanssidest lähemalt ja täpsemalt tutvuda (kasutatud lingid). Juhend on koostatud ühest variandist, kuidas LVM abil kettaruumi suurendada. &lt;br /&gt;
&lt;br /&gt;
Eeldused:&lt;br /&gt;
*Kuna referaat on koostatud aine &amp;quot;Operatsioonisüsteemide sidumine&amp;quot; raames, ning linuxis tunnen ma ennast veel ainult väga põgusalt &amp;quot;kodus.&amp;quot; Eeldan artiklilugejat umbes samas skoobis olevat, st et oskab terminali algtasemel kasutada ning tunneb ka UNIX-le omast kataloogistruktuuri. Juhendis on toodud kõik minu poolt sisestatud käsud ning ka väljundid välja. &lt;br /&gt;
&lt;br /&gt;
*LVM on sisseehitatud enamustele Linuxi distributsioonidele, seetõttu mingid lisavahendeid või rakendusi pole vaja installeerida. Kuid kui mingil põhjusel puudub, on pakk ja täpsemad juhised võimalik soetada siit : [http://sourceware.org/lvm/]&lt;br /&gt;
&lt;br /&gt;
*Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine - varukoopiad!. &lt;br /&gt;
&lt;br /&gt;
*Kui tunned end ebakindlalt, tee algul läbi virtuaalmasinas&lt;br /&gt;
&lt;br /&gt;
*Tuttav võiks olla ka järgnevate teemadega:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kasulik lugemine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[NTFS_vs_Ext4]]&lt;br /&gt;
&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
==Mis on LVM ?==&lt;br /&gt;
&lt;br /&gt;
[[File:lvm&#039;1.jpg|200px|thumb|right|LVM - struktuur]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM&#039;&#039;&#039; (&#039;&#039;Logical Volume Manager&#039;&#039;) on kettajagude haldusvahend Linuxikeskkonnas. &lt;br /&gt;
&lt;br /&gt;
Ta on loodud kihina ketaste ja failisüsteemi vahele ning ettekujutus oleks selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID&lt;br /&gt;
* Füüsilised plokkseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
Lihtsustatult võiks öelda, et ühe LVM moodustab kihi, millega saab hallata korraga mitu (loogilist) kettajagu. Need koosnevad omakorda mitmest füüsilisest salvestusüksusest(kõvaketas, mingi muu kirjutav/lugev ajam).&lt;br /&gt;
&lt;br /&gt;
== LVM1 vs LVM2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM-i on arendatud alates LVM1-st ning seda kuni versioonini 0.19 (2006-11-27), peale seda lõpetati ning hakati arendama teist versiooni, mis nimetati LVM2-ks. LVM2 on tagasiühilduv (&#039;&#039;backwards - compatible&#039;&#039; - st. ühildub vanemate versioonidega) ning kasutab samasugust käsureastruktuuri. Omab muudetud ja täiustatud on jõudlust: &lt;br /&gt;
näiteks nüüd on toetatud klastrid ning väga suur arv kettaid. Kiiremaks on muudetud ja &#039;&#039;recovery&#039;&#039;-protseduurid.&lt;br /&gt;
&lt;br /&gt;
Näited muudatustest:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM1 | LVM2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Ei&#039;&#039;&#039; - &#039;&#039;RHEL AS 2.1&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - &#039;&#039;RHEL 4&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Kiirem metaandmete käsitlemine (seotud taastamisprotsessi kiirusega)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - jagatud köited (&#039;&#039;volume&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Klastrid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Triibutatud köidete laiendatavus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Read-only&#039;&#039; hetktõmmis | &#039;&#039;Read-write&#039;&#039; hetktõmmis&lt;br /&gt;
&lt;br /&gt;
256 | 2(astmes)32 - Max kettajagude arv&lt;br /&gt;
&lt;br /&gt;
2 Tb | 8 Eb (Exabyte) - Max füüsilise ajami maht&lt;br /&gt;
&lt;br /&gt;
== Võimalused ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Muuta olemasoleva failisüsteemi suurust, eeldusel et failisüsteem seda toetab&lt;br /&gt;
* Tekitada kõvakettale partitsioone juurde, neid eemaldada. Sealjuures ei ole kasutusel olevate partitsioonitabelite muutmisel vaja opsüsteemi alglaadida.&lt;br /&gt;
* Hiljem partitsioonide suurusi muuta ilma andmekadudeta.&lt;br /&gt;
* Ühendada kokku väiksemaid füüsilised plokkseadmed üheks suuremaks loogiliseks seadmeks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM on kasutatav lisaks veel paljudeks tegevusteks. Sealhulgas:&lt;br /&gt;
&lt;br /&gt;
* failisüsteemide &#039;&#039;snapshottide&#039;&#039; tegemine ja kasutamine&lt;br /&gt;
* loogiliste ketaste triibutamine sarnaselt RAID-0 -le&lt;br /&gt;
* tervete ketaste või osade peegeldamine sarnaselt RAID-1 -le&lt;br /&gt;
* ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Negatiivsed küljed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Süsteemi taastamine võib osutuda väga keeruliseks.&lt;br /&gt;
*Alglaadimisaeg võib muutuda pikemaks&lt;br /&gt;
*Ajapikku võib probleemiks osutuda loogiliste kettajagude fragmenteeritus, mis muudab I/O jõudlust negatiivselt. See tuleneb sellest, et salvestusseadmed ei eralda vajalikku mahtu järjest.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Juhend kettaruumi lisamiseks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pahatihti on vaja tööjaamale, serverile kettaruumi juurde. Seda on võimalik teha, lisades uue ketta ning ühendades selle näiteks kodukataloogiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Füüsiliste ketaste kohta saad infot:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk -l&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sda: 40.0 GB, 40060403712 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 4870 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sda1 * 1 13 104391 83 Linux&lt;br /&gt;
 /dev/sda2 14 4870 39013852+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
&lt;br /&gt;
Dev/sda peal on OS ning seal on partitsioon juba olemas. Disk /dev/sdb on uus ketas, mida tahame lisada kodukataloogile. &lt;br /&gt;
Disk /dev/sdb peal ei ole veel partitsioonitabelit, kuna sinna ei ole seda kunagi tehtud. Teeme selle:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk /dev/sdb&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 WARNING: DOS-compatible mode is deprecated. It&#039;s strongly recommended to&lt;br /&gt;
         switch off the mode (command &#039;c&#039;) and change display units to&lt;br /&gt;
         sectors (command &#039;u&#039;).&lt;br /&gt;
 Command (m for help):&lt;br /&gt;
&lt;br /&gt;
 Vajutades m, saame käskude nimekirja:&lt;br /&gt;
&lt;br /&gt;
    Command action: m&lt;br /&gt;
   a   toggle a bootable flag&lt;br /&gt;
   b   edit bsd disklabel&lt;br /&gt;
   c   toggle the dos compatibility flag&lt;br /&gt;
   d   delete a partition&lt;br /&gt;
   l   list known partition types&lt;br /&gt;
   m   print this menu&lt;br /&gt;
   n   add a new partition&lt;br /&gt;
   o   create a new empty DOS partition table&lt;br /&gt;
   p   print the partition table&lt;br /&gt;
   q   quit without saving changes&lt;br /&gt;
   s   create a new empty Sun disklabel&lt;br /&gt;
   t   change a partition&#039;s system id&lt;br /&gt;
   u   change display/entry units&lt;br /&gt;
   v   verify the partition table&lt;br /&gt;
   w   write table to disk and exit&lt;br /&gt;
   x   extra functionality (experts only)&lt;br /&gt;
&lt;br /&gt;
Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):&lt;br /&gt;
&lt;br /&gt;
 Command action: n&lt;br /&gt;
 e extended&lt;br /&gt;
 p primary partition (1-4)&lt;br /&gt;
 p&lt;br /&gt;
 Partition number (1-4):&lt;br /&gt;
 1&lt;br /&gt;
 First cylinder (177545,&lt;br /&gt;
 default 1):&lt;br /&gt;
 Using default value 1&lt;br /&gt;
 Last cylinder or +size or +sizeM or +sizeK (177545,default 77545):&lt;br /&gt;
 Using default value 77545&lt;br /&gt;
&lt;br /&gt;
Vajutades p saame kontrollida:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 83 Linux&lt;br /&gt;
&lt;br /&gt;
Partitsiooni ID tuleks vahetada 8e-ks, kuna see on tüüp, mida Linux-LVM toetab.&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): m&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM)&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
Oluline on vajutada w, et muudatused ka kirjutataks kettale:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
 Calling ioctl() to reread&lt;br /&gt;
 partition table.&lt;br /&gt;
 WARNING: If you have created or modified any DOS 6.x&lt;br /&gt;
 partitions, please see the fdisk manual page for additional&lt;br /&gt;
 information.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reboot ei ole vajalik&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleks teha füüsiline kettajagu (märgistada ketas /dev/sdb füüsiliseks jaoks?):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvcreate /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical&lt;br /&gt;
 volume PV&lt;br /&gt;
 Name /dev/sda2&lt;br /&gt;
 VG Name VolGroup00&lt;br /&gt;
 PV Size 37.21 GB / not usable 19.46 MB&lt;br /&gt;
 Allocatable yes&lt;br /&gt;
 PE Size (KByte) 32768&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Free PE 59&lt;br /&gt;
 Allocated PE 1131&lt;br /&gt;
 PV UUID 8iXatK0ULJBdMJeFuxzhfA38AZDB8mBO&lt;br /&gt;
&lt;br /&gt;
 NEW&lt;br /&gt;
 Physical volume PV&lt;br /&gt;
 Name /dev/sdb1&lt;br /&gt;
 VG Name&lt;br /&gt;
 PV Size 37.27 GB&lt;br /&gt;
 Allocatable NO&lt;br /&gt;
 PE Size (KByte) 0&lt;br /&gt;
 Total PE 0&lt;br /&gt;
 Free PE 0&lt;br /&gt;
 Allocated PE 0&lt;br /&gt;
 PV UUID YP01nVuh4jvlpDM5fPNOjOQQ8iSVEzCx&lt;br /&gt;
&lt;br /&gt;
Ketas on märgistatud uue füüsilise kettajaona. Nüüd tuleks see määrata /dev/sdb1 olemasolevasse kettajaogruppi. Gruppe saab näha käsuga vgdisplay:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;source/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 1&lt;br /&gt;
 Metadata Sequence No 4&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 1&lt;br /&gt;
 Act PV 1&lt;br /&gt;
 VG Size 37.19 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 59 / 1.84 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovikorral on võimalik teha uus kettajagudegrupp käsuga &#039;&#039;vgcreate:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgcreate my_new_volume_group /dev/sda1 /dev/sdb1 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meie praeguse grupi suurus on 37,19 GB - seda üritame uue kettaga suurendada. Füüsilise kettajao saame ühendada kettajagudegruppi käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgextend VolGroup00 /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume group &amp;quot;VolGroup00&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 2&lt;br /&gt;
 Metadata Sequence No 5&lt;br /&gt;
&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 2&lt;br /&gt;
 Act PV 2&lt;br /&gt;
&lt;br /&gt;
 VG Size 74.44 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 2382&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 1251 / 39.09 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
Nüüd on suurus 74,44GB. Kuna meil on nüüd rohkem ruumi kettajagudegrupis, saame suurendada /var kataloogi. Teeme seda näiteks 20GB võrra. See käib käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lvextend L+20G /dev/VolGroup00/Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Extending logical volume Loogilinevoluum to 34.62 GB&lt;br /&gt;
 Logical volume Loogilinevoluum successfully resized&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks kodukataloog ning kettajagu lahti ühendada, mis seotud /var kataloogiga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
umount /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel saab muuta failisüsteemi suurust käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
resize2fs /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 resize2fs 1.39 (02May2011)&lt;br /&gt;
 Filesystem at /dev/mapper/VolGroup00Loogilinevoluum is mounted on /var; online resizing required&lt;br /&gt;
 Performing an online resize of /dev/mapper/VolGroup00LogVolvar to 9076736 (4k) blocks.&lt;br /&gt;
 The filesystem on /dev/mapper/VolGroup00Loogilinevoluum is now 9076736 blocks long.&lt;br /&gt;
&lt;br /&gt;
Kontrollides käsuga df-hf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
df -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Filesystem Size Used Avail Use% Mounted on&lt;br /&gt;
 /dev/mapper/VolGroup00LogVolfs 19G 2.5G 16G 14% /&lt;br /&gt;
 /dev/sda1 99M 11M 84M 12% /boot&lt;br /&gt;
 tmpfs 300M 0 300M 0% /dev/shm&lt;br /&gt;
 /dev/mapper/VolGroup00Loogilinevoluum 34G 226M 32G 1% /var&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Juhul kui füüsiliselt kettaruumi on kuid partitsioon ei mahuta enam, siis on LVM abil võimalik seda ka suurendada. Selle jaoks on tegelikult olemas ka spetsiaalsed programmid, mis lihtsustavad tunduvalt tegevust. Manuaalselt seda teha on üpriski tülikas. Üks näide sellisest vabavaralisest programmist on näiteks GParted - [http://gparted.sourceforge.net/features.php] . Nietatud programm toetab enamusi kasutuselolevatest failisüsteemidest, kaasaarvatud näiteks ext2, 3, 4, ntfs, FAT16, FAT32.&lt;br /&gt;
&lt;br /&gt;
== Kasutatud kirjandus ==&lt;br /&gt;
&lt;br /&gt;
http://www.gnu.org/software/parted/manual/html_chapter/parted_7.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_volume_management&lt;br /&gt;
&lt;br /&gt;
http://sourceware.org/lvm2/&lt;br /&gt;
&lt;br /&gt;
http://www.unixmultiverse.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=47&amp;amp;Itemid=53&lt;br /&gt;
&lt;br /&gt;
http://www.tldp.org/HOWTO/LVM-HOWTO/&lt;br /&gt;
&lt;br /&gt;
http://vallaste.ee/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33886</id>
		<title>LVM</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33886"/>
		<updated>2011-06-06T10:32:02Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Juhend kettaruumi lisamiseks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
Järgnev artikkel on kettajagude haldustööriistast &#039;&#039;&#039;LVM&#039;&#039;&#039;. Eesmärgiks on tutvustada lugejale vahendi tööpõhimõtteid ning näidata praktilist väärtust. Kuna LVM-i praktiline kasutusala väga suur, siis lisasin wikilehe lõppu lingid, mille abil on võimalik soovikorral tööriista nüanssidest lähemalt ja täpsemalt tutvuda (kasutatud lingid). Juhend on koostatud ühest variandist, kuidas LVM abil kettaruumi suurendada. &lt;br /&gt;
&lt;br /&gt;
Eeldused:&lt;br /&gt;
*Kuna referaat on koostatud aine &amp;quot;Operatsioonisüsteemide sidumine&amp;quot; raames, ning linuxis tunnen ma ennast veel ainult väga põgusalt &amp;quot;kodus.&amp;quot; Eeldan artiklilugejat umbes samas skoobis olevat, st et oskab terminali algtasemel kasutada ning tunneb ka UNIX-le omast kataloogistruktuuri. Juhendis on toodud kõik minu poolt sisestatud käsud ning ka väljundid välja. &lt;br /&gt;
&lt;br /&gt;
*LVM on sisseehitatud enamustele Linuxi distributsioonidele, seetõttu mingid lisavahendeid või rakendusi pole vaja installeerida. Kuid kui mingil põhjusel puudub, on pakk ja täpsemad juhised võimalik soetada siit : [http://sourceware.org/lvm/]&lt;br /&gt;
&lt;br /&gt;
*Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine - varukoopiad!. &lt;br /&gt;
&lt;br /&gt;
*Kui tunned end ebakindlalt, tee algul läbi virtuaalmasinas&lt;br /&gt;
&lt;br /&gt;
*Tuttav võiks olla ka järgnevate teemadega:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kasulik lugemine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[NTFS_vs_Ext4]]&lt;br /&gt;
&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
==Mis on LVM ?==&lt;br /&gt;
&lt;br /&gt;
[[File:lvm&#039;1.jpg|200px|thumb|right|LVM - struktuur]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM&#039;&#039;&#039; (&#039;&#039;Logical Volume Manager&#039;&#039;) on kettajagude haldusvahend Linuxikeskkonnas. &lt;br /&gt;
&lt;br /&gt;
Ta on loodud kihina ketaste ja failisüsteemi vahele ning ettekujutus oleks selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID&lt;br /&gt;
* Füüsilised plokkseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
Lihtsustatult võiks öelda, et ühe LVM moodustab kihi, millega saab hallata korraga mitu (loogilist) kettajagu. Need koosnevad omakorda mitmest füüsilisest salvestusüksusest(kõvaketas, mingi muu kirjutav/lugev ajam).&lt;br /&gt;
&lt;br /&gt;
== LVM1 vs LVM2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM-i on arendatud alates LVM1-st ning seda kuni versioonini 0.19 (2006-11-27), peale seda lõpetati ning hakati arendama teist versiooni, mis nimetati LVM2-ks. LVM2 on tagasiühilduv (&#039;&#039;backwards - compatible&#039;&#039; - st. ühildub vanemate versioonidega) ning kasutab samasugust käsureastruktuuri. Omab muudetud ja täiustatud on jõudlust: &lt;br /&gt;
näiteks nüüd on toetatud klastrid ning väga suur arv kettaid. Kiiremaks on muudetud ja &#039;&#039;recovery&#039;&#039;-protseduurid.&lt;br /&gt;
&lt;br /&gt;
Näited muudatustest:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM1 | LVM2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Ei&#039;&#039;&#039; - &#039;&#039;RHEL AS 2.1&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - &#039;&#039;RHEL 4&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Kiirem metaandmete käsitlemine (seotud taastamisprotsessi kiirusega)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - jagatud köited (&#039;&#039;volume&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Klastrid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Triibutatud köidete laiendatavus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Read-only&#039;&#039; hetktõmmis | &#039;&#039;Read-write&#039;&#039; hetktõmmis&lt;br /&gt;
&lt;br /&gt;
256 | 2(astmes)32 - Max kettajagude arv&lt;br /&gt;
&lt;br /&gt;
2 Tb | 8 Eb (Exabyte) - Max füüsilise ajami maht&lt;br /&gt;
&lt;br /&gt;
== Võimalused ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Muuta olemasoleva failisüsteemi suurust, eeldusel et failisüsteem seda toetab&lt;br /&gt;
* Tekitada kõvakettale partitsioone juurde, neid eemaldada. Sealjuures ei ole kasutusel olevate partitsioonitabelite muutmisel vaja opsüsteemi alglaadida.&lt;br /&gt;
* Hiljem partitsioonide suurusi muuta ilma andmekadudeta.&lt;br /&gt;
* Ühendada kokku väiksemaid füüsilised plokkseadmed üheks suuremaks loogiliseks seadmeks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM on kasutatav lisaks veel paljudeks tegevusteks. Sealhulgas:&lt;br /&gt;
&lt;br /&gt;
* failisüsteemide &#039;&#039;snapshottide&#039;&#039; tegemine ja kasutamine&lt;br /&gt;
* loogiliste ketaste triibutamine sarnaselt RAID-0 -le&lt;br /&gt;
* tervete ketaste või osade peegeldamine sarnaselt RAID-1 -le&lt;br /&gt;
* ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Negatiivsed küljed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Süsteemi taastamine võib osutuda väga keeruliseks.&lt;br /&gt;
*Alglaadimisaeg võib muutuda pikemaks&lt;br /&gt;
*Ajapikku võib probleemiks osutuda loogiliste kettajagude fragmenteeritus, mis muudab I/O jõudlust negatiivselt. See tuleneb sellest, et salvestusseadmed ei eralda vajalikku mahtu järjest.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Juhend kettaruumi lisamiseks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pahatihti on vaja tööjaamale, serverile kettaruumi juurde. Seda on võimalik teha, lisades uue ketta ning ühendades selle näiteks kodukataloogiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Füüsiliste ketaste kohta saad infot:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk -l&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sda: 40.0 GB, 40060403712 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 4870 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sda1 * 1 13 104391 83 Linux&lt;br /&gt;
 /dev/sda2 14 4870 39013852+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
&lt;br /&gt;
Dev/sda peal on OS ning seal on partitsioon juba olemas. Disk /dev/sdb on uus ketas, mida tahame lisada kodukataloogile. &lt;br /&gt;
Disk /dev/sdb peal ei ole veel partitsioonitabelit, kuna sinna ei ole seda kunagi tehtud. Teeme selle:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk /dev/sdb&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 WARNING: DOS-compatible mode is deprecated. It&#039;s strongly recommended to&lt;br /&gt;
         switch off the mode (command &#039;c&#039;) and change display units to&lt;br /&gt;
         sectors (command &#039;u&#039;).&lt;br /&gt;
 Command (m for help):&lt;br /&gt;
&lt;br /&gt;
 Vajutades m, saame käskude nimekirja:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Command action: m&lt;br /&gt;
   a   toggle a bootable flag&lt;br /&gt;
   b   edit bsd disklabel&lt;br /&gt;
   c   toggle the dos compatibility flag&lt;br /&gt;
   d   delete a partition&lt;br /&gt;
   l   list known partition types&lt;br /&gt;
   m   print this menu&lt;br /&gt;
   n   add a new partition&lt;br /&gt;
   o   create a new empty DOS partition table&lt;br /&gt;
   p   print the partition table&lt;br /&gt;
   q   quit without saving changes&lt;br /&gt;
   s   create a new empty Sun disklabel&lt;br /&gt;
   t   change a partition&#039;s system id&lt;br /&gt;
   u   change display/entry units&lt;br /&gt;
   v   verify the partition table&lt;br /&gt;
   w   write table to disk and exit&lt;br /&gt;
   x   extra functionality (experts only)&lt;br /&gt;
&lt;br /&gt;
Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Command action: n&lt;br /&gt;
 e extended&lt;br /&gt;
 p primary partition (1-4)&lt;br /&gt;
 p&lt;br /&gt;
 Partition number (1-4):&lt;br /&gt;
 1&lt;br /&gt;
 First cylinder (177545,&lt;br /&gt;
 default 1):&lt;br /&gt;
 Using default value 1&lt;br /&gt;
 Last cylinder or +size or +sizeM or +sizeK (177545,default 77545):&lt;br /&gt;
 Using default value 77545&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vajutades p saame kontrollida:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 83 Linux&lt;br /&gt;
&lt;br /&gt;
Partitsiooni ID tuleks vahetada 8e-ks, kuna see on tüüp, mida Linux-LVM toetab.&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): m&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM)&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
Oluline on vajutada w, et muudatused ka kirjutataks kettale:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
 Calling ioctl() to reread&lt;br /&gt;
 partition table.&lt;br /&gt;
 WARNING: If you have created or modified any DOS 6.x&lt;br /&gt;
 partitions, please see the fdisk manual page for additional&lt;br /&gt;
 information.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Reboot ei ole vajalik&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleks teha füüsiline kettajagu (märgistada ketas /dev/sdb füüsiliseks jaoks?):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvcreate /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab käsuga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Physical&lt;br /&gt;
 volume PV&lt;br /&gt;
 Name /dev/sda2&lt;br /&gt;
 VG Name VolGroup00&lt;br /&gt;
 PV Size 37.21 GB / not usable 19.46 MB&lt;br /&gt;
 Allocatable yes&lt;br /&gt;
 PE Size (KByte) 32768&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Free PE 59&lt;br /&gt;
 Allocated PE 1131&lt;br /&gt;
 PV UUID 8iXatK0ULJBdMJeFuxzhfA38AZDB8mBO&lt;br /&gt;
&lt;br /&gt;
 NEW&lt;br /&gt;
 Physical volume PV&lt;br /&gt;
 Name /dev/sdb1&lt;br /&gt;
 VG Name&lt;br /&gt;
 PV Size 37.27 GB&lt;br /&gt;
 Allocatable NO&lt;br /&gt;
 PE Size (KByte) 0&lt;br /&gt;
 Total PE 0&lt;br /&gt;
 Free PE 0&lt;br /&gt;
 Allocated PE 0&lt;br /&gt;
 PV UUID YP01nVuh4jvlpDM5fPNOjOQQ8iSVEzCx&lt;br /&gt;
&lt;br /&gt;
Ketas on märgistatud uue füüsilise kettajaona. Nüüd tuleks see määrata /dev/sdb1 olemasolevasse kettajaogruppi. Gruppe saab näha käsuga vgdisplay:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;source/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 1&lt;br /&gt;
 Metadata Sequence No 4&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 1&lt;br /&gt;
 Act PV 1&lt;br /&gt;
 VG Size 37.19 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 59 / 1.84 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovikorral on võimalik teha uus kettajagudegrupp käsuga &#039;&#039;vgcreate:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgcreate my_new_volume_group /dev/sda1 /dev/sdb1 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meie praeguse grupi suurus on 37,19 GB - seda üritame uue kettaga suurendada. Füüsilise kettajao saame ühendada kettajagudegruppi käsuga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgextend VolGroup00 /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Volume group &amp;quot;VolGroup00&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 2&lt;br /&gt;
 Metadata Sequence No 5&lt;br /&gt;
&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 2&lt;br /&gt;
 Act PV 2&lt;br /&gt;
&lt;br /&gt;
 VG Size 74.44 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 2382&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 1251 / 39.09 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
Nüüd on suurus 74,44GB. Kuna meil on nüüd rohkem ruumi kettajagudegrupis, saame suurendada /var kataloogi. Teeme seda näiteks 20GB võrra. See käib käsuga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lvextend L+20G /dev/VolGroup00/Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Extending logical volume Loogilinevoluum to 34.62 GB&lt;br /&gt;
 Logical volume Loogilinevoluum successfully resized&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks kodukataloog ning kettajagu lahti ühendada, mis seotud /var kataloogiga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
umount /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Seejärel saab muuta failisüsteemi suurust käsuga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
resize2fs /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 resize2fs 1.39 (02May2011)&lt;br /&gt;
 Filesystem at /dev/mapper/VolGroup00Loogilinevoluum is mounted on /var; online resizing required&lt;br /&gt;
 Performing an online resize of /dev/mapper/VolGroup00LogVolvar to 9076736 (4k) blocks.&lt;br /&gt;
 The filesystem on /dev/mapper/VolGroup00Loogilinevoluum is now 9076736 blocks long.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollides käsuga df-hf:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
df -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Filesystem Size Used Avail Use% Mounted on&lt;br /&gt;
 /dev/mapper/VolGroup00LogVolfs 19G 2.5G 16G 14% /&lt;br /&gt;
 /dev/sda1 99M 11M 84M 12% /boot&lt;br /&gt;
 tmpfs 300M 0 300M 0% /dev/shm&lt;br /&gt;
 /dev/mapper/VolGroup00Loogilinevoluum 34G 226M 32G 1% /var&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Juhul kui füüsiliselt kettaruumi on kuid partitsioon ei mahuta enam, siis on LVM abil võimalik seda ka suurendada. Selle jaoks on tegelikult olemas ka spetsiaalsed programmid, mis lihtsustavad tunduvalt tegevust. Manuaalselt seda teha on üpriski tülikas. Üks näide sellisest vabavaralisest programmist on näiteks GParted - [http://gparted.sourceforge.net/features.php] . Nietatud programm toetab enamusi kasutuselolevatest failisüsteemidest, kaasaarvatud näiteks ext2, 3, 4, ntfs, FAT16, FAT32.&lt;br /&gt;
&lt;br /&gt;
== Kasutatud kirjandus ==&lt;br /&gt;
&lt;br /&gt;
http://www.gnu.org/software/parted/manual/html_chapter/parted_7.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_volume_management&lt;br /&gt;
&lt;br /&gt;
http://sourceware.org/lvm2/&lt;br /&gt;
&lt;br /&gt;
http://www.unixmultiverse.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=47&amp;amp;Itemid=53&lt;br /&gt;
&lt;br /&gt;
http://www.tldp.org/HOWTO/LVM-HOWTO/&lt;br /&gt;
&lt;br /&gt;
http://vallaste.ee/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33883</id>
		<title>LVM</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33883"/>
		<updated>2011-06-06T10:31:05Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Juhend kettaruumi lisamiseks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
Järgnev artikkel on kettajagude haldustööriistast &#039;&#039;&#039;LVM&#039;&#039;&#039;. Eesmärgiks on tutvustada lugejale vahendi tööpõhimõtteid ning näidata praktilist väärtust. Kuna LVM-i praktiline kasutusala väga suur, siis lisasin wikilehe lõppu lingid, mille abil on võimalik soovikorral tööriista nüanssidest lähemalt ja täpsemalt tutvuda (kasutatud lingid). Juhend on koostatud ühest variandist, kuidas LVM abil kettaruumi suurendada. &lt;br /&gt;
&lt;br /&gt;
Eeldused:&lt;br /&gt;
*Kuna referaat on koostatud aine &amp;quot;Operatsioonisüsteemide sidumine&amp;quot; raames, ning linuxis tunnen ma ennast veel ainult väga põgusalt &amp;quot;kodus.&amp;quot; Eeldan artiklilugejat umbes samas skoobis olevat, st et oskab terminali algtasemel kasutada ning tunneb ka UNIX-le omast kataloogistruktuuri. Juhendis on toodud kõik minu poolt sisestatud käsud ning ka väljundid välja. &lt;br /&gt;
&lt;br /&gt;
*LVM on sisseehitatud enamustele Linuxi distributsioonidele, seetõttu mingid lisavahendeid või rakendusi pole vaja installeerida. Kuid kui mingil põhjusel puudub, on pakk ja täpsemad juhised võimalik soetada siit : [http://sourceware.org/lvm/]&lt;br /&gt;
&lt;br /&gt;
*Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine - varukoopiad!. &lt;br /&gt;
&lt;br /&gt;
*Kui tunned end ebakindlalt, tee algul läbi virtuaalmasinas&lt;br /&gt;
&lt;br /&gt;
*Tuttav võiks olla ka järgnevate teemadega:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kasulik lugemine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[NTFS_vs_Ext4]]&lt;br /&gt;
&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
==Mis on LVM ?==&lt;br /&gt;
&lt;br /&gt;
[[File:lvm&#039;1.jpg|200px|thumb|right|LVM - struktuur]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM&#039;&#039;&#039; (&#039;&#039;Logical Volume Manager&#039;&#039;) on kettajagude haldusvahend Linuxikeskkonnas. &lt;br /&gt;
&lt;br /&gt;
Ta on loodud kihina ketaste ja failisüsteemi vahele ning ettekujutus oleks selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID&lt;br /&gt;
* Füüsilised plokkseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
Lihtsustatult võiks öelda, et ühe LVM moodustab kihi, millega saab hallata korraga mitu (loogilist) kettajagu. Need koosnevad omakorda mitmest füüsilisest salvestusüksusest(kõvaketas, mingi muu kirjutav/lugev ajam).&lt;br /&gt;
&lt;br /&gt;
== LVM1 vs LVM2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM-i on arendatud alates LVM1-st ning seda kuni versioonini 0.19 (2006-11-27), peale seda lõpetati ning hakati arendama teist versiooni, mis nimetati LVM2-ks. LVM2 on tagasiühilduv (&#039;&#039;backwards - compatible&#039;&#039; - st. ühildub vanemate versioonidega) ning kasutab samasugust käsureastruktuuri. Omab muudetud ja täiustatud on jõudlust: &lt;br /&gt;
näiteks nüüd on toetatud klastrid ning väga suur arv kettaid. Kiiremaks on muudetud ja &#039;&#039;recovery&#039;&#039;-protseduurid.&lt;br /&gt;
&lt;br /&gt;
Näited muudatustest:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM1 | LVM2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Ei&#039;&#039;&#039; - &#039;&#039;RHEL AS 2.1&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - &#039;&#039;RHEL 4&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Kiirem metaandmete käsitlemine (seotud taastamisprotsessi kiirusega)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - jagatud köited (&#039;&#039;volume&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Klastrid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Triibutatud köidete laiendatavus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Read-only&#039;&#039; hetktõmmis | &#039;&#039;Read-write&#039;&#039; hetktõmmis&lt;br /&gt;
&lt;br /&gt;
256 | 2(astmes)32 - Max kettajagude arv&lt;br /&gt;
&lt;br /&gt;
2 Tb | 8 Eb (Exabyte) - Max füüsilise ajami maht&lt;br /&gt;
&lt;br /&gt;
== Võimalused ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Muuta olemasoleva failisüsteemi suurust, eeldusel et failisüsteem seda toetab&lt;br /&gt;
* Tekitada kõvakettale partitsioone juurde, neid eemaldada. Sealjuures ei ole kasutusel olevate partitsioonitabelite muutmisel vaja opsüsteemi alglaadida.&lt;br /&gt;
* Hiljem partitsioonide suurusi muuta ilma andmekadudeta.&lt;br /&gt;
* Ühendada kokku väiksemaid füüsilised plokkseadmed üheks suuremaks loogiliseks seadmeks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM on kasutatav lisaks veel paljudeks tegevusteks. Sealhulgas:&lt;br /&gt;
&lt;br /&gt;
* failisüsteemide &#039;&#039;snapshottide&#039;&#039; tegemine ja kasutamine&lt;br /&gt;
* loogiliste ketaste triibutamine sarnaselt RAID-0 -le&lt;br /&gt;
* tervete ketaste või osade peegeldamine sarnaselt RAID-1 -le&lt;br /&gt;
* ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Negatiivsed küljed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Süsteemi taastamine võib osutuda väga keeruliseks.&lt;br /&gt;
*Alglaadimisaeg võib muutuda pikemaks&lt;br /&gt;
*Ajapikku võib probleemiks osutuda loogiliste kettajagude fragmenteeritus, mis muudab I/O jõudlust negatiivselt. See tuleneb sellest, et salvestusseadmed ei eralda vajalikku mahtu järjest.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Juhend kettaruumi lisamiseks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pahatihti on vaja tööjaamale, serverile kettaruumi juurde. Seda on võimalik teha, lisades uue ketta ning ühendades selle näiteks kodukataloogiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Füüsiliste ketaste kohta saad infot:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk -l&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sda: 40.0 GB, 40060403712 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 4870 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sda1 * 1 13 104391 83 Linux&lt;br /&gt;
 /dev/sda2 14 4870 39013852+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
&lt;br /&gt;
Dev/sda peal on OS ning seal on partitsioon juba olemas. Disk /dev/sdb on uus ketas, mida tahame lisada kodukataloogile. &lt;br /&gt;
Disk /dev/sdb peal ei ole veel partitsioonitabelit, kuna sinna ei ole seda kunagi tehtud. Teeme selle:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk /dev/sdb&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 WARNING: DOS-compatible mode is deprecated. It&#039;s strongly recommended to&lt;br /&gt;
         switch off the mode (command &#039;c&#039;) and change display units to&lt;br /&gt;
         sectors (command &#039;u&#039;).&lt;br /&gt;
 Command (m for help):&lt;br /&gt;
&lt;br /&gt;
 Vajutades m, saame käskude nimekirja:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Command action: m&lt;br /&gt;
   a   toggle a bootable flag&lt;br /&gt;
   b   edit bsd disklabel&lt;br /&gt;
   c   toggle the dos compatibility flag&lt;br /&gt;
   d   delete a partition&lt;br /&gt;
   l   list known partition types&lt;br /&gt;
   m   print this menu&lt;br /&gt;
   n   add a new partition&lt;br /&gt;
   o   create a new empty DOS partition table&lt;br /&gt;
   p   print the partition table&lt;br /&gt;
   q   quit without saving changes&lt;br /&gt;
   s   create a new empty Sun disklabel&lt;br /&gt;
   t   change a partition&#039;s system id&lt;br /&gt;
   u   change display/entry units&lt;br /&gt;
   v   verify the partition table&lt;br /&gt;
   w   write table to disk and exit&lt;br /&gt;
   x   extra functionality (experts only)&lt;br /&gt;
&lt;br /&gt;
Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Command action: n&lt;br /&gt;
 e extended&lt;br /&gt;
 p primary partition (1-4)&lt;br /&gt;
 p&lt;br /&gt;
 Partition number (1-4):&lt;br /&gt;
 1&lt;br /&gt;
 First cylinder (177545,&lt;br /&gt;
 default 1):&lt;br /&gt;
 Using default value 1&lt;br /&gt;
 Last cylinder or +size or +sizeM or +sizeK (177545,default 77545):&lt;br /&gt;
 Using default value 77545&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vajutades p saame kontrollida:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 83 Linux&lt;br /&gt;
&lt;br /&gt;
Partitsiooni ID tuleks vahetada 8e-ks, kuna see on tüüp, mida Linux-LVM toetab.&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): m&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM)&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
Oluline on vajutada w, et muudatused ka kirjutataks kettale:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
 Calling ioctl() to reread&lt;br /&gt;
 partition table.&lt;br /&gt;
 WARNING: If you have created or modified any DOS 6.x&lt;br /&gt;
 partitions, please see the fdisk manual page for additional&lt;br /&gt;
 information.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reboot ei ole vajalik&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleks teha füüsiline kettajagu (märgistada ketas /dev/sdb füüsiliseks jaoks?):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvcreate /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Physical&lt;br /&gt;
 volume PV&lt;br /&gt;
 Name /dev/sda2&lt;br /&gt;
 VG Name VolGroup00&lt;br /&gt;
 PV Size 37.21 GB / not usable 19.46 MB&lt;br /&gt;
 Allocatable yes&lt;br /&gt;
 PE Size (KByte) 32768&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Free PE 59&lt;br /&gt;
 Allocated PE 1131&lt;br /&gt;
 PV UUID 8iXatK0ULJBdMJeFuxzhfA38AZDB8mBO&lt;br /&gt;
&lt;br /&gt;
 NEW&lt;br /&gt;
 Physical volume PV&lt;br /&gt;
 Name /dev/sdb1&lt;br /&gt;
 VG Name&lt;br /&gt;
 PV Size 37.27 GB&lt;br /&gt;
 Allocatable NO&lt;br /&gt;
 PE Size (KByte) 0&lt;br /&gt;
 Total PE 0&lt;br /&gt;
 Free PE 0&lt;br /&gt;
 Allocated PE 0&lt;br /&gt;
 PV UUID YP01nVuh4jvlpDM5fPNOjOQQ8iSVEzCx&lt;br /&gt;
&lt;br /&gt;
Ketas on märgistatud uue füüsilise kettajaona. Nüüd tuleks see määrata /dev/sdb1 olemasolevasse kettajaogruppi. Gruppe saab näha käsuga vgdisplay:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;source/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 1&lt;br /&gt;
 Metadata Sequence No 4&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 1&lt;br /&gt;
 Act PV 1&lt;br /&gt;
 VG Size 37.19 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 59 / 1.84 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovikorral on võimalik teha uus kettajagudegrupp käsuga &#039;&#039;vgcreate:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgcreate my_new_volume_group /dev/sda1 /dev/sdb1 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meie praeguse grupi suurus on 37,19 GB - seda üritame uue kettaga suurendada. Füüsilise kettajao saame ühendada kettajagudegruppi käsuga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgextend VolGroup00 /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Volume group &amp;quot;VolGroup00&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 2&lt;br /&gt;
 Metadata Sequence No 5&lt;br /&gt;
&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 2&lt;br /&gt;
 Act PV 2&lt;br /&gt;
&lt;br /&gt;
 VG Size 74.44 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 2382&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 1251 / 39.09 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
Nüüd on suurus 74,44GB. Kuna meil on nüüd rohkem ruumi kettajagudegrupis, saame suurendada /var kataloogi. Teeme seda näiteks 20GB võrra. See käib käsuga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lvextend L+20G /dev/VolGroup00/Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Extending logical volume Loogilinevoluum to 34.62 GB&lt;br /&gt;
 Logical volume Loogilinevoluum successfully resized&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks kodukataloog ning kettajagu lahti ühendada, mis seotud /var kataloogiga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
umount /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Seejärel saab muuta failisüsteemi suurust käsuga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
resize2fs /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 resize2fs 1.39 (02May2011)&lt;br /&gt;
 Filesystem at /dev/mapper/VolGroup00Loogilinevoluum is mounted on /var; online resizing required&lt;br /&gt;
 Performing an online resize of /dev/mapper/VolGroup00LogVolvar to 9076736 (4k) blocks.&lt;br /&gt;
 The filesystem on /dev/mapper/VolGroup00Loogilinevoluum is now 9076736 blocks long.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollides käsuga df-hf:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
df -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Filesystem Size Used Avail Use% Mounted on&lt;br /&gt;
 /dev/mapper/VolGroup00LogVolfs 19G 2.5G 16G 14% /&lt;br /&gt;
 /dev/sda1 99M 11M 84M 12% /boot&lt;br /&gt;
 tmpfs 300M 0 300M 0% /dev/shm&lt;br /&gt;
 /dev/mapper/VolGroup00Loogilinevoluum 34G 226M 32G 1% /var&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Juhul kui füüsiliselt kettaruumi on kuid partitsioon ei mahuta enam, siis on LVM abil võimalik seda ka suurendada. Selle jaoks on tegelikult olemas ka spetsiaalsed programmid, mis lihtsustavad tunduvalt tegevust. Manuaalselt seda teha on üpriski tülikas. Üks näide sellisest vabavaralisest programmist on näiteks GParted - [http://gparted.sourceforge.net/features.php] . Nietatud programm toetab enamusi kasutuselolevatest failisüsteemidest, kaasaarvatud näiteks ext2, 3, 4, ntfs, FAT16, FAT32.&lt;br /&gt;
&lt;br /&gt;
== Kasutatud kirjandus ==&lt;br /&gt;
&lt;br /&gt;
http://www.gnu.org/software/parted/manual/html_chapter/parted_7.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_volume_management&lt;br /&gt;
&lt;br /&gt;
http://sourceware.org/lvm2/&lt;br /&gt;
&lt;br /&gt;
http://www.unixmultiverse.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=47&amp;amp;Itemid=53&lt;br /&gt;
&lt;br /&gt;
http://www.tldp.org/HOWTO/LVM-HOWTO/&lt;br /&gt;
&lt;br /&gt;
http://vallaste.ee/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33881</id>
		<title>LVM</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33881"/>
		<updated>2011-06-06T10:30:13Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Juhend kettaruumi lisamiseks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
Järgnev artikkel on kettajagude haldustööriistast &#039;&#039;&#039;LVM&#039;&#039;&#039;. Eesmärgiks on tutvustada lugejale vahendi tööpõhimõtteid ning näidata praktilist väärtust. Kuna LVM-i praktiline kasutusala väga suur, siis lisasin wikilehe lõppu lingid, mille abil on võimalik soovikorral tööriista nüanssidest lähemalt ja täpsemalt tutvuda (kasutatud lingid). Juhend on koostatud ühest variandist, kuidas LVM abil kettaruumi suurendada. &lt;br /&gt;
&lt;br /&gt;
Eeldused:&lt;br /&gt;
*Kuna referaat on koostatud aine &amp;quot;Operatsioonisüsteemide sidumine&amp;quot; raames, ning linuxis tunnen ma ennast veel ainult väga põgusalt &amp;quot;kodus.&amp;quot; Eeldan artiklilugejat umbes samas skoobis olevat, st et oskab terminali algtasemel kasutada ning tunneb ka UNIX-le omast kataloogistruktuuri. Juhendis on toodud kõik minu poolt sisestatud käsud ning ka väljundid välja. &lt;br /&gt;
&lt;br /&gt;
*LVM on sisseehitatud enamustele Linuxi distributsioonidele, seetõttu mingid lisavahendeid või rakendusi pole vaja installeerida. Kuid kui mingil põhjusel puudub, on pakk ja täpsemad juhised võimalik soetada siit : [http://sourceware.org/lvm/]&lt;br /&gt;
&lt;br /&gt;
*Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine - varukoopiad!. &lt;br /&gt;
&lt;br /&gt;
*Kui tunned end ebakindlalt, tee algul läbi virtuaalmasinas&lt;br /&gt;
&lt;br /&gt;
*Tuttav võiks olla ka järgnevate teemadega:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kasulik lugemine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[NTFS_vs_Ext4]]&lt;br /&gt;
&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
==Mis on LVM ?==&lt;br /&gt;
&lt;br /&gt;
[[File:lvm&#039;1.jpg|200px|thumb|right|LVM - struktuur]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM&#039;&#039;&#039; (&#039;&#039;Logical Volume Manager&#039;&#039;) on kettajagude haldusvahend Linuxikeskkonnas. &lt;br /&gt;
&lt;br /&gt;
Ta on loodud kihina ketaste ja failisüsteemi vahele ning ettekujutus oleks selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID&lt;br /&gt;
* Füüsilised plokkseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
Lihtsustatult võiks öelda, et ühe LVM moodustab kihi, millega saab hallata korraga mitu (loogilist) kettajagu. Need koosnevad omakorda mitmest füüsilisest salvestusüksusest(kõvaketas, mingi muu kirjutav/lugev ajam).&lt;br /&gt;
&lt;br /&gt;
== LVM1 vs LVM2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM-i on arendatud alates LVM1-st ning seda kuni versioonini 0.19 (2006-11-27), peale seda lõpetati ning hakati arendama teist versiooni, mis nimetati LVM2-ks. LVM2 on tagasiühilduv (&#039;&#039;backwards - compatible&#039;&#039; - st. ühildub vanemate versioonidega) ning kasutab samasugust käsureastruktuuri. Omab muudetud ja täiustatud on jõudlust: &lt;br /&gt;
näiteks nüüd on toetatud klastrid ning väga suur arv kettaid. Kiiremaks on muudetud ja &#039;&#039;recovery&#039;&#039;-protseduurid.&lt;br /&gt;
&lt;br /&gt;
Näited muudatustest:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM1 | LVM2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Ei&#039;&#039;&#039; - &#039;&#039;RHEL AS 2.1&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - &#039;&#039;RHEL 4&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Kiirem metaandmete käsitlemine (seotud taastamisprotsessi kiirusega)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - jagatud köited (&#039;&#039;volume&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Klastrid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Triibutatud köidete laiendatavus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Read-only&#039;&#039; hetktõmmis | &#039;&#039;Read-write&#039;&#039; hetktõmmis&lt;br /&gt;
&lt;br /&gt;
256 | 2(astmes)32 - Max kettajagude arv&lt;br /&gt;
&lt;br /&gt;
2 Tb | 8 Eb (Exabyte) - Max füüsilise ajami maht&lt;br /&gt;
&lt;br /&gt;
== Võimalused ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Muuta olemasoleva failisüsteemi suurust, eeldusel et failisüsteem seda toetab&lt;br /&gt;
* Tekitada kõvakettale partitsioone juurde, neid eemaldada. Sealjuures ei ole kasutusel olevate partitsioonitabelite muutmisel vaja opsüsteemi alglaadida.&lt;br /&gt;
* Hiljem partitsioonide suurusi muuta ilma andmekadudeta.&lt;br /&gt;
* Ühendada kokku väiksemaid füüsilised plokkseadmed üheks suuremaks loogiliseks seadmeks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM on kasutatav lisaks veel paljudeks tegevusteks. Sealhulgas:&lt;br /&gt;
&lt;br /&gt;
* failisüsteemide &#039;&#039;snapshottide&#039;&#039; tegemine ja kasutamine&lt;br /&gt;
* loogiliste ketaste triibutamine sarnaselt RAID-0 -le&lt;br /&gt;
* tervete ketaste või osade peegeldamine sarnaselt RAID-1 -le&lt;br /&gt;
* ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Negatiivsed küljed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Süsteemi taastamine võib osutuda väga keeruliseks.&lt;br /&gt;
*Alglaadimisaeg võib muutuda pikemaks&lt;br /&gt;
*Ajapikku võib probleemiks osutuda loogiliste kettajagude fragmenteeritus, mis muudab I/O jõudlust negatiivselt. See tuleneb sellest, et salvestusseadmed ei eralda vajalikku mahtu järjest.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Juhend kettaruumi lisamiseks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pahatihti on vaja tööjaamale, serverile kettaruumi juurde. Seda on võimalik teha, lisades uue ketta ning ühendades selle näiteks kodukataloogiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Füüsiliste ketaste kohta saad infot:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk -l&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sda: 40.0 GB, 40060403712 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 4870 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sda1 * 1 13 104391 83 Linux&lt;br /&gt;
 /dev/sda2 14 4870 39013852+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
&lt;br /&gt;
Dev/sda peal on OS ning seal on partitsioon juba olemas. Disk /dev/sdb on uus ketas, mida tahame lisada kodukataloogile. &lt;br /&gt;
Disk /dev/sdb peal ei ole veel partitsioonitabelit, kuna sinna ei ole seda kunagi tehtud. Teeme selle:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk /dev/sdb&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 WARNING: DOS-compatible mode is deprecated. It&#039;s strongly recommended to&lt;br /&gt;
         switch off the mode (command &#039;c&#039;) and change display units to&lt;br /&gt;
         sectors (command &#039;u&#039;).&lt;br /&gt;
 Command (m for help):&lt;br /&gt;
&lt;br /&gt;
 Vajutades m, saame käskude nimekirja:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    Command action: m&lt;br /&gt;
   a   toggle a bootable flag&lt;br /&gt;
   b   edit bsd disklabel&lt;br /&gt;
   c   toggle the dos compatibility flag&lt;br /&gt;
   d   delete a partition&lt;br /&gt;
   l   list known partition types&lt;br /&gt;
   m   print this menu&lt;br /&gt;
   n   add a new partition&lt;br /&gt;
   o   create a new empty DOS partition table&lt;br /&gt;
   p   print the partition table&lt;br /&gt;
   q   quit without saving changes&lt;br /&gt;
   s   create a new empty Sun disklabel&lt;br /&gt;
   t   change a partition&#039;s system id&lt;br /&gt;
   u   change display/entry units&lt;br /&gt;
   v   verify the partition table&lt;br /&gt;
   w   write table to disk and exit&lt;br /&gt;
   x   extra functionality (experts only)&lt;br /&gt;
&lt;br /&gt;
Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Command action: n&lt;br /&gt;
 e extended&lt;br /&gt;
 p primary partition (1-4)&lt;br /&gt;
 p&lt;br /&gt;
 Partition number (1-4):&lt;br /&gt;
 1&lt;br /&gt;
 First cylinder (177545,&lt;br /&gt;
 default 1):&lt;br /&gt;
 Using default value 1&lt;br /&gt;
 Last cylinder or +size or +sizeM or +sizeK (177545,default 77545):&lt;br /&gt;
 Using default value 77545&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vajutades p saame kontrollida:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 83 Linux&lt;br /&gt;
&lt;br /&gt;
Partitsiooni ID tuleks vahetada 8e-ks, kuna see on tüüp, mida Linux-LVM toetab.&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): m&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM)&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
Oluline on vajutada w, et muudatused ka kirjutataks kettale:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
 Calling ioctl() to reread&lt;br /&gt;
 partition table.&lt;br /&gt;
 WARNING: If you have created or modified any DOS 6.x&lt;br /&gt;
 partitions, please see the fdisk manual page for additional&lt;br /&gt;
 information.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reboot ei ole vajalik&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleks teha füüsiline kettajagu (märgistada ketas /dev/sdb füüsiliseks jaoks?):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvcreate /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab käsuga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical&lt;br /&gt;
 volume PV&lt;br /&gt;
 Name /dev/sda2&lt;br /&gt;
 VG Name VolGroup00&lt;br /&gt;
 PV Size 37.21 GB / not usable 19.46 MB&lt;br /&gt;
 Allocatable yes&lt;br /&gt;
 PE Size (KByte) 32768&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Free PE 59&lt;br /&gt;
 Allocated PE 1131&lt;br /&gt;
 PV UUID 8iXatK0ULJBdMJeFuxzhfA38AZDB8mBO&lt;br /&gt;
&lt;br /&gt;
 NEW&lt;br /&gt;
 Physical volume PV&lt;br /&gt;
 Name /dev/sdb1&lt;br /&gt;
 VG Name&lt;br /&gt;
 PV Size 37.27 GB&lt;br /&gt;
 Allocatable NO&lt;br /&gt;
 PE Size (KByte) 0&lt;br /&gt;
 Total PE 0&lt;br /&gt;
 Free PE 0&lt;br /&gt;
 Allocated PE 0&lt;br /&gt;
 PV UUID YP01nVuh4jvlpDM5fPNOjOQQ8iSVEzCx&lt;br /&gt;
&lt;br /&gt;
Ketas on märgistatud uue füüsilise kettajaona. Nüüd tuleks see määrata /dev/sdb1 olemasolevasse kettajaogruppi. Gruppe saab näha käsuga vgdisplay:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;source/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 1&lt;br /&gt;
 Metadata Sequence No 4&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 1&lt;br /&gt;
 Act PV 1&lt;br /&gt;
 VG Size 37.19 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 59 / 1.84 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovikorral on võimalik teha uus kettajagudegrupp käsuga &#039;&#039;vgcreate:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgcreate my_new_volume_group /dev/sda1 /dev/sdb1 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meie praeguse grupi suurus on 37,19 GB - seda üritame uue kettaga suurendada. Füüsilise kettajao saame ühendada kettajagudegruppi käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgextend VolGroup00 /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume group &amp;quot;VolGroup00&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 2&lt;br /&gt;
 Metadata Sequence No 5&lt;br /&gt;
&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 2&lt;br /&gt;
 Act PV 2&lt;br /&gt;
&lt;br /&gt;
 VG Size 74.44 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 2382&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 1251 / 39.09 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
Nüüd on suurus 74,44GB. Kuna meil on nüüd rohkem ruumi kettajagudegrupis, saame suurendada /var kataloogi. Teeme seda näiteks 20GB võrra. See käib käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lvextend L+20G /dev/VolGroup00/Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Extending logical volume Loogilinevoluum to 34.62 GB&lt;br /&gt;
 Logical volume Loogilinevoluum successfully resized&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks kodukataloog ning kettajagu lahti ühendada, mis seotud /var kataloogiga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
umount /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel saab muuta failisüsteemi suurust käsuga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
resize2fs /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 resize2fs 1.39 (02May2011)&lt;br /&gt;
 Filesystem at /dev/mapper/VolGroup00Loogilinevoluum is mounted on /var; online resizing required&lt;br /&gt;
 Performing an online resize of /dev/mapper/VolGroup00LogVolvar to 9076736 (4k) blocks.&lt;br /&gt;
 The filesystem on /dev/mapper/VolGroup00Loogilinevoluum is now 9076736 blocks long.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollides käsuga df-hf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
df -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Filesystem Size Used Avail Use% Mounted on&lt;br /&gt;
 /dev/mapper/VolGroup00LogVolfs 19G 2.5G 16G 14% /&lt;br /&gt;
 /dev/sda1 99M 11M 84M 12% /boot&lt;br /&gt;
 tmpfs 300M 0 300M 0% /dev/shm&lt;br /&gt;
 /dev/mapper/VolGroup00Loogilinevoluum 34G 226M 32G 1% /var&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Juhul kui füüsiliselt kettaruumi on kuid partitsioon ei mahuta enam, siis on LVM abil võimalik seda ka suurendada. Selle jaoks on tegelikult olemas ka spetsiaalsed programmid, mis lihtsustavad tunduvalt tegevust. Manuaalselt seda teha on üpriski tülikas. Üks näide sellisest vabavaralisest programmist on näiteks GParted - [http://gparted.sourceforge.net/features.php] . Nietatud programm toetab enamusi kasutuselolevatest failisüsteemidest, kaasaarvatud näiteks ext2, 3, 4, ntfs, FAT16, FAT32.&lt;br /&gt;
&lt;br /&gt;
== Kasutatud kirjandus ==&lt;br /&gt;
&lt;br /&gt;
http://www.gnu.org/software/parted/manual/html_chapter/parted_7.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_volume_management&lt;br /&gt;
&lt;br /&gt;
http://sourceware.org/lvm2/&lt;br /&gt;
&lt;br /&gt;
http://www.unixmultiverse.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=47&amp;amp;Itemid=53&lt;br /&gt;
&lt;br /&gt;
http://www.tldp.org/HOWTO/LVM-HOWTO/&lt;br /&gt;
&lt;br /&gt;
http://vallaste.ee/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33878</id>
		<title>LVM</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33878"/>
		<updated>2011-06-06T10:28:11Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Juhend kettaruumi lisamiseks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
Järgnev artikkel on kettajagude haldustööriistast &#039;&#039;&#039;LVM&#039;&#039;&#039;. Eesmärgiks on tutvustada lugejale vahendi tööpõhimõtteid ning näidata praktilist väärtust. Kuna LVM-i praktiline kasutusala väga suur, siis lisasin wikilehe lõppu lingid, mille abil on võimalik soovikorral tööriista nüanssidest lähemalt ja täpsemalt tutvuda (kasutatud lingid). Juhend on koostatud ühest variandist, kuidas LVM abil kettaruumi suurendada. &lt;br /&gt;
&lt;br /&gt;
Eeldused:&lt;br /&gt;
*Kuna referaat on koostatud aine &amp;quot;Operatsioonisüsteemide sidumine&amp;quot; raames, ning linuxis tunnen ma ennast veel ainult väga põgusalt &amp;quot;kodus.&amp;quot; Eeldan artiklilugejat umbes samas skoobis olevat, st et oskab terminali algtasemel kasutada ning tunneb ka UNIX-le omast kataloogistruktuuri. Juhendis on toodud kõik minu poolt sisestatud käsud ning ka väljundid välja. &lt;br /&gt;
&lt;br /&gt;
*LVM on sisseehitatud enamustele Linuxi distributsioonidele, seetõttu mingid lisavahendeid või rakendusi pole vaja installeerida. Kuid kui mingil põhjusel puudub, on pakk ja täpsemad juhised võimalik soetada siit : [http://sourceware.org/lvm/]&lt;br /&gt;
&lt;br /&gt;
*Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine - varukoopiad!. &lt;br /&gt;
&lt;br /&gt;
*Kui tunned end ebakindlalt, tee algul läbi virtuaalmasinas&lt;br /&gt;
&lt;br /&gt;
*Tuttav võiks olla ka järgnevate teemadega:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kasulik lugemine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[NTFS_vs_Ext4]]&lt;br /&gt;
&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
==Mis on LVM ?==&lt;br /&gt;
&lt;br /&gt;
[[File:lvm&#039;1.jpg|200px|thumb|right|LVM - struktuur]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM&#039;&#039;&#039; (&#039;&#039;Logical Volume Manager&#039;&#039;) on kettajagude haldusvahend Linuxikeskkonnas. &lt;br /&gt;
&lt;br /&gt;
Ta on loodud kihina ketaste ja failisüsteemi vahele ning ettekujutus oleks selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID&lt;br /&gt;
* Füüsilised plokkseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
Lihtsustatult võiks öelda, et ühe LVM moodustab kihi, millega saab hallata korraga mitu (loogilist) kettajagu. Need koosnevad omakorda mitmest füüsilisest salvestusüksusest(kõvaketas, mingi muu kirjutav/lugev ajam).&lt;br /&gt;
&lt;br /&gt;
== LVM1 vs LVM2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM-i on arendatud alates LVM1-st ning seda kuni versioonini 0.19 (2006-11-27), peale seda lõpetati ning hakati arendama teist versiooni, mis nimetati LVM2-ks. LVM2 on tagasiühilduv (&#039;&#039;backwards - compatible&#039;&#039; - st. ühildub vanemate versioonidega) ning kasutab samasugust käsureastruktuuri. Omab muudetud ja täiustatud on jõudlust: &lt;br /&gt;
näiteks nüüd on toetatud klastrid ning väga suur arv kettaid. Kiiremaks on muudetud ja &#039;&#039;recovery&#039;&#039;-protseduurid.&lt;br /&gt;
&lt;br /&gt;
Näited muudatustest:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM1 | LVM2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Ei&#039;&#039;&#039; - &#039;&#039;RHEL AS 2.1&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - &#039;&#039;RHEL 4&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Kiirem metaandmete käsitlemine (seotud taastamisprotsessi kiirusega)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - jagatud köited (&#039;&#039;volume&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Klastrid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Triibutatud köidete laiendatavus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Read-only&#039;&#039; hetktõmmis | &#039;&#039;Read-write&#039;&#039; hetktõmmis&lt;br /&gt;
&lt;br /&gt;
256 | 2(astmes)32 - Max kettajagude arv&lt;br /&gt;
&lt;br /&gt;
2 Tb | 8 Eb (Exabyte) - Max füüsilise ajami maht&lt;br /&gt;
&lt;br /&gt;
== Võimalused ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Muuta olemasoleva failisüsteemi suurust, eeldusel et failisüsteem seda toetab&lt;br /&gt;
* Tekitada kõvakettale partitsioone juurde, neid eemaldada. Sealjuures ei ole kasutusel olevate partitsioonitabelite muutmisel vaja opsüsteemi alglaadida.&lt;br /&gt;
* Hiljem partitsioonide suurusi muuta ilma andmekadudeta.&lt;br /&gt;
* Ühendada kokku väiksemaid füüsilised plokkseadmed üheks suuremaks loogiliseks seadmeks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM on kasutatav lisaks veel paljudeks tegevusteks. Sealhulgas:&lt;br /&gt;
&lt;br /&gt;
* failisüsteemide &#039;&#039;snapshottide&#039;&#039; tegemine ja kasutamine&lt;br /&gt;
* loogiliste ketaste triibutamine sarnaselt RAID-0 -le&lt;br /&gt;
* tervete ketaste või osade peegeldamine sarnaselt RAID-1 -le&lt;br /&gt;
* ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Negatiivsed küljed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Süsteemi taastamine võib osutuda väga keeruliseks.&lt;br /&gt;
*Alglaadimisaeg võib muutuda pikemaks&lt;br /&gt;
*Ajapikku võib probleemiks osutuda loogiliste kettajagude fragmenteeritus, mis muudab I/O jõudlust negatiivselt. See tuleneb sellest, et salvestusseadmed ei eralda vajalikku mahtu järjest.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Juhend kettaruumi lisamiseks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pahatihti on vaja tööjaamale, serverile kettaruumi juurde. Seda on võimalik teha, lisades uue ketta ning ühendades selle näiteks kodukataloogiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Füüsiliste ketaste kohta saad infot:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk -l&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sda: 40.0 GB, 40060403712 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 4870 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sda1 * 1 13 104391 83 Linux&lt;br /&gt;
 /dev/sda2 14 4870 39013852+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
&lt;br /&gt;
Dev/sda peal on OS ning seal on partitsioon juba olemas. Disk /dev/sdb on uus ketas, mida tahame lisada kodukataloogile. &lt;br /&gt;
Disk /dev/sdb peal ei ole veel partitsioonitabelit, kuna sinna ei ole seda kunagi tehtud. Teeme selle:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk /dev/sdb&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 WARNING: DOS-compatible mode is deprecated. It&#039;s strongly recommended to&lt;br /&gt;
         switch off the mode (command &#039;c&#039;) and change display units to&lt;br /&gt;
         sectors (command &#039;u&#039;).&lt;br /&gt;
 Command (m for help):&lt;br /&gt;
&lt;br /&gt;
 Vajutades m, saame käskude nimekirja:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
m&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    Command action&lt;br /&gt;
   a   toggle a bootable flag&lt;br /&gt;
   b   edit bsd disklabel&lt;br /&gt;
   c   toggle the dos compatibility flag&lt;br /&gt;
   d   delete a partition&lt;br /&gt;
   l   list known partition types&lt;br /&gt;
   m   print this menu&lt;br /&gt;
   n   add a new partition&lt;br /&gt;
   o   create a new empty DOS partition table&lt;br /&gt;
   p   print the partition table&lt;br /&gt;
   q   quit without saving changes&lt;br /&gt;
   s   create a new empty Sun disklabel&lt;br /&gt;
   t   change a partition&#039;s system id&lt;br /&gt;
   u   change display/entry units&lt;br /&gt;
   v   verify the partition table&lt;br /&gt;
   w   write table to disk and exit&lt;br /&gt;
   x   extra functionality (experts only)&lt;br /&gt;
&lt;br /&gt;
Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
n&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Command action&lt;br /&gt;
 e extended&lt;br /&gt;
 p primary partition (1-4)&lt;br /&gt;
 p&lt;br /&gt;
 Partition number (1-4):&lt;br /&gt;
 1&lt;br /&gt;
 First cylinder (177545,&lt;br /&gt;
 default 1):&lt;br /&gt;
 Using default value 1&lt;br /&gt;
 Last cylinder or +size or +sizeM or +sizeK (177545,default 77545):&lt;br /&gt;
 Using default value 77545&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vajutades p saame kontrollida:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
p&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 83 Linux&lt;br /&gt;
&lt;br /&gt;
Partitsiooni ID tuleks vahetada 8e-ks, kuna see on tüüp, mida Linux-LVM toetab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
t&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM)&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
Oluline on vajutada w, et muudatused ka kirjutataks kettale:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
 Calling ioctl() to reread&lt;br /&gt;
 partition table.&lt;br /&gt;
 WARNING: If you have created or modified any DOS 6.x&lt;br /&gt;
 partitions, please see the fdisk manual page for additional&lt;br /&gt;
 information.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reboot ei ole vajalik&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleks teha füüsiline kettajagu (märgistada ketas /dev/sdb füüsiliseks jaoks?):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvcreate /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab käsuga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical&lt;br /&gt;
 volume PV&lt;br /&gt;
 Name /dev/sda2&lt;br /&gt;
 VG Name VolGroup00&lt;br /&gt;
 PV Size 37.21 GB / not usable 19.46 MB&lt;br /&gt;
 Allocatable yes&lt;br /&gt;
 PE Size (KByte) 32768&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Free PE 59&lt;br /&gt;
 Allocated PE 1131&lt;br /&gt;
 PV UUID 8iXatK0ULJBdMJeFuxzhfA38AZDB8mBO&lt;br /&gt;
&lt;br /&gt;
 NEW&lt;br /&gt;
 Physical volume PV&lt;br /&gt;
 Name /dev/sdb1&lt;br /&gt;
 VG Name&lt;br /&gt;
 PV Size 37.27 GB&lt;br /&gt;
 Allocatable NO&lt;br /&gt;
 PE Size (KByte) 0&lt;br /&gt;
 Total PE 0&lt;br /&gt;
 Free PE 0&lt;br /&gt;
 Allocated PE 0&lt;br /&gt;
 PV UUID YP01nVuh4jvlpDM5fPNOjOQQ8iSVEzCx&lt;br /&gt;
&lt;br /&gt;
Ketas on märgistatud uue füüsilise kettajaona. Nüüd tuleks see määrata /dev/sdb1 olemasolevasse kettajaogruppi. Gruppe saab näha käsuga vgdisplay:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;source/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 1&lt;br /&gt;
 Metadata Sequence No 4&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 1&lt;br /&gt;
 Act PV 1&lt;br /&gt;
 VG Size 37.19 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 59 / 1.84 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovikorral on võimalik teha uus kettajagudegrupp käsuga &#039;&#039;vgcreate:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgcreate my_new_volume_group /dev/sda1 /dev/sdb1 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meie praeguse grupi suurus on 37,19 GB - seda üritame uue kettaga suurendada. Füüsilise kettajao saame ühendada kettajagudegruppi käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgextend VolGroup00 /dev/sdb1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume group &amp;quot;VolGroup00&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vgdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 2&lt;br /&gt;
 Metadata Sequence No 5&lt;br /&gt;
&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 2&lt;br /&gt;
 Act PV 2&lt;br /&gt;
&lt;br /&gt;
 VG Size 74.44 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 2382&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 1251 / 39.09 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
Nüüd on suurus 74,44GB. Kuna meil on nüüd rohkem ruumi kettajagudegrupis, saame suurendada /var kataloogi. Teeme seda näiteks 20GB võrra. See käib käsuga:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lvextend L+20G /dev/VolGroup00/Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Extending logical volume Loogilinevoluum to 34.62 GB&lt;br /&gt;
 Logical volume Loogilinevoluum successfully resized&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks kodukataloog ning kettajagu lahti ühendada, mis seotud /var kataloogiga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
umount /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seejärel saab muuta failisüsteemi suurust käsuga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
resize2fs /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 resize2fs 1.39 (02May2011)&lt;br /&gt;
 Filesystem at /dev/mapper/VolGroup00Loogilinevoluum is mounted on /var; online resizing required&lt;br /&gt;
 Performing an online resize of /dev/mapper/VolGroup00LogVolvar to 9076736 (4k) blocks.&lt;br /&gt;
 The filesystem on /dev/mapper/VolGroup00Loogilinevoluum is now 9076736 blocks long.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollides käsuga df-hf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
df -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Filesystem Size Used Avail Use% Mounted on&lt;br /&gt;
 /dev/mapper/VolGroup00LogVolfs 19G 2.5G 16G 14% /&lt;br /&gt;
 /dev/sda1 99M 11M 84M 12% /boot&lt;br /&gt;
 tmpfs 300M 0 300M 0% /dev/shm&lt;br /&gt;
 /dev/mapper/VolGroup00Loogilinevoluum 34G 226M 32G 1% /var&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Juhul kui füüsiliselt kettaruumi on kuid partitsioon ei mahuta enam, siis on LVM abil võimalik seda ka suurendada. Selle jaoks on tegelikult olemas ka spetsiaalsed programmid, mis lihtsustavad tunduvalt tegevust. Manuaalselt seda teha on üpriski tülikas. Üks näide sellisest vabavaralisest programmist on näiteks GParted - [http://gparted.sourceforge.net/features.php] . Nietatud programm toetab enamusi kasutuselolevatest failisüsteemidest, kaasaarvatud näiteks ext2, 3, 4, ntfs, FAT16, FAT32.&lt;br /&gt;
&lt;br /&gt;
== Kasutatud kirjandus ==&lt;br /&gt;
&lt;br /&gt;
http://www.gnu.org/software/parted/manual/html_chapter/parted_7.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_volume_management&lt;br /&gt;
&lt;br /&gt;
http://sourceware.org/lvm2/&lt;br /&gt;
&lt;br /&gt;
http://www.unixmultiverse.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=47&amp;amp;Itemid=53&lt;br /&gt;
&lt;br /&gt;
http://www.tldp.org/HOWTO/LVM-HOWTO/&lt;br /&gt;
&lt;br /&gt;
http://vallaste.ee/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33871</id>
		<title>LVM</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=33871"/>
		<updated>2011-06-06T10:23:12Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Juhend kettaruumi lisamiseks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
Järgnev artikkel on kettajagude haldustööriistast &#039;&#039;&#039;LVM&#039;&#039;&#039;. Eesmärgiks on tutvustada lugejale vahendi tööpõhimõtteid ning näidata praktilist väärtust. Kuna LVM-i praktiline kasutusala väga suur, siis lisasin wikilehe lõppu lingid, mille abil on võimalik soovikorral tööriista nüanssidest lähemalt ja täpsemalt tutvuda (kasutatud lingid). Juhend on koostatud ühest variandist, kuidas LVM abil kettaruumi suurendada. &lt;br /&gt;
&lt;br /&gt;
Eeldused:&lt;br /&gt;
*Kuna referaat on koostatud aine &amp;quot;Operatsioonisüsteemide sidumine&amp;quot; raames, ning linuxis tunnen ma ennast veel ainult väga põgusalt &amp;quot;kodus.&amp;quot; Eeldan artiklilugejat umbes samas skoobis olevat, st et oskab terminali algtasemel kasutada ning tunneb ka UNIX-le omast kataloogistruktuuri. Juhendis on toodud kõik minu poolt sisestatud käsud ning ka väljundid välja. &lt;br /&gt;
&lt;br /&gt;
*LVM on sisseehitatud enamustele Linuxi distributsioonidele, seetõttu mingid lisavahendeid või rakendusi pole vaja installeerida. Kuid kui mingil põhjusel puudub, on pakk ja täpsemad juhised võimalik soetada siit : [http://sourceware.org/lvm/]&lt;br /&gt;
&lt;br /&gt;
*Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine - varukoopiad!. &lt;br /&gt;
&lt;br /&gt;
*Kui tunned end ebakindlalt, tee algul läbi virtuaalmasinas&lt;br /&gt;
&lt;br /&gt;
*Tuttav võiks olla ka järgnevate teemadega:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kasulik lugemine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[NTFS_vs_Ext4]]&lt;br /&gt;
&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
==Mis on LVM ?==&lt;br /&gt;
&lt;br /&gt;
[[File:lvm&#039;1.jpg|200px|thumb|right|LVM - struktuur]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM&#039;&#039;&#039; (&#039;&#039;Logical Volume Manager&#039;&#039;) on kettajagude haldusvahend Linuxikeskkonnas. &lt;br /&gt;
&lt;br /&gt;
Ta on loodud kihina ketaste ja failisüsteemi vahele ning ettekujutus oleks selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID&lt;br /&gt;
* Füüsilised plokkseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
Lihtsustatult võiks öelda, et ühe LVM moodustab kihi, millega saab hallata korraga mitu (loogilist) kettajagu. Need koosnevad omakorda mitmest füüsilisest salvestusüksusest(kõvaketas, mingi muu kirjutav/lugev ajam).&lt;br /&gt;
&lt;br /&gt;
== LVM1 vs LVM2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM-i on arendatud alates LVM1-st ning seda kuni versioonini 0.19 (2006-11-27), peale seda lõpetati ning hakati arendama teist versiooni, mis nimetati LVM2-ks. LVM2 on tagasiühilduv (&#039;&#039;backwards - compatible&#039;&#039; - st. ühildub vanemate versioonidega) ning kasutab samasugust käsureastruktuuri. Omab muudetud ja täiustatud on jõudlust: &lt;br /&gt;
näiteks nüüd on toetatud klastrid ning väga suur arv kettaid. Kiiremaks on muudetud ja &#039;&#039;recovery&#039;&#039;-protseduurid.&lt;br /&gt;
&lt;br /&gt;
Näited muudatustest:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM1 | LVM2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Ei&#039;&#039;&#039; - &#039;&#039;RHEL AS 2.1&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - &#039;&#039;RHEL 4&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Kiirem metaandmete käsitlemine (seotud taastamisprotsessi kiirusega)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - jagatud köited (&#039;&#039;volume&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Klastrid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Triibutatud köidete laiendatavus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Read-only&#039;&#039; hetktõmmis | &#039;&#039;Read-write&#039;&#039; hetktõmmis&lt;br /&gt;
&lt;br /&gt;
256 | 2(astmes)32 - Max kettajagude arv&lt;br /&gt;
&lt;br /&gt;
2 Tb | 8 Eb (Exabyte) - Max füüsilise ajami maht&lt;br /&gt;
&lt;br /&gt;
== Võimalused ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Muuta olemasoleva failisüsteemi suurust, eeldusel et failisüsteem seda toetab&lt;br /&gt;
* Tekitada kõvakettale partitsioone juurde, neid eemaldada. Sealjuures ei ole kasutusel olevate partitsioonitabelite muutmisel vaja opsüsteemi alglaadida.&lt;br /&gt;
* Hiljem partitsioonide suurusi muuta ilma andmekadudeta.&lt;br /&gt;
* Ühendada kokku väiksemaid füüsilised plokkseadmed üheks suuremaks loogiliseks seadmeks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM on kasutatav lisaks veel paljudeks tegevusteks. Sealhulgas:&lt;br /&gt;
&lt;br /&gt;
* failisüsteemide &#039;&#039;snapshottide&#039;&#039; tegemine ja kasutamine&lt;br /&gt;
* loogiliste ketaste triibutamine sarnaselt RAID-0 -le&lt;br /&gt;
* tervete ketaste või osade peegeldamine sarnaselt RAID-1 -le&lt;br /&gt;
* ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Negatiivsed küljed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Süsteemi taastamine võib osutuda väga keeruliseks.&lt;br /&gt;
*Alglaadimisaeg võib muutuda pikemaks&lt;br /&gt;
*Ajapikku võib probleemiks osutuda loogiliste kettajagude fragmenteeritus, mis muudab I/O jõudlust negatiivselt. See tuleneb sellest, et salvestusseadmed ei eralda vajalikku mahtu järjest.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Juhend kettaruumi lisamiseks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pahatihti on vaja tööjaamale, serverile kettaruumi juurde. Seda on võimalik teha, lisades uue ketta ning ühendades selle näiteks kodukataloogiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Füüsiliste ketaste kohta saad infot:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
fdisk -l&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sda: 40.0 GB, 40060403712 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 4870 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sda1 * 1 13 104391 83 Linux&lt;br /&gt;
 /dev/sda2 14 4870 39013852+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
&lt;br /&gt;
Dev/sda peal on OS ning seal on partitsioon juba olemas. Disk /dev/sdb on uus ketas, mida tahame lisada kodukataloogile. &lt;br /&gt;
Disk /dev/sdb peal ei ole veel partitsioonitabelit, kuna sinna ei ole seda kunagi tehtud. Teeme selle:&lt;br /&gt;
&lt;br /&gt;
 root@localhost:~# fdisk /dev/sdb&lt;br /&gt;
 WARNING: DOS-compatible mode is deprecated. It&#039;s strongly recommended to&lt;br /&gt;
         switch off the mode (command &#039;c&#039;) and change display units to&lt;br /&gt;
         sectors (command &#039;u&#039;).&lt;br /&gt;
 Command (m for help):&lt;br /&gt;
&lt;br /&gt;
 Vajutades m, saame käskude nimekirja:&lt;br /&gt;
&lt;br /&gt;
    Command (m for help): m&lt;br /&gt;
    Command action&lt;br /&gt;
   a   toggle a bootable flag&lt;br /&gt;
   b   edit bsd disklabel&lt;br /&gt;
   c   toggle the dos compatibility flag&lt;br /&gt;
   d   delete a partition&lt;br /&gt;
   l   list known partition types&lt;br /&gt;
   m   print this menu&lt;br /&gt;
   n   add a new partition&lt;br /&gt;
   o   create a new empty DOS partition table&lt;br /&gt;
   p   print the partition table&lt;br /&gt;
   q   quit without saving changes&lt;br /&gt;
   s   create a new empty Sun disklabel&lt;br /&gt;
   t   change a partition&#039;s system id&lt;br /&gt;
   u   change display/entry units&lt;br /&gt;
   v   verify the partition table&lt;br /&gt;
   w   write table to disk and exit&lt;br /&gt;
   x   extra functionality (experts only)&lt;br /&gt;
&lt;br /&gt;
Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): n&lt;br /&gt;
 Command action&lt;br /&gt;
 e extended&lt;br /&gt;
 p primary partition (1-4)&lt;br /&gt;
 p&lt;br /&gt;
 Partition number (1-4):&lt;br /&gt;
 1&lt;br /&gt;
 First cylinder (177545,&lt;br /&gt;
 default 1):&lt;br /&gt;
 Using default value 1&lt;br /&gt;
 Last cylinder or +size or +sizeM or +sizeK (177545,default 77545):&lt;br /&gt;
 Using default value 77545&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vajutades p saame kontrollida:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 83 Linux&lt;br /&gt;
&lt;br /&gt;
Partitsiooni ID tuleks vahetada 8e-ks, kuna see on tüüp, mida Linux-LVM toetab.&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM)&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
Oluline on vajutada w, et muudatused ka kirjutataks kettale:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
 Calling ioctl() to reread&lt;br /&gt;
 partition table.&lt;br /&gt;
 WARNING: If you have created or modified any DOS 6.x&lt;br /&gt;
 partitions, please see the fdisk manual page for additional&lt;br /&gt;
 information.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Järgnevalt teeme reboodi, kuid see ei ole ilmtingimata vajalik:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# reboot&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleks teha füüsiline kettajagu (märgistada ketas /dev/sdb füüsiliseks jaoks?):&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# pvcreate /dev/sdb1&lt;br /&gt;
 Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&lt;br /&gt;
 [root@localhost ~]#&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab käsuga:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pvdisplay&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Physical&lt;br /&gt;
 volume PV&lt;br /&gt;
 Name /dev/sda2&lt;br /&gt;
 VG Name VolGroup00&lt;br /&gt;
 PV Size 37.21 GB / not usable 19.46 MB&lt;br /&gt;
 Allocatable yes&lt;br /&gt;
 PE Size (KByte) 32768&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Free PE 59&lt;br /&gt;
 Allocated PE 1131&lt;br /&gt;
 PV UUID 8iXatK0ULJBdMJeFuxzhfA38AZDB8mBO&lt;br /&gt;
&lt;br /&gt;
 NEW&lt;br /&gt;
 Physical volume PV&lt;br /&gt;
 Name /dev/sdb1&lt;br /&gt;
 VG Name&lt;br /&gt;
 PV Size 37.27 GB&lt;br /&gt;
 Allocatable NO&lt;br /&gt;
 PE Size (KByte) 0&lt;br /&gt;
 Total PE 0&lt;br /&gt;
 Free PE 0&lt;br /&gt;
 Allocated PE 0&lt;br /&gt;
 PV UUID YP01nVuh4jvlpDM5fPNOjOQQ8iSVEzCx&lt;br /&gt;
&lt;br /&gt;
Ketas on märgistatud uue füüsilise kettajaona. Nüüd tuleks see määrata /dev/sdb1 olemasolevasse kettajaogruppi. Gruppe saab näha käsuga vgdisplay:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# vgdisplay&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 1&lt;br /&gt;
 Metadata Sequence No 4&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 1&lt;br /&gt;
 Act PV 1&lt;br /&gt;
 VG Size 37.19 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 59 / 1.84 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovikorral on võimalik teha uus kettajagudegrupp käsuga &#039;&#039;vgcreate:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 vgcreate my_new_volume_group /dev/sda1 /dev/sdb1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meie praeguse grupi suurus on 37,19 GB - seda üritame uue kettaga suurendada. Füüsilise kettajao saame ühendada kettajagudegruppi käsuga:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# vgextend VolGroup00 /dev/sdb1&lt;br /&gt;
 Volume group &amp;quot;VolGroup00&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# vgdisplay&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 2&lt;br /&gt;
 Metadata Sequence No 5&lt;br /&gt;
&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 2&lt;br /&gt;
 Act PV 2&lt;br /&gt;
&lt;br /&gt;
 VG Size 74.44 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 2382&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 1251 / 39.09 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
Nüüd on suurus 74,44GB. Kuna meil on nüüd rohkem ruumi kettajagudegrupis, saame suurendada /var kataloogi. Teeme seda näiteks 20GB võrra. See käib käsuga:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# lvextend L+20G /dev/VolGroup00/Loogilinevoluum&lt;br /&gt;
 Extending logical volume Loogilinevoluum to 34.62 GB&lt;br /&gt;
 Logical volume Loogilinevoluum successfully resized&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks kodukataloog ning kettajagu lahti ühendada, mis seotud /var kataloogiga:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# umount /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Seejärel saab muuta failisüsteemi suurust käsuga:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost var]# resize2fs /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
 resize2fs 1.39 (02May2011)&lt;br /&gt;
 Filesystem at /dev/mapper/VolGroup00Loogilinevoluum is mounted on /var; online resizing required&lt;br /&gt;
 Performing an online resize of /dev/mapper/VolGroup00LogVolvar to 9076736 (4k) blocks.&lt;br /&gt;
 The filesystem on /dev/mapper/VolGroup00Loogilinevoluum is now 9076736 blocks long.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollides käsuga df-hf:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost var]# df -h&lt;br /&gt;
 Filesystem Size Used Avail Use% Mounted on&lt;br /&gt;
 /dev/mapper/VolGroup00LogVolfs 19G 2.5G 16G 14% /&lt;br /&gt;
 /dev/sda1 99M 11M 84M 12% /boot&lt;br /&gt;
 tmpfs 300M 0 300M 0% /dev/shm&lt;br /&gt;
 /dev/mapper/VolGroup00Loogilinevoluum 34G 226M 32G 1% /var&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Juhul kui füüsiliselt kettaruumi on kuid partitsioon ei mahuta enam, siis on LVM abil võimalik seda ka suurendada. Selle jaoks on tegelikult olemas ka spetsiaalsed programmid, mis lihtsustavad tunduvalt tegevust. Manuaalselt seda teha on üpriski tülikas. Üks näide sellisest vabavaralisest programmist on näiteks GParted - [http://gparted.sourceforge.net/features.php] . Nietatud programm toetab enamusi kasutuselolevatest failisüsteemidest, kaasaarvatud näiteks ext2, 3, 4, ntfs, FAT16, FAT32.&lt;br /&gt;
&lt;br /&gt;
== Kasutatud kirjandus ==&lt;br /&gt;
&lt;br /&gt;
http://www.gnu.org/software/parted/manual/html_chapter/parted_7.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_volume_management&lt;br /&gt;
&lt;br /&gt;
http://sourceware.org/lvm2/&lt;br /&gt;
&lt;br /&gt;
http://www.unixmultiverse.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=47&amp;amp;Itemid=53&lt;br /&gt;
&lt;br /&gt;
http://www.tldp.org/HOWTO/LVM-HOWTO/&lt;br /&gt;
&lt;br /&gt;
http://vallaste.ee/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33238</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33238"/>
		<updated>2011-05-29T10:24:16Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. Pead olema root õigustes!&lt;br /&gt;
#exit(0) - kasutaja on lukus&lt;br /&gt;
#exit(1) - kasutaja pole lukus&lt;br /&gt;
#exit(2) - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
 &lt;br /&gt;
        rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
        if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja&amp;quot;,rec[0], &amp;quot;on lukus&amp;quot;&lt;br /&gt;
            sys.exit(0)&lt;br /&gt;
        elif rec[1] != &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Kasutaja &amp;quot;,rec[0], &amp;quot;ei ole lukus&amp;quot;&lt;br /&gt;
            sys.exit(1)&lt;br /&gt;
else:&lt;br /&gt;
    print &amp;quot;Sellist kasutajat ei leitud&amp;quot;, var&lt;br /&gt;
    sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33237</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33237"/>
		<updated>2011-05-29T10:04:30Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
fh = open(&amp;quot;/etc/shadow&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
&lt;br /&gt;
        rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
        if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Tere&amp;quot;, rec[0], &amp;quot;, oled lukus&amp;quot;&lt;br /&gt;
            sys.exit(0)&lt;br /&gt;
        elif rec[1] == &amp;quot;$&amp;quot;:&lt;br /&gt;
            print rec[0], &amp;quot;ei ole lukus&amp;quot;&lt;br /&gt;
            sys.exit(1)&lt;br /&gt;
        else:&lt;br /&gt;
            print &amp;quot;Sellist kasutajat ei leitud&amp;quot;, var&lt;br /&gt;
            sys.exit(2)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
       # tulbad = line.split()&lt;br /&gt;
	#ip_aadress = tulbad[12]&lt;br /&gt;
        #if d.has_key(ip_aadress):&lt;br /&gt;
	 #   d[ip_aadress] += 1&lt;br /&gt;
        #else:&lt;br /&gt;
	#    d[ip_aadress] = 1&lt;br /&gt;
#sorteerimata = d.items()&lt;br /&gt;
#sorteeritud = sorted(sorteerimata,&lt;br /&gt;
#  key=lambda(ip_aadress,tabamusi):tabamusi,&lt;br /&gt;
#  reverse=True)&lt;br /&gt;
#for ip_aadress, tabamusi in sorteeritud:&lt;br /&gt;
#    print ip_aadress, &amp;quot;==&amp;gt;&amp;quot;, tabamusi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33233</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33233"/>
		<updated>2011-05-29T09:49:57Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
fh = open(&amp;quot;/etc/shadow&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
&lt;br /&gt;
        rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
        if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Tere&amp;quot;, rec[0], &amp;quot; oled lukus&amp;quot;&lt;br /&gt;
   # else:&lt;br /&gt;
    #    print &amp;quot;jobu oled&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
       # tulbad = line.split()&lt;br /&gt;
	#ip_aadress = tulbad[12]&lt;br /&gt;
        #if d.has_key(ip_aadress):&lt;br /&gt;
	 #   d[ip_aadress] += 1&lt;br /&gt;
        #else:&lt;br /&gt;
	#    d[ip_aadress] = 1&lt;br /&gt;
#sorteerimata = d.items()&lt;br /&gt;
#sorteeritud = sorted(sorteerimata,&lt;br /&gt;
#  key=lambda(ip_aadress,tabamusi):tabamusi,&lt;br /&gt;
#  reverse=True)&lt;br /&gt;
#for ip_aadress, tabamusi in sorteeritud:&lt;br /&gt;
#    print ip_aadress, &amp;quot;==&amp;gt;&amp;quot;, tabamusi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33222</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33222"/>
		<updated>2011-05-29T08:18:27Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
        for line in open(filename):&lt;br /&gt;
            rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
                if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Tere&amp;quot;, rec[0], &amp;quot; oled lukus&amp;quot;&lt;br /&gt;
            exit 0&lt;br /&gt;
            break&lt;br /&gt;
            else:&lt;br /&gt;
            print &amp;quot;Ei ole lukus kasutaja: &amp;quot;, rec[0]&lt;br /&gt;
            exit 1&lt;br /&gt;
    else:&lt;br /&gt;
    print &amp;quot;Pole leitud kasutajat:  &amp;quot;, rec[0]&lt;br /&gt;
    exit 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33221</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33221"/>
		<updated>2011-05-29T08:17:28Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
        for line in shadow.readlines():&lt;br /&gt;
            rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
                if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Tere&amp;quot;, rec[0], &amp;quot; oled lukus&amp;quot;&lt;br /&gt;
            exit 0&lt;br /&gt;
            break&lt;br /&gt;
            else:&lt;br /&gt;
            print &amp;quot;Ei ole lukus kasutaja: &amp;quot;, rec[0]&lt;br /&gt;
            exit 1&lt;br /&gt;
    else:&lt;br /&gt;
    print &amp;quot;Pole leitud kasutajat:  &amp;quot;, rec[0]&lt;br /&gt;
    exit 2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33220</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33220"/>
		<updated>2011-05-29T08:16:34Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
        for line in shadow.readlines():&lt;br /&gt;
            rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
                if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Tere&amp;quot;, rec[0], &amp;quot; oled lukus&amp;quot;&lt;br /&gt;
            break&lt;br /&gt;
            else:&lt;br /&gt;
            print &amp;quot;Ei ole lukus kasutaja: &amp;quot;, rec[0]&lt;br /&gt;
    else:&lt;br /&gt;
    print &amp;quot;Pole leitud kasutajat:  &amp;quot;, rec[0]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33219</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33219"/>
		<updated>2011-05-29T08:13:47Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
import string&lt;br /&gt;
&lt;br /&gt;
var = raw_input(&amp;quot;Sisesta kasutajanimi: &amp;quot;)&lt;br /&gt;
filename = &amp;quot;/etc/shadow&amp;quot;&lt;br /&gt;
&lt;br /&gt;
for line in open(filename):&lt;br /&gt;
    if var in line:&lt;br /&gt;
        for line in shadow.readlines():&lt;br /&gt;
            rec = string.splitfields(line, &#039;:&#039;)&lt;br /&gt;
                if rec[1] == &amp;quot;!&amp;quot;:&lt;br /&gt;
            print &amp;quot;Tere&amp;quot;, rec[0], &amp;quot; oled lukus&amp;quot;&lt;br /&gt;
            break&lt;br /&gt;
else:&lt;br /&gt;
    print &amp;quot;Ei ole lukus, või pole leitud kasutajat: &amp;quot;, rec[0]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33218</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=33218"/>
		<updated>2011-05-29T08:09:09Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32396</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32396"/>
		<updated>2011-05-20T15:08:15Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32395</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32395"/>
		<updated>2011-05-20T15:07:30Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;QUEST5:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;QUEST 20:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32376</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32376"/>
		<updated>2011-05-20T07:00:49Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;QUEST5:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
QUEST 20:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=$(passwd -Sa | grep $nimi | cut -d&amp;quot; &amp;quot; -f2)&lt;br /&gt;
&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32214</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32214"/>
		<updated>2011-05-17T19:14:45Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;QUEST5:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
QUEST 20:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
var=(passwd -Sa | awk &#039;( $2 == &amp;quot;L&amp;quot; )&#039; | grep $nimi | grep -o L)&lt;br /&gt;
&lt;br /&gt;
USERID=&amp;quot;$1&amp;quot;&lt;br /&gt;
/bin/egrep  -i &amp;quot;^${USERID}&amp;quot; /etc/passwd&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if [ &amp;quot;$var&amp;quot; == &amp;quot;L&amp;quot; ]; then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32192</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32192"/>
		<updated>2011-05-17T18:38:51Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;QUEST5:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
QUEST 20:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: Quest20 ver 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
USERID=&amp;quot;$1&amp;quot;&lt;br /&gt;
/bin/egrep  -i &amp;quot;^${USERID}&amp;quot; /etc/passwd&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if ( passwd -Sa | awk &#039;( $2 == &amp;quot;L&amp;quot; )&#039; | grep $nimi | grep -o L ); then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32190</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32190"/>
		<updated>2011-05-17T18:38:05Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
QUEST 20:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
USERID=&amp;quot;$1&amp;quot;&lt;br /&gt;
/bin/egrep  -i &amp;quot;^${USERID}&amp;quot; /etc/passwd&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if ( passwd -Sa | awk &#039;( $2 == &amp;quot;L&amp;quot; )&#039; | grep $nimi | grep -o L ); then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32188</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32188"/>
		<updated>2011-05-17T18:37:16Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
20q&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: 0.1&lt;br /&gt;
&lt;br /&gt;
#Skript, mis vaatab kas kasutaja on lukus. &lt;br /&gt;
#./user_is_locked.sh &amp;lt;loginname&amp;gt;&lt;br /&gt;
#exit 0 - kasutaja on lukus&lt;br /&gt;
#exit 1 - kasutaja pole lukus&lt;br /&gt;
#exit 2 - kasutajat pole üldse &lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Sisesta kasutajanimi&amp;quot;&lt;br /&gt;
read nimi&lt;br /&gt;
&lt;br /&gt;
USERID=&amp;quot;$1&amp;quot;&lt;br /&gt;
/bin/egrep  -i &amp;quot;^${USERID}&amp;quot; /etc/passwd&lt;br /&gt;
if [ $? -eq 0 ]; then&lt;br /&gt;
        if ( passwd -Sa | awk &#039;( $2 == &amp;quot;L&amp;quot; )&#039; | grep $nimi | grep -o L ); then&lt;br /&gt;
          echo &amp;quot;Kasutaja on lukus&amp;quot;&lt;br /&gt;
	exit 0&lt;br /&gt;
        else&lt;br /&gt;
          echo &amp;quot;Kasutaja pole lukus&amp;quot;&lt;br /&gt;
	exit 1        &lt;br /&gt;
	fi&lt;br /&gt;
else&lt;br /&gt;
  echo &amp;quot;Kasutajat pole&amp;quot;&lt;br /&gt;
exit 2&lt;br /&gt;
fi&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32123</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32123"/>
		<updated>2011-05-17T07:42:42Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
20q&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: 0.1&lt;br /&gt;
&lt;br /&gt;
passwd -Sa | awk &#039;( $2 == &amp;quot;LK&amp;quot; )&#039;&lt;br /&gt;
&lt;br /&gt;
pooleli veel&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Bash_quests&amp;diff=32122</id>
		<title>Bash quests</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Bash_quests&amp;diff=32122"/>
		<updated>2011-05-17T07:36:31Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Quest 22 - kontrollib, kas lokaalne kasutaja on lukus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole.&lt;br /&gt;
Skript tuleb panna Tudengi enda wiki lehele. Punktid saab esimene, kes antud questi täies mahus valmis sai. Kui lahendus pole rahuldav saab punktid järgmine OK lahenduse looja.&lt;br /&gt;
&lt;br /&gt;
Kui quest valmis, siis pane link questi juurde (nagu näites)&lt;br /&gt;
&lt;br /&gt;
Queste tuleb pidevalt juurde.&lt;br /&gt;
&lt;br /&gt;
=Quest 0 - Näide=&lt;br /&gt;
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mernits]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 10:36, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 1 - Leia suured kaustad oma kodukataloogist=&lt;br /&gt;
&lt;br /&gt;
Probleem: Kodukaustast on vaja leida suured kataloogid ja teada, palju nendele ruumu kulub.&lt;br /&gt;
&lt;br /&gt;
Luua skript suuredkaustad.sh&lt;br /&gt;
&lt;br /&gt;
Väljasta kataloogid suuremad kõige alla kujul:&lt;br /&gt;
&lt;br /&gt;
20MB  Allalaadimised&lt;br /&gt;
&lt;br /&gt;
100MB Dokumendid&lt;br /&gt;
&lt;br /&gt;
hint: &#039;&#039;&#039;du -s * | sort -nr&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lahendus : [[User:Kakukk|Katrin Kukk]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus ja tehtud [[User:Mernits|Mernits]] 16:27, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 2=&lt;br /&gt;
Teha skript, mis taastab poolelijäänud tarkvarapaigalduse (apt-get baasil)&lt;br /&gt;
&lt;br /&gt;
Kui näiteks kasutaja tahab midagi installeerida ja talle öeldakse, et eelmine install jäi pooleli (vool läks ära või mis iganes), siis viidaks installeerimine/konfigureerimine lõpuni.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Hvosujal]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 13:37, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 3=&lt;br /&gt;
Teha skript, mis eemaldab vanad kernelid (jätab alles kaks viimast). Tulemuseks on grub2 menüüs näha kahe viimase kerneli ridu ja vanade kernelite arvelt hoitakse kettaruumi kokku.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:otuur]]&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Metamm]] - Parandatud 16.05 14:24&lt;br /&gt;
   Rpm eemaldust kasutades ubuntu 10.10&#039;ga saab teate &amp;quot;head: unrecognized option &#039;--1&#039;&amp;quot;&lt;br /&gt;
   peale seda teavitatakse, kasutajat, et skript kustutas kõik kernelid peale kahe viimase, ometi seda ei toimunud. Dpkg eemaldus toimib.&lt;br /&gt;
   Olle Tuur 13.05.2011 21:38&lt;br /&gt;
&lt;br /&gt;
   Parandasin Olle välja toodud vea, nüüd skript kontrollib, kas kasutajal ikka on see paketihaldur olemas, millega skripi käivitab.&lt;br /&gt;
   Olle skript töötab dpkg paketihalduriga linuxites (N: Ubuntu, Debian) ilusti.&lt;br /&gt;
   Aga Fedoras, kus on kasutusel rpm paketihaldur ei saa kasutada apt-get remove kernelite eemaldamiseks&lt;br /&gt;
   Meelis Tamm 16.05.2011 14:30&lt;br /&gt;
&lt;br /&gt;
=Quest 4=&lt;br /&gt;
Teha skript, mis ühendab lahti kõik kettajaod/saalealad etteantud kettalt ja kustutab partitsioonid sellelt kettalt.&lt;br /&gt;
&lt;br /&gt;
Skript peab kasutajat hoiatama, et eemaldatakse see ja too kettajagu.&lt;br /&gt;
&lt;br /&gt;
Skript annab vea, kui lahtiühendamine ei õnnestu.&lt;br /&gt;
&lt;br /&gt;
Skript kontrollib, kas kasutajal on piisavalt õiguseid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine: trash.sh &amp;lt;kettas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
näiteks: trash.sh /dev/sdb&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Uluuk]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus ja tehtud [[User:Mernits|Mernits]] 12:12, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 5=&lt;br /&gt;
Teha shell funktsioon, mis kontrollib faili olemasolu ja sellele antud õiguseid&lt;br /&gt;
&lt;br /&gt;
Näiteks on fail rwxrwxrwx /var/kala.txt&lt;br /&gt;
&lt;br /&gt;
funktsioon välja kutsudes argumentidega  /var/kala.txt 777 tagastatakse 0&lt;br /&gt;
Teistel juhtudel:&lt;br /&gt;
1 - faili pole&lt;br /&gt;
2 - omanikul on valed õigused&lt;br /&gt;
3 - grupil on valed õigused&lt;br /&gt;
4 - teistel kasutajatel on valed õigused&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Krikko]] - parandatud&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Skangsep]] -Täiendatud.  Skript peab tegema exit 0 või 1 ... echoda pole vaja&lt;br /&gt;
&lt;br /&gt;
=Quest 6=&lt;br /&gt;
Teha skript save-alias, mis töötab nagu käsk alias, kuid salvestab loodud aliase .bashrc faili ja sourceb .bashrc faili.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Juhtus, et sai valmis:&lt;br /&gt;
[[User:Kkalder|Kkalder]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 12:36, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 7=&lt;br /&gt;
Looge skript mis lisab kasutaja nimetatud gruppi.&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima kas grupp on juba olemas, vajadusel grupi looma.&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima mitte ainult lokaalseid gruppe vaid ka globaalseid (LDAP).&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima ka seda, kas kasutaja on olemas, vajadusel küsib kas kasutaja luua või mitte.&lt;br /&gt;
&lt;br /&gt;
nt. ./att-to-group.sh kasutajanimi grupinimi&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mlehari]] &lt;br /&gt;
&lt;br /&gt;
Täiendused tehtud! --[[User:Mlehari|Mlehari]] 10:24, 13 May 2011 (EEST)&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 19:30, 16 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 8=&lt;br /&gt;
Luua skript, mis otsiks etteantud kataloogist ühesuguseid faile. Failide võrdlemine võiks toimuda md5sum tasandil. Loodav skript peaks olema suuteline leidma kõikide ühesuguste failide asukoha ja kuvama ka nende nimed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näideks failidel võivad olla erinevad nimed, kuid sama sisu : &lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  joujou&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  tere&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  hello&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  asd&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Vkolesni]]&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 12:19, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 9 Kasutajanime küsimine ja faili salvestamine=&lt;br /&gt;
Teha skript, mis küsib kasutajanime ja salvestab selle tekstifaili /var/tmp/username&lt;br /&gt;
&lt;br /&gt;
Peale nime küsimist küsib skript kinnitust, et nimi on õige.&lt;br /&gt;
&lt;br /&gt;
Skript kirjutab eelneva faili üle (kui ei saa üle kirjutada, siis annab vea)&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:okilk]]&lt;br /&gt;
Quest Lukus [[User:Mernits|Mernits]] 10:31, 17 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 10  - Keerukam - Mysql varukoopia tegemise skript (koos installiskriptiga) =&lt;br /&gt;
&lt;br /&gt;
NB: seda skripti võivad teha 3 inimest, kui iga inimene teeb ühe allosa.&lt;br /&gt;
&lt;br /&gt;
Taust: on varundusarvuti ja mysql andmebaasi arvuti. Andmebaasi arvutis töötab mysql server, mille külge otse üle võrgu ühenduda ei saa. Andmevaasist on vaja teha varukoopiaid, mida igapäevalselt kopeeritakse varundusserverisse. Varundusserver algatab kopeerimise ja autentimine käib võtmete abil.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript koosneb kolmest osast.&lt;br /&gt;
&lt;br /&gt;
*Skript, mis on mysql serveris ja käivitatakse cron abil. Skript teeb mydqldump -A ... käsuga koopia /var/varukoopiad kausta ja failinimega &amp;lt;DATE&amp;gt;-mysql-&amp;lt;masinanimi&amp;gt;.sql.gz - seega sisaldab kuupäeva ja masina nime, ning pakitakse kokku.&lt;br /&gt;
&lt;br /&gt;
*Teine skript kopeerib andmebaasiserverist varukoopiad varundusserverisse ja kustutab andmebaasiserverist varukoopiad, mis on vanemad, kui üks kuu&lt;br /&gt;
&lt;br /&gt;
*Kolmas skript on installatsiooniskript. See küsib andmebaasiserveri nime/parooli ja mysql root parooli.&lt;br /&gt;
Skript kopeerib esimese skripti andmebaasiserverisse ja seadistab sealse cron-i seda regulaarselt käivitama. Skript seadistab varundusserveri cron-i regulaarselt käivitama kopeerimise skripti.&lt;br /&gt;
&lt;br /&gt;
=Quest 11 - Skript paki installi kontrolliks=&lt;br /&gt;
Teha skript, mis kontrollib, kas etteantud tarkvarapakk on installeeritud. Kui on installeeritud, siis tagastab 0 ja vastasel juhul 1.&lt;br /&gt;
&lt;br /&gt;
is_installed.sh &amp;lt;pakinimi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:ikrustok]]&lt;br /&gt;
&lt;br /&gt;
Väikest mööndustega on skript OK (Kui keel on Eesti, siis skript ei toimi. Skripti algusesse  export LC_ALL=C oleks hea)&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 13:01, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 12 kasutaja/grupi olemasolu testimine=&lt;br /&gt;
&lt;br /&gt;
Teha skriptid is_user.sh is_group.sh mis kontrollivad, kas kasutaja või grupp eksisteerib.&lt;br /&gt;
&lt;br /&gt;
is_user.sh &amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is_group.sh &amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skriptid tagastavad 0, kui kasutaja/grupp on olemas ja 1 kui kasutajat/gruppi pole.&lt;br /&gt;
&lt;br /&gt;
Lahendus : [[User:Vvinogra]]&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 12:29, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 13 - kas kasutaja kuulub gruppi?=&lt;br /&gt;
&lt;br /&gt;
Teha skript user_in_group.sh mis kontrollib, kas etteantud kasutaja kuulub etteantud gruppi.&lt;br /&gt;
&lt;br /&gt;
Tagastab 0, kui kuulub ja 1 kui ei kuulu.&lt;br /&gt;
&lt;br /&gt;
user_in_group.sh &amp;lt;kasutaja&amp;gt; &amp;lt;grupp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Amill]] - lahendus OK [[User:Mernits|Mernits]] 12:55, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Skullara]] - lahendus OK - kuna leitud teisest lahendusest viga, siis lähevad punktid kirja... [[User:Mernits|Mernits]] 22:34, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 12:55, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 14 IP aliase loomine ja salvestamine=&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis loob ubuntu serverile IP aliase ja salvestab selle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add_ip.sh &amp;lt;IP aadress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skript teeb võrgule restardi ja kontrollib, kas IP vastab. (enne võiks pingida, et ip ei vastaks)&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:trohumet]] - Siin luuakse alati alias eth0:0, samas võib see juba olemas olla ja seda tuleks kontrollida ja seejärel luua eth0:1 jne. [[User:Mernits|Mernits]] 19:32, 16 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Parandused sisestatud 17.05.2011&lt;br /&gt;
&lt;br /&gt;
=Quest 15 - IP aliase kontroll =&lt;br /&gt;
&lt;br /&gt;
Skript kontrollib, kas Ubuntu serveris on seadistatud etteantud IP alias&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
is_ip_alias.sh &amp;lt;IP aadress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
return 0 - alias olemas&lt;br /&gt;
&lt;br /&gt;
return 1 - aliast pole&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:rsepp]]&lt;br /&gt;
&lt;br /&gt;
=Quest 16 - Osta elevant ära=&lt;br /&gt;
Teha programm, mis käivitamisel paku kasutajale &amp;quot;osta elevant ära&amp;quot; ja ootaks kasutaja sisendit. Ükskõik mida kasutaja sisestab ütleb skript &amp;quot;Seda ütlevad kõik, aga osta elevant ära&amp;quot; ja nii lõpmatuseni.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:skullara]]&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 14:21, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 17 - Kas serveris on piisavalt mälu=&lt;br /&gt;
Teha skript, mis kontrollib, kas servers on piisavalt operatiivmälu (näiteks mõne teenuse installi skript võiks seda teha)&lt;br /&gt;
&lt;br /&gt;
./ram.sh &amp;lt;mälu MB&amp;gt;&lt;br /&gt;
&lt;br /&gt;
./ram.sh 512&lt;br /&gt;
&lt;br /&gt;
Väljund:&lt;br /&gt;
exit 0 - mälu on piisavalt&lt;br /&gt;
&lt;br /&gt;
exit 1 - mälu pole piisavalt&lt;br /&gt;
&lt;br /&gt;
Lahendus : [[User:ttoppi]]&lt;br /&gt;
&lt;br /&gt;
=Quest 18=&lt;br /&gt;
&lt;br /&gt;
Tuleb tekitada skript, mis suunaks kasutaja viimati kasutatud failid nende  viimase muutmise kuupäeva järgi kaustadesse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript peab sisaldama: viite erinevat kausta.&lt;br /&gt;
&lt;br /&gt;
Skript peab tegema seda toimingut iga 2 päeva tagant ja teavitama kasutajat sellest, et failid on ümber jagatud.&lt;br /&gt;
&lt;br /&gt;
Skript peab peale failide sorteerimist ütlema mitu faili mingisse kausta tõsteti. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kaustadesse tuleb failid sorteerida järgmiselt: esimesse kausta peavad minema failid mida on viimati muudetud vähem kui 2 päeva tagasi, teisse kausta failid mis on muudetud 2-7 päeva tagasi, kolmandasse failid mis on 8-14 päeva tagasi muudetud, neljandasse kausta 15-29 päeva tagasi muudetud failid ja viiendaks 30 päeva ning vanemad failid mis on muudetud.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Iambos]]&lt;br /&gt;
&lt;br /&gt;
=Quest 19=&lt;br /&gt;
&lt;br /&gt;
Kasutaja saab määrata mis faile otsitakse (.torrent; .avi või mkv vmt.) kogusüsteemist. Kui failid on leitud peab skript kasutajale teada andma millised on failide nime. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript peab leidma kõik kasutaja poolt sisestatud lõpuga failid.&lt;br /&gt;
&lt;br /&gt;
Skript peab failid ära nummerdama ja kasutajale nende nimesid näitama.&lt;br /&gt;
&lt;br /&gt;
Skript peab võimaldama kasutajal valida numbritega failid mida soovib kustutada (Näiteks: 1-3, 9, 12, 19-20). Peab toimima valiku võimalus näiteks: 15-19&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima kas kasutajal on õigused faile kustutada. Kui õigused puuduvad tuleb anda vea teade. &lt;br /&gt;
&lt;br /&gt;
Skript peab peale kasutaja poolt valitud numbreid väljastama uuesti failide nimed mis on valitud ja küsima kas valitud failid on õiged. (kui on õiged peab sisestama 0 , kui valed siis 1)&lt;br /&gt;
&lt;br /&gt;
Skript peab peale failide kustutamist väljastama teate, et failid on kustutatud.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Msuursal]]&lt;br /&gt;
&lt;br /&gt;
=Quest 20=&lt;br /&gt;
Teha skript, mis käib läbi PATH muutuja sisu ja leiab sealt üles kataloogid, mida pole olemas.&lt;br /&gt;
Leitud olematud kataloogid kuvatakse kasutajale.&lt;br /&gt;
&lt;br /&gt;
Skript lisab uue PATH muutuja kasutaja profile faili&lt;br /&gt;
&lt;br /&gt;
=Quest 21=&lt;br /&gt;
Teha skript, mis lisab kataloogi PATH muutujasse (ja sinna faili, kus kasutaja oma PATH muutujat hoiab)&lt;br /&gt;
&lt;br /&gt;
./add_path.sh &amp;lt;KATALOOG&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Akannus]] Töötas Mac OS keskonnas. - See töötab siiski vaid root kasutaja alt (tavakasutaja ei kirjuta /etc/ kataloogi. Otsi, kus hoitakse tavakasutaja PATH väärtust, mida ta ise muuta saab. [[User:Mernits|Mernits]] 09:22, 17 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 22 - kontrollib, kas lokaalne kasutaja on lukus=&lt;br /&gt;
&lt;br /&gt;
./user_is_locked.sh &amp;lt;loginname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
exit 0 - kasutaja on lukus&lt;br /&gt;
&lt;br /&gt;
exit 1 - kasutaja pole lukus&lt;br /&gt;
&lt;br /&gt;
exit 2 - kasutajat pole üldse&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[User:skangsep]]&lt;br /&gt;
&lt;br /&gt;
=Quest 23=&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Bash_quests&amp;diff=32121</id>
		<title>Bash quests</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Bash_quests&amp;diff=32121"/>
		<updated>2011-05-17T07:36:00Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Quest 20 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Skriptimiskeeled]]&lt;br /&gt;
=Sissejuhatus=&lt;br /&gt;
Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole.&lt;br /&gt;
Skript tuleb panna Tudengi enda wiki lehele. Punktid saab esimene, kes antud questi täies mahus valmis sai. Kui lahendus pole rahuldav saab punktid järgmine OK lahenduse looja.&lt;br /&gt;
&lt;br /&gt;
Kui quest valmis, siis pane link questi juurde (nagu näites)&lt;br /&gt;
&lt;br /&gt;
Queste tuleb pidevalt juurde.&lt;br /&gt;
&lt;br /&gt;
=Quest 0 - Näide=&lt;br /&gt;
Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mernits]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 10:36, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 1 - Leia suured kaustad oma kodukataloogist=&lt;br /&gt;
&lt;br /&gt;
Probleem: Kodukaustast on vaja leida suured kataloogid ja teada, palju nendele ruumu kulub.&lt;br /&gt;
&lt;br /&gt;
Luua skript suuredkaustad.sh&lt;br /&gt;
&lt;br /&gt;
Väljasta kataloogid suuremad kõige alla kujul:&lt;br /&gt;
&lt;br /&gt;
20MB  Allalaadimised&lt;br /&gt;
&lt;br /&gt;
100MB Dokumendid&lt;br /&gt;
&lt;br /&gt;
hint: &#039;&#039;&#039;du -s * | sort -nr&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lahendus : [[User:Kakukk|Katrin Kukk]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus ja tehtud [[User:Mernits|Mernits]] 16:27, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 2=&lt;br /&gt;
Teha skript, mis taastab poolelijäänud tarkvarapaigalduse (apt-get baasil)&lt;br /&gt;
&lt;br /&gt;
Kui näiteks kasutaja tahab midagi installeerida ja talle öeldakse, et eelmine install jäi pooleli (vool läks ära või mis iganes), siis viidaks installeerimine/konfigureerimine lõpuni.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Hvosujal]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 13:37, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 3=&lt;br /&gt;
Teha skript, mis eemaldab vanad kernelid (jätab alles kaks viimast). Tulemuseks on grub2 menüüs näha kahe viimase kerneli ridu ja vanade kernelite arvelt hoitakse kettaruumi kokku.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:otuur]]&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Metamm]] - Parandatud 16.05 14:24&lt;br /&gt;
   Rpm eemaldust kasutades ubuntu 10.10&#039;ga saab teate &amp;quot;head: unrecognized option &#039;--1&#039;&amp;quot;&lt;br /&gt;
   peale seda teavitatakse, kasutajat, et skript kustutas kõik kernelid peale kahe viimase, ometi seda ei toimunud. Dpkg eemaldus toimib.&lt;br /&gt;
   Olle Tuur 13.05.2011 21:38&lt;br /&gt;
&lt;br /&gt;
   Parandasin Olle välja toodud vea, nüüd skript kontrollib, kas kasutajal ikka on see paketihaldur olemas, millega skripi käivitab.&lt;br /&gt;
   Olle skript töötab dpkg paketihalduriga linuxites (N: Ubuntu, Debian) ilusti.&lt;br /&gt;
   Aga Fedoras, kus on kasutusel rpm paketihaldur ei saa kasutada apt-get remove kernelite eemaldamiseks&lt;br /&gt;
   Meelis Tamm 16.05.2011 14:30&lt;br /&gt;
&lt;br /&gt;
=Quest 4=&lt;br /&gt;
Teha skript, mis ühendab lahti kõik kettajaod/saalealad etteantud kettalt ja kustutab partitsioonid sellelt kettalt.&lt;br /&gt;
&lt;br /&gt;
Skript peab kasutajat hoiatama, et eemaldatakse see ja too kettajagu.&lt;br /&gt;
&lt;br /&gt;
Skript annab vea, kui lahtiühendamine ei õnnestu.&lt;br /&gt;
&lt;br /&gt;
Skript kontrollib, kas kasutajal on piisavalt õiguseid.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Käivitamine: trash.sh &amp;lt;kettas&amp;gt;&lt;br /&gt;
&lt;br /&gt;
näiteks: trash.sh /dev/sdb&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Uluuk]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus ja tehtud [[User:Mernits|Mernits]] 12:12, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 5=&lt;br /&gt;
Teha shell funktsioon, mis kontrollib faili olemasolu ja sellele antud õiguseid&lt;br /&gt;
&lt;br /&gt;
Näiteks on fail rwxrwxrwx /var/kala.txt&lt;br /&gt;
&lt;br /&gt;
funktsioon välja kutsudes argumentidega  /var/kala.txt 777 tagastatakse 0&lt;br /&gt;
Teistel juhtudel:&lt;br /&gt;
1 - faili pole&lt;br /&gt;
2 - omanikul on valed õigused&lt;br /&gt;
3 - grupil on valed õigused&lt;br /&gt;
4 - teistel kasutajatel on valed õigused&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Krikko]] - parandatud&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Skangsep]] -Täiendatud.  Skript peab tegema exit 0 või 1 ... echoda pole vaja&lt;br /&gt;
&lt;br /&gt;
=Quest 6=&lt;br /&gt;
Teha skript save-alias, mis töötab nagu käsk alias, kuid salvestab loodud aliase .bashrc faili ja sourceb .bashrc faili.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Juhtus, et sai valmis:&lt;br /&gt;
[[User:Kkalder|Kkalder]]&lt;br /&gt;
&lt;br /&gt;
Quest lukus (tehtud) [[User:Mernits|Mernits]] 12:36, 10 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 7=&lt;br /&gt;
Looge skript mis lisab kasutaja nimetatud gruppi.&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima kas grupp on juba olemas, vajadusel grupi looma.&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima mitte ainult lokaalseid gruppe vaid ka globaalseid (LDAP).&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima ka seda, kas kasutaja on olemas, vajadusel küsib kas kasutaja luua või mitte.&lt;br /&gt;
&lt;br /&gt;
nt. ./att-to-group.sh kasutajanimi grupinimi&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Mlehari]] &lt;br /&gt;
&lt;br /&gt;
Täiendused tehtud! --[[User:Mlehari|Mlehari]] 10:24, 13 May 2011 (EEST)&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 19:30, 16 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 8=&lt;br /&gt;
Luua skript, mis otsiks etteantud kataloogist ühesuguseid faile. Failide võrdlemine võiks toimuda md5sum tasandil. Loodav skript peaks olema suuteline leidma kõikide ühesuguste failide asukoha ja kuvama ka nende nimed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Näideks failidel võivad olla erinevad nimed, kuid sama sisu : &lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  joujou&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  tere&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  hello&lt;br /&gt;
&lt;br /&gt;
fca209683890bb2a02c60535ca82f920  asd&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Vkolesni]]&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 12:19, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 9 Kasutajanime küsimine ja faili salvestamine=&lt;br /&gt;
Teha skript, mis küsib kasutajanime ja salvestab selle tekstifaili /var/tmp/username&lt;br /&gt;
&lt;br /&gt;
Peale nime küsimist küsib skript kinnitust, et nimi on õige.&lt;br /&gt;
&lt;br /&gt;
Skript kirjutab eelneva faili üle (kui ei saa üle kirjutada, siis annab vea)&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:okilk]]&lt;br /&gt;
Quest Lukus [[User:Mernits|Mernits]] 10:31, 17 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 10  - Keerukam - Mysql varukoopia tegemise skript (koos installiskriptiga) =&lt;br /&gt;
&lt;br /&gt;
NB: seda skripti võivad teha 3 inimest, kui iga inimene teeb ühe allosa.&lt;br /&gt;
&lt;br /&gt;
Taust: on varundusarvuti ja mysql andmebaasi arvuti. Andmebaasi arvutis töötab mysql server, mille külge otse üle võrgu ühenduda ei saa. Andmevaasist on vaja teha varukoopiaid, mida igapäevalselt kopeeritakse varundusserverisse. Varundusserver algatab kopeerimise ja autentimine käib võtmete abil.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript koosneb kolmest osast.&lt;br /&gt;
&lt;br /&gt;
*Skript, mis on mysql serveris ja käivitatakse cron abil. Skript teeb mydqldump -A ... käsuga koopia /var/varukoopiad kausta ja failinimega &amp;lt;DATE&amp;gt;-mysql-&amp;lt;masinanimi&amp;gt;.sql.gz - seega sisaldab kuupäeva ja masina nime, ning pakitakse kokku.&lt;br /&gt;
&lt;br /&gt;
*Teine skript kopeerib andmebaasiserverist varukoopiad varundusserverisse ja kustutab andmebaasiserverist varukoopiad, mis on vanemad, kui üks kuu&lt;br /&gt;
&lt;br /&gt;
*Kolmas skript on installatsiooniskript. See küsib andmebaasiserveri nime/parooli ja mysql root parooli.&lt;br /&gt;
Skript kopeerib esimese skripti andmebaasiserverisse ja seadistab sealse cron-i seda regulaarselt käivitama. Skript seadistab varundusserveri cron-i regulaarselt käivitama kopeerimise skripti.&lt;br /&gt;
&lt;br /&gt;
=Quest 11 - Skript paki installi kontrolliks=&lt;br /&gt;
Teha skript, mis kontrollib, kas etteantud tarkvarapakk on installeeritud. Kui on installeeritud, siis tagastab 0 ja vastasel juhul 1.&lt;br /&gt;
&lt;br /&gt;
is_installed.sh &amp;lt;pakinimi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[User:ikrustok]]&lt;br /&gt;
&lt;br /&gt;
Väikest mööndustega on skript OK (Kui keel on Eesti, siis skript ei toimi. Skripti algusesse  export LC_ALL=C oleks hea)&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 13:01, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 12 kasutaja/grupi olemasolu testimine=&lt;br /&gt;
&lt;br /&gt;
Teha skriptid is_user.sh is_group.sh mis kontrollivad, kas kasutaja või grupp eksisteerib.&lt;br /&gt;
&lt;br /&gt;
is_user.sh &amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is_group.sh &amp;lt;username&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skriptid tagastavad 0, kui kasutaja/grupp on olemas ja 1 kui kasutajat/gruppi pole.&lt;br /&gt;
&lt;br /&gt;
Lahendus : [[User:Vvinogra]]&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 12:29, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 13 - kas kasutaja kuulub gruppi?=&lt;br /&gt;
&lt;br /&gt;
Teha skript user_in_group.sh mis kontrollib, kas etteantud kasutaja kuulub etteantud gruppi.&lt;br /&gt;
&lt;br /&gt;
Tagastab 0, kui kuulub ja 1 kui ei kuulu.&lt;br /&gt;
&lt;br /&gt;
user_in_group.sh &amp;lt;kasutaja&amp;gt; &amp;lt;grupp&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Amill]] - lahendus OK [[User:Mernits|Mernits]] 12:55, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Skullara]] - lahendus OK - kuna leitud teisest lahendusest viga, siis lähevad punktid kirja... [[User:Mernits|Mernits]] 22:34, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Quest lukus [[User:Mernits|Mernits]] 12:55, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 14 IP aliase loomine ja salvestamine=&lt;br /&gt;
&lt;br /&gt;
Teha skript, mis loob ubuntu serverile IP aliase ja salvestab selle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
add_ip.sh &amp;lt;IP aadress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Skript teeb võrgule restardi ja kontrollib, kas IP vastab. (enne võiks pingida, et ip ei vastaks)&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:trohumet]] - Siin luuakse alati alias eth0:0, samas võib see juba olemas olla ja seda tuleks kontrollida ja seejärel luua eth0:1 jne. [[User:Mernits|Mernits]] 19:32, 16 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
Parandused sisestatud 17.05.2011&lt;br /&gt;
&lt;br /&gt;
=Quest 15 - IP aliase kontroll =&lt;br /&gt;
&lt;br /&gt;
Skript kontrollib, kas Ubuntu serveris on seadistatud etteantud IP alias&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
is_ip_alias.sh &amp;lt;IP aadress&amp;gt;&lt;br /&gt;
&lt;br /&gt;
return 0 - alias olemas&lt;br /&gt;
&lt;br /&gt;
return 1 - aliast pole&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:rsepp]]&lt;br /&gt;
&lt;br /&gt;
=Quest 16 - Osta elevant ära=&lt;br /&gt;
Teha programm, mis käivitamisel paku kasutajale &amp;quot;osta elevant ära&amp;quot; ja ootaks kasutaja sisendit. Ükskõik mida kasutaja sisestab ütleb skript &amp;quot;Seda ütlevad kõik, aga osta elevant ära&amp;quot; ja nii lõpmatuseni.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:skullara]]&lt;br /&gt;
&lt;br /&gt;
Quest tehtud [[User:Mernits|Mernits]] 14:21, 12 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 17 - Kas serveris on piisavalt mälu=&lt;br /&gt;
Teha skript, mis kontrollib, kas servers on piisavalt operatiivmälu (näiteks mõne teenuse installi skript võiks seda teha)&lt;br /&gt;
&lt;br /&gt;
./ram.sh &amp;lt;mälu MB&amp;gt;&lt;br /&gt;
&lt;br /&gt;
./ram.sh 512&lt;br /&gt;
&lt;br /&gt;
Väljund:&lt;br /&gt;
exit 0 - mälu on piisavalt&lt;br /&gt;
&lt;br /&gt;
exit 1 - mälu pole piisavalt&lt;br /&gt;
&lt;br /&gt;
Lahendus : [[User:ttoppi]]&lt;br /&gt;
&lt;br /&gt;
=Quest 18=&lt;br /&gt;
&lt;br /&gt;
Tuleb tekitada skript, mis suunaks kasutaja viimati kasutatud failid nende  viimase muutmise kuupäeva järgi kaustadesse. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript peab sisaldama: viite erinevat kausta.&lt;br /&gt;
&lt;br /&gt;
Skript peab tegema seda toimingut iga 2 päeva tagant ja teavitama kasutajat sellest, et failid on ümber jagatud.&lt;br /&gt;
&lt;br /&gt;
Skript peab peale failide sorteerimist ütlema mitu faili mingisse kausta tõsteti. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kaustadesse tuleb failid sorteerida järgmiselt: esimesse kausta peavad minema failid mida on viimati muudetud vähem kui 2 päeva tagasi, teisse kausta failid mis on muudetud 2-7 päeva tagasi, kolmandasse failid mis on 8-14 päeva tagasi muudetud, neljandasse kausta 15-29 päeva tagasi muudetud failid ja viiendaks 30 päeva ning vanemad failid mis on muudetud.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Iambos]]&lt;br /&gt;
&lt;br /&gt;
=Quest 19=&lt;br /&gt;
&lt;br /&gt;
Kasutaja saab määrata mis faile otsitakse (.torrent; .avi või mkv vmt.) kogusüsteemist. Kui failid on leitud peab skript kasutajale teada andma millised on failide nime. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Skript peab leidma kõik kasutaja poolt sisestatud lõpuga failid.&lt;br /&gt;
&lt;br /&gt;
Skript peab failid ära nummerdama ja kasutajale nende nimesid näitama.&lt;br /&gt;
&lt;br /&gt;
Skript peab võimaldama kasutajal valida numbritega failid mida soovib kustutada (Näiteks: 1-3, 9, 12, 19-20). Peab toimima valiku võimalus näiteks: 15-19&lt;br /&gt;
&lt;br /&gt;
Skript peab kontrollima kas kasutajal on õigused faile kustutada. Kui õigused puuduvad tuleb anda vea teade. &lt;br /&gt;
&lt;br /&gt;
Skript peab peale kasutaja poolt valitud numbreid väljastama uuesti failide nimed mis on valitud ja küsima kas valitud failid on õiged. (kui on õiged peab sisestama 0 , kui valed siis 1)&lt;br /&gt;
&lt;br /&gt;
Skript peab peale failide kustutamist väljastama teate, et failid on kustutatud.&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Msuursal]]&lt;br /&gt;
&lt;br /&gt;
=Quest 20=&lt;br /&gt;
Teha skript, mis käib läbi PATH muutuja sisu ja leiab sealt üles kataloogid, mida pole olemas.&lt;br /&gt;
Leitud olematud kataloogid kuvatakse kasutajale.&lt;br /&gt;
&lt;br /&gt;
Skript lisab uue PATH muutuja kasutaja profile faili&lt;br /&gt;
&lt;br /&gt;
=Quest 21=&lt;br /&gt;
Teha skript, mis lisab kataloogi PATH muutujasse (ja sinna faili, kus kasutaja oma PATH muutujat hoiab)&lt;br /&gt;
&lt;br /&gt;
./add_path.sh &amp;lt;KATALOOG&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lahendus: [[User:Akannus]] Töötas Mac OS keskonnas. - See töötab siiski vaid root kasutaja alt (tavakasutaja ei kirjuta /etc/ kataloogi. Otsi, kus hoitakse tavakasutaja PATH väärtust, mida ta ise muuta saab. [[User:Mernits|Mernits]] 09:22, 17 May 2011 (EEST)&lt;br /&gt;
&lt;br /&gt;
=Quest 22 - kontrollib, kas lokaalne kasutaja on lukus=&lt;br /&gt;
&lt;br /&gt;
./user_is_locked.sh &amp;lt;loginname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
exit 0 - kasutaja on lukus&lt;br /&gt;
&lt;br /&gt;
exit 1 - kasutaja pole lukus&lt;br /&gt;
&lt;br /&gt;
exit 2 - kasutajat pole üldse&lt;br /&gt;
&lt;br /&gt;
=Quest 23=&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32120</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32120"/>
		<updated>2011-05-17T07:31:07Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: QUEST 5 ver.0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
20q&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: 0.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pooleli veel&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32118</id>
		<title>User:Skangsep</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=User:Skangsep&amp;diff=32118"/>
		<updated>2011-05-17T07:30:17Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: 0.1&lt;br /&gt;
 &lt;br /&gt;
#Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid.&lt;br /&gt;
#Õigused tuleks sisestada täht-formaadis, mitte oktaalformaadis (777=rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
#Kasutaja sisestab failinime, mille õigusi soovib kontrollida&lt;br /&gt;
read -p &amp;quot;Järgnev skript kontrollib faili olemasolu ja sellele antud õiguseid. &lt;br /&gt;
Need tuleks sisestada täht-formaadis, mitte oktaalformaadis (näide - rwxrwxrwx).&lt;br /&gt;
 &lt;br /&gt;
Sisesta failinimi : &amp;quot; file&lt;br /&gt;
 &lt;br /&gt;
#Vaatame kas selline fail on üldse olemas:&lt;br /&gt;
if [ ! -e $file ]; then&lt;br /&gt;
exit 1&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
#Seejärel sisestab õigused, milliste vastu ta kontrollida tahab.&lt;br /&gt;
#Koostasin kontrolli, et oleks kindel, et pikkus=9 märki&lt;br /&gt;
OK=0&lt;br /&gt;
while [ &amp;quot;$OK&amp;quot; != 1 ] ; do&lt;br /&gt;
    echo &amp;quot;Sisesta soovitud õigused, peab olema 9-tähemärgi pikkune&amp;quot;&lt;br /&gt;
    read s_6igus&lt;br /&gt;
 &lt;br /&gt;
    LENGTH=`echo -n $s_6igus | wc -m | sed -e s/^\s+//`&lt;br /&gt;
    echo $LENGTH&lt;br /&gt;
 &lt;br /&gt;
    if [ $LENGTH != 9 ]; then&lt;br /&gt;
        echo &amp;quot;Peab olema 9 tähemärgi pikkune, sisesta uuesti&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
        echo &amp;quot;Tubli, saidki hakkama&amp;quot;&lt;br /&gt;
	OK=1&lt;br /&gt;
    fi&lt;br /&gt;
done&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt leitakse failiõigused:&lt;br /&gt;
f_6igus=(`stat -c %A $file`)&lt;br /&gt;
#Eemaldatakse kataloogieristus&lt;br /&gt;
f_6igus=`echo -n $f_6igus | cut -c2-10`&lt;br /&gt;
 &lt;br /&gt;
#Järgnevalt eristatakse grupi, omaniku, teisteõigused:&lt;br /&gt;
 &lt;br /&gt;
#omanik (faili)&lt;br /&gt;
w_6igus=`echo -n $f_6igus | cut -c1-3`&lt;br /&gt;
echo faili omanikuõigus:  $w_6igus&lt;br /&gt;
#grupp (faili)&lt;br /&gt;
g_6igus=`echo -n $f_6igus | cut -c4-6`&lt;br /&gt;
echo faili grupiõigus: $g_6igus&lt;br /&gt;
#teised (faili)&lt;br /&gt;
o_6igus=`echo -n $f_6igus | cut -c7-9`&lt;br /&gt;
echo faili teiste 6igused: $o_6igus&lt;br /&gt;
 &lt;br /&gt;
#Sama asi kasutaja sisestatud õiguste puhul&lt;br /&gt;
 &lt;br /&gt;
#omanik (kasutaja sisestatud)&lt;br /&gt;
ws_6igus=`echo -n $s_6igus | cut -c1-3`&lt;br /&gt;
echo sisestatud omanikuõigus: $ws_6igus&lt;br /&gt;
#grupp (kasutaja sisestatud)&lt;br /&gt;
gs_6igus=`echo -n $s_6igus | cut -c4-6`&lt;br /&gt;
echo sisestatud grupiõigus: $gs_6igus&lt;br /&gt;
#teised (kasutaja sisestatud)&lt;br /&gt;
oo_6igus=`echo -n $s_6igus | cut -c7-9`&lt;br /&gt;
echo sisestatud teiste 6igused: $oo_6igus&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
#Õiguste võrdlemise loogika&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; = &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 0&lt;br /&gt;
fi &lt;br /&gt;
if [ &amp;quot;$w_6igus&amp;quot; != &amp;quot;$ws_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 2&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$g_6igus&amp;quot; != &amp;quot;$gs_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 3&lt;br /&gt;
fi&lt;br /&gt;
if [ &amp;quot;$o_6igus&amp;quot; != &amp;quot;$oo_6igus&amp;quot; ]; then	&lt;br /&gt;
	exit 4&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
20q&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#Koostaja: Siim Kängsepp, skangsep@itcollege.ee&lt;br /&gt;
#Versioon: 0.1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pooleli veel&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=32059</id>
		<title>LVM</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=32059"/>
		<updated>2011-05-16T21:08:57Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Juhend kettaruumi lisamiseks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
Järgnev artikkel on kettajagude haldustööriistast &#039;&#039;&#039;LVM&#039;&#039;&#039;. Eesmärgiks on tutvustada lugejale vahendi tööpõhimõtteid ning näidata praktilist väärtust. Kuna LVM-i praktiline kasutusala väga suur, siis lisasin wikilehe lõppu lingid, mille abil on võimalik soovikorral tööriista nüanssidest lähemalt ja täpsemalt tutvuda (kasutatud lingid). Juhend on koostatud ühest variandist, kuidas LVM abil kettaruumi suurendada. &lt;br /&gt;
&lt;br /&gt;
Eeldused:&lt;br /&gt;
*Kuna referaat on koostatud aine &amp;quot;Operatsioonisüsteemide sidumine&amp;quot; raames, ning linuxis tunnen ma ennast veel ainult väga põgusalt &amp;quot;kodus.&amp;quot; Eeldan artiklilugejat umbes samas skoobis olevat, st et oskab terminali algtasemel kasutada ning tunneb ka UNIX-le omast kataloogistruktuuri. Juhendis on toodud kõik minu poolt sisestatud käsud ning ka väljundid välja. &lt;br /&gt;
&lt;br /&gt;
*LVM on sisseehitatud enamustele Linuxi distributsioonidele, seetõttu mingid lisavahendeid või rakendusi pole vaja installeerida. Kuid kui mingil põhjusel puudub, on pakk ja täpsemad juhised võimalik soetada siit : [http://sourceware.org/lvm/]&lt;br /&gt;
&lt;br /&gt;
*Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine - varukoopiad!. &lt;br /&gt;
&lt;br /&gt;
*Kui tunned end ebakindlalt, tee algul läbi virtuaalmasinas&lt;br /&gt;
&lt;br /&gt;
*Tuttav võiks olla ka järgnevate teemadega:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kasulik lugemine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[NTFS_vs_Ext4]]&lt;br /&gt;
&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
==Mis on LVM ?==&lt;br /&gt;
&lt;br /&gt;
[[File:lvm&#039;1.jpg|200px|thumb|right|LVM - struktuur]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM&#039;&#039;&#039; (&#039;&#039;Logical Volume Manager&#039;&#039;) on kettajagude haldusvahend Linuxikeskkonnas. &lt;br /&gt;
&lt;br /&gt;
Ta on loodud kihina ketaste ja failisüsteemi vahele ning ettekujutus oleks selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID&lt;br /&gt;
* Füüsilised plokkseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
Lihtsustatult võiks öelda, et ühe LVM moodustab kihi, millega saab hallata korraga mitu (loogilist) kettajagu. Need koosnevad omakorda mitmest füüsilisest salvestusüksusest(kõvaketas, mingi muu kirjutav/lugev ajam).&lt;br /&gt;
&lt;br /&gt;
== LVM1 vs LVM2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM-i on arendatud alates LVM1-st ning seda kuni versioonini 0.19 (2006-11-27), peale seda lõpetati ning hakati arendama teist versiooni, mis nimetati LVM2-ks. LVM2 on tagasiühilduv (&#039;&#039;backwards - compatible&#039;&#039; - st. ühildub vanemate versioonidega) ning kasutab samasugust käsureastruktuuri. Omab muudetud ja täiustatud on jõudlust: &lt;br /&gt;
näiteks nüüd on toetatud klastrid ning väga suur arv kettaid. Kiiremaks on muudetud ja &#039;&#039;recovery&#039;&#039;-protseduurid.&lt;br /&gt;
&lt;br /&gt;
Näited muudatustest:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM1 | LVM2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Ei&#039;&#039;&#039; - &#039;&#039;RHEL AS 2.1&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - &#039;&#039;RHEL 4&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Kiirem metaandmete käsitlemine (seotud taastamisprotsessi kiirusega)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - jagatud köited (&#039;&#039;volume&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Klastrid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Triibutatud köidete laiendatavus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Read-only&#039;&#039; hetktõmmis | &#039;&#039;Read-write&#039;&#039; hetktõmmis&lt;br /&gt;
&lt;br /&gt;
256 | 2(astmes)32 - Max kettajagude arv&lt;br /&gt;
&lt;br /&gt;
2 Tb | 8 Eb (Exabyte) - Max füüsilise ajami maht&lt;br /&gt;
&lt;br /&gt;
== Võimalused ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Muuta olemasoleva failisüsteemi suurust, eeldusel et failisüsteem seda toetab&lt;br /&gt;
* Tekitada kõvakettale partitsioone juurde, neid eemaldada. Sealjuures ei ole kasutusel olevate partitsioonitabelite muutmisel vaja opsüsteemi alglaadida.&lt;br /&gt;
* Hiljem partitsioonide suurusi muuta ilma andmekadudeta.&lt;br /&gt;
* Ühendada kokku väiksemaid füüsilised plokkseadmed üheks suuremaks loogiliseks seadmeks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM on kasutatav lisaks veel paljudeks tegevusteks. Sealhulgas:&lt;br /&gt;
&lt;br /&gt;
* failisüsteemide &#039;&#039;snapshottide&#039;&#039; tegemine ja kasutamine&lt;br /&gt;
* loogiliste ketaste triibutamine sarnaselt RAID-0 -le&lt;br /&gt;
* tervete ketaste või osade peegeldamine sarnaselt RAID-1 -le&lt;br /&gt;
* ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Negatiivsed küljed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Süsteemi taastamine võib osutuda väga keeruliseks.&lt;br /&gt;
*Alglaadimisaeg võib muutuda pikemaks&lt;br /&gt;
*Ajapikku võib probleemiks osutuda loogiliste kettajagude fragmenteeritus, mis muudab I/O jõudlust negatiivselt. See tuleneb sellest, et salvestusseadmed ei eralda vajalikku mahtu järjest.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Juhend kettaruumi lisamiseks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pahatihti on vaja tööjaamale, serverile kettaruumi juurde. Seda on võimalik teha, lisades uue ketta ning ühendades selle näiteks kodukataloogiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Füüsiliste ketaste kohta saad infot:&lt;br /&gt;
 [root@localhost ~]# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 40.0 GB, 40060403712 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 4870 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sda1 * 1 13 104391 83 Linux&lt;br /&gt;
 /dev/sda2 14 4870 39013852+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
&lt;br /&gt;
Dev/sda peal on OS ning seal on partitsioon juba olemas. Disk /dev/sdb on uus ketas, mida tahame lisada kodukataloogile. &lt;br /&gt;
Disk /dev/sdb peal ei ole veel partitsioonitabelit, kuna sinna ei ole seda kunagi tehtud. Teeme selle:&lt;br /&gt;
&lt;br /&gt;
 root@localhost:~# fdisk /dev/sdb&lt;br /&gt;
 WARNING: DOS-compatible mode is deprecated. It&#039;s strongly recommended to&lt;br /&gt;
         switch off the mode (command &#039;c&#039;) and change display units to&lt;br /&gt;
         sectors (command &#039;u&#039;).&lt;br /&gt;
 Command (m for help):&lt;br /&gt;
&lt;br /&gt;
 Vajutades m, saame käskude nimekirja:&lt;br /&gt;
&lt;br /&gt;
    Command (m for help): m&lt;br /&gt;
    Command action&lt;br /&gt;
   a   toggle a bootable flag&lt;br /&gt;
   b   edit bsd disklabel&lt;br /&gt;
   c   toggle the dos compatibility flag&lt;br /&gt;
   d   delete a partition&lt;br /&gt;
   l   list known partition types&lt;br /&gt;
   m   print this menu&lt;br /&gt;
   n   add a new partition&lt;br /&gt;
   o   create a new empty DOS partition table&lt;br /&gt;
   p   print the partition table&lt;br /&gt;
   q   quit without saving changes&lt;br /&gt;
   s   create a new empty Sun disklabel&lt;br /&gt;
   t   change a partition&#039;s system id&lt;br /&gt;
   u   change display/entry units&lt;br /&gt;
   v   verify the partition table&lt;br /&gt;
   w   write table to disk and exit&lt;br /&gt;
   x   extra functionality (experts only)&lt;br /&gt;
&lt;br /&gt;
Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): n&lt;br /&gt;
 Command action&lt;br /&gt;
 e extended&lt;br /&gt;
 p primary partition (1-4)&lt;br /&gt;
 p&lt;br /&gt;
 Partition number (1-4):&lt;br /&gt;
 1&lt;br /&gt;
 First cylinder (177545,&lt;br /&gt;
 default 1):&lt;br /&gt;
 Using default value 1&lt;br /&gt;
 Last cylinder or +size or +sizeM or +sizeK (177545,default 77545):&lt;br /&gt;
 Using default value 77545&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vajutades p saame kontrollida:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 83 Linux&lt;br /&gt;
&lt;br /&gt;
Partitsiooni ID tuleks vahetada 8e-ks, kuna see on tüüp, mida Linux-LVM toetab.&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM)&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
Oluline on vajutada w, et muudatused ka kirjutataks kettale:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
 Calling ioctl() to reread&lt;br /&gt;
 partition table.&lt;br /&gt;
 WARNING: If you have created or modified any DOS 6.x&lt;br /&gt;
 partitions, please see the fdisk manual page for additional&lt;br /&gt;
 information.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Järgnevalt teeme reboodi, kuid see ei ole ilmtingimata vajalik:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# reboot&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleks teha füüsiline kettajagu (märgistada ketas /dev/sdb füüsiliseks jaoks?):&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# pvcreate /dev/sdb1&lt;br /&gt;
 Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&lt;br /&gt;
 [root@localhost ~]#&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab käsuga:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# pvdisplay&lt;br /&gt;
 Physical&lt;br /&gt;
 volume PV&lt;br /&gt;
 Name /dev/sda2&lt;br /&gt;
 VG Name VolGroup00&lt;br /&gt;
 PV Size 37.21 GB / not usable 19.46 MB&lt;br /&gt;
 Allocatable yes&lt;br /&gt;
 PE Size (KByte) 32768&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Free PE 59&lt;br /&gt;
 Allocated PE 1131&lt;br /&gt;
 PV UUID 8iXatK0ULJBdMJeFuxzhfA38AZDB8mBO&lt;br /&gt;
&lt;br /&gt;
 NEW&lt;br /&gt;
 Physical volume PV&lt;br /&gt;
 Name /dev/sdb1&lt;br /&gt;
 VG Name&lt;br /&gt;
 PV Size 37.27 GB&lt;br /&gt;
 Allocatable NO&lt;br /&gt;
 PE Size (KByte) 0&lt;br /&gt;
 Total PE 0&lt;br /&gt;
 Free PE 0&lt;br /&gt;
 Allocated PE 0&lt;br /&gt;
 PV UUID YP01nVuh4jvlpDM5fPNOjOQQ8iSVEzCx&lt;br /&gt;
&lt;br /&gt;
Ketas on märgistatud uue füüsilise kettajaona. Nüüd tuleks see määrata /dev/sdb1 olemasolevasse kettajaogruppi. Gruppe saab näha käsuga vgdisplay:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# vgdisplay&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 1&lt;br /&gt;
 Metadata Sequence No 4&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 1&lt;br /&gt;
 Act PV 1&lt;br /&gt;
 VG Size 37.19 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 59 / 1.84 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovikorral on võimalik teha uus kettajagudegrupp käsuga &#039;&#039;vgcreate:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 vgcreate my_new_volume_group /dev/sda1 /dev/sdb1 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Meie praeguse grupi suurus on 37,19 GB - seda üritame uue kettaga suurendada. Füüsilise kettajao saame ühendada kettajagudegruppi käsuga:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# vgextend VolGroup00 /dev/sdb1&lt;br /&gt;
 Volume group &amp;quot;VolGroup00&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# vgdisplay&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 2&lt;br /&gt;
 Metadata Sequence No 5&lt;br /&gt;
&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 2&lt;br /&gt;
 Act PV 2&lt;br /&gt;
&lt;br /&gt;
 VG Size 74.44 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 2382&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 1251 / 39.09 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
Nüüd on suurus 74,44GB. Kuna meil on nüüd rohkem ruumi kettajagudegrupis, saame suurendada /var kataloogi. Teeme seda näiteks 20GB võrra. See käib käsuga:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# lvextend L+20G /dev/VolGroup00/Loogilinevoluum&lt;br /&gt;
 Extending logical volume Loogilinevoluum to 34.62 GB&lt;br /&gt;
 Logical volume Loogilinevoluum successfully resized&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks kodukataloog ning kettajagu lahti ühendada, mis seotud /var kataloogiga:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# umount /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Seejärel saab muuta failisüsteemi suurust käsuga:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost var]# resize2fs /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
 resize2fs 1.39 (02May2011)&lt;br /&gt;
 Filesystem at /dev/mapper/VolGroup00Loogilinevoluum is mounted on /var; online resizing required&lt;br /&gt;
 Performing an online resize of /dev/mapper/VolGroup00LogVolvar to 9076736 (4k) blocks.&lt;br /&gt;
 The filesystem on /dev/mapper/VolGroup00Loogilinevoluum is now 9076736 blocks long.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollides käsuga df-hf:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost var]# df -h&lt;br /&gt;
 Filesystem Size Used Avail Use% Mounted on&lt;br /&gt;
 /dev/mapper/VolGroup00LogVolfs 19G 2.5G 16G 14% /&lt;br /&gt;
 /dev/sda1 99M 11M 84M 12% /boot&lt;br /&gt;
 tmpfs 300M 0 300M 0% /dev/shm&lt;br /&gt;
 /dev/mapper/VolGroup00Loogilinevoluum 34G 226M 32G 1% /var&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Juhul kui füüsiliselt kettaruumi on kuid partitsioon ei mahuta enam, siis on LVM abil võimalik seda ka suurendada. Selle jaoks on tegelikult olemas ka spetsiaalsed programmid, mis lihtsustavad tunduvalt tegevust. Manuaalselt seda teha on üpriski tülikas. Üks näide sellisest vabavaralisest programmist on näiteks GParted - [http://gparted.sourceforge.net/features.php] . Nietatud programm toetab enamusi kasutuselolevatest failisüsteemidest, kaasaarvatud näiteks ext2, 3, 4, ntfs, FAT16, FAT32.&lt;br /&gt;
&lt;br /&gt;
== Kasutatud kirjandus ==&lt;br /&gt;
&lt;br /&gt;
http://www.gnu.org/software/parted/manual/html_chapter/parted_7.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_volume_management&lt;br /&gt;
&lt;br /&gt;
http://sourceware.org/lvm2/&lt;br /&gt;
&lt;br /&gt;
http://www.unixmultiverse.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=47&amp;amp;Itemid=53&lt;br /&gt;
&lt;br /&gt;
http://www.tldp.org/HOWTO/LVM-HOWTO/&lt;br /&gt;
&lt;br /&gt;
http://vallaste.ee/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=32056</id>
		<title>LVM</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=LVM&amp;diff=32056"/>
		<updated>2011-05-16T21:04:42Z</updated>

		<summary type="html">&lt;p&gt;Skangsep: /* Juhend kettaruumi lisamiseks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sissejuhatus ==&lt;br /&gt;
Järgnev artikkel on kettajagude haldustööriistast &#039;&#039;&#039;LVM&#039;&#039;&#039;. Eesmärgiks on tutvustada lugejale vahendi tööpõhimõtteid ning näidata praktilist väärtust. Kuna LVM-i praktiline kasutusala väga suur, siis lisasin wikilehe lõppu lingid, mille abil on võimalik soovikorral tööriista nüanssidest lähemalt ja täpsemalt tutvuda (kasutatud lingid). Juhend on koostatud ühest variandist, kuidas LVM abil kettaruumi suurendada. &lt;br /&gt;
&lt;br /&gt;
Eeldused:&lt;br /&gt;
*Kuna referaat on koostatud aine &amp;quot;Operatsioonisüsteemide sidumine&amp;quot; raames, ning linuxis tunnen ma ennast veel ainult väga põgusalt &amp;quot;kodus.&amp;quot; Eeldan artiklilugejat umbes samas skoobis olevat, st et oskab terminali algtasemel kasutada ning tunneb ka UNIX-le omast kataloogistruktuuri. Juhendis on toodud kõik minu poolt sisestatud käsud ning ka väljundid välja. &lt;br /&gt;
&lt;br /&gt;
*LVM on sisseehitatud enamustele Linuxi distributsioonidele, seetõttu mingid lisavahendeid või rakendusi pole vaja installeerida. Kuid kui mingil põhjusel puudub, on pakk ja täpsemad juhised võimalik soetada siit : [http://sourceware.org/lvm/]&lt;br /&gt;
&lt;br /&gt;
*Samuti peaks arvestama, et partitsioonitabelite muutmisega võib kaasneda andmete hävinemine - varukoopiad!. &lt;br /&gt;
&lt;br /&gt;
*Kui tunned end ebakindlalt, tee algul läbi virtuaalmasinas&lt;br /&gt;
&lt;br /&gt;
*Tuttav võiks olla ka järgnevate teemadega:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Kasulik lugemine&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[NTFS_vs_Ext4]]&lt;br /&gt;
&lt;br /&gt;
[[Mkfs]]&lt;br /&gt;
&lt;br /&gt;
[[Fdisk]]&lt;br /&gt;
&lt;br /&gt;
==Mis on LVM ?==&lt;br /&gt;
&lt;br /&gt;
[[File:lvm&#039;1.jpg|200px|thumb|right|LVM - struktuur]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM&#039;&#039;&#039; (&#039;&#039;Logical Volume Manager&#039;&#039;) on kettajagude haldusvahend Linuxikeskkonnas. &lt;br /&gt;
&lt;br /&gt;
Ta on loodud kihina ketaste ja failisüsteemi vahele ning ettekujutus oleks selline:&lt;br /&gt;
* Failisüsteemid&lt;br /&gt;
* LVM&lt;br /&gt;
* RAID&lt;br /&gt;
* Füüsilised plokkseadmed (kõvakettad)&lt;br /&gt;
&lt;br /&gt;
Lihtsustatult võiks öelda, et ühe LVM moodustab kihi, millega saab hallata korraga mitu (loogilist) kettajagu. Need koosnevad omakorda mitmest füüsilisest salvestusüksusest(kõvaketas, mingi muu kirjutav/lugev ajam).&lt;br /&gt;
&lt;br /&gt;
== LVM1 vs LVM2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM-i on arendatud alates LVM1-st ning seda kuni versioonini 0.19 (2006-11-27), peale seda lõpetati ning hakati arendama teist versiooni, mis nimetati LVM2-ks. LVM2 on tagasiühilduv (&#039;&#039;backwards - compatible&#039;&#039; - st. ühildub vanemate versioonidega) ning kasutab samasugust käsureastruktuuri. Omab muudetud ja täiustatud on jõudlust: &lt;br /&gt;
näiteks nüüd on toetatud klastrid ning väga suur arv kettaid. Kiiremaks on muudetud ja &#039;&#039;recovery&#039;&#039;-protseduurid.&lt;br /&gt;
&lt;br /&gt;
Näited muudatustest:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;LVM1 | LVM2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Ei&#039;&#039;&#039; - &#039;&#039;RHEL AS 2.1&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - &#039;&#039;RHEL 4&#039;&#039; tugi&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Kiirem metaandmete käsitlemine (seotud taastamisprotsessi kiirusega)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - jagatud köited (&#039;&#039;volume&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Klastrid&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Ei | Jah&#039;&#039;&#039; - Triibutatud köidete laiendatavus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Read-only&#039;&#039; hetktõmmis | &#039;&#039;Read-write&#039;&#039; hetktõmmis&lt;br /&gt;
&lt;br /&gt;
256 | 2(astmes)32 - Max kettajagude arv&lt;br /&gt;
&lt;br /&gt;
2 Tb | 8 Eb (Exabyte) - Max füüsilise ajami maht&lt;br /&gt;
&lt;br /&gt;
== Võimalused ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Muuta olemasoleva failisüsteemi suurust, eeldusel et failisüsteem seda toetab&lt;br /&gt;
* Tekitada kõvakettale partitsioone juurde, neid eemaldada. Sealjuures ei ole kasutusel olevate partitsioonitabelite muutmisel vaja opsüsteemi alglaadida.&lt;br /&gt;
* Hiljem partitsioonide suurusi muuta ilma andmekadudeta.&lt;br /&gt;
* Ühendada kokku väiksemaid füüsilised plokkseadmed üheks suuremaks loogiliseks seadmeks&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LVM on kasutatav lisaks veel paljudeks tegevusteks. Sealhulgas:&lt;br /&gt;
&lt;br /&gt;
* failisüsteemide &#039;&#039;snapshottide&#039;&#039; tegemine ja kasutamine&lt;br /&gt;
* loogiliste ketaste triibutamine sarnaselt RAID-0 -le&lt;br /&gt;
* tervete ketaste või osade peegeldamine sarnaselt RAID-1 -le&lt;br /&gt;
* ketaste liigutamine ja ühendamine üle võrgu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Negatiivsed küljed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Süsteemi taastamine võib osutuda väga keeruliseks.&lt;br /&gt;
*Alglaadimisaeg võib muutuda pikemaks&lt;br /&gt;
*Ajapikku võib probleemiks osutuda loogiliste kettajagude fragmenteeritus, mis muudab I/O jõudlust negatiivselt. See tuleneb sellest, et salvestusseadmed ei eralda vajalikku mahtu järjest.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Juhend kettaruumi lisamiseks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pahatihti on vaja tööjaamale, serverile kettaruumi juurde. Seda on võimalik teha, lisades uue ketta ning ühendades selle näiteks kodukataloogiga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Füüsiliste ketaste kohta saad infot:&lt;br /&gt;
 [root@localhost ~]# fdisk -l&lt;br /&gt;
 Disk /dev/sda: 40.0 GB, 40060403712 bytes&lt;br /&gt;
 255 heads, 63 sectors/track, 4870 cylinders&lt;br /&gt;
 Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sda1 * 1 13 104391 83 Linux&lt;br /&gt;
 /dev/sda2 14 4870 39013852+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
&lt;br /&gt;
Dev/sda peal on OS ning seal on partitsioon juba olemas. Disk /dev/sdb on uus ketas, mida tahame lisada kodukataloogile. &lt;br /&gt;
Disk /dev/sdb peal ei ole veel partitsioonitabelit, kuna sinna ei ole seda kunagi tehtud. Teeme selle:&lt;br /&gt;
&lt;br /&gt;
 root@localhost:~# fdisk /dev/sdb&lt;br /&gt;
 WARNING: DOS-compatible mode is deprecated. It&#039;s strongly recommended to&lt;br /&gt;
         switch off the mode (command &#039;c&#039;) and change display units to&lt;br /&gt;
         sectors (command &#039;u&#039;).&lt;br /&gt;
 Command (m for help):&lt;br /&gt;
&lt;br /&gt;
 Vajutades m, saame käskude nimekirja:&lt;br /&gt;
&lt;br /&gt;
    Command (m for help): m&lt;br /&gt;
    Command action&lt;br /&gt;
   a   toggle a bootable flag&lt;br /&gt;
   b   edit bsd disklabel&lt;br /&gt;
   c   toggle the dos compatibility flag&lt;br /&gt;
   d   delete a partition&lt;br /&gt;
   l   list known partition types&lt;br /&gt;
   m   print this menu&lt;br /&gt;
   n   add a new partition&lt;br /&gt;
   o   create a new empty DOS partition table&lt;br /&gt;
   p   print the partition table&lt;br /&gt;
   q   quit without saving changes&lt;br /&gt;
   s   create a new empty Sun disklabel&lt;br /&gt;
   t   change a partition&#039;s system id&lt;br /&gt;
   u   change display/entry units&lt;br /&gt;
   v   verify the partition table&lt;br /&gt;
   w   write table to disk and exit&lt;br /&gt;
   x   extra functionality (experts only)&lt;br /&gt;
&lt;br /&gt;
Lähtudes juhistest teeme partitsiooni ning kirjutame tabeli lõpuks ka kettale (!):&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): n&lt;br /&gt;
 Command action&lt;br /&gt;
 e extended&lt;br /&gt;
 p primary partition (1-4)&lt;br /&gt;
 p&lt;br /&gt;
 Partition number (1-4):&lt;br /&gt;
 1&lt;br /&gt;
 First cylinder (177545,&lt;br /&gt;
 default 1):&lt;br /&gt;
 Using default value 1&lt;br /&gt;
 Last cylinder or +size or +sizeM or +sizeK (177545,default 77545):&lt;br /&gt;
 Using default value 77545&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vajutades p saame kontrollida:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 83 Linux&lt;br /&gt;
&lt;br /&gt;
Partitsiooni ID tuleks vahetada 8e-ks, kuna see on tüüp, mida Linux-LVM toetab.&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): t&lt;br /&gt;
 Selected partition 1&lt;br /&gt;
 Hex code (type L to list codes): 8e&lt;br /&gt;
 Changed system type of partition 1 to 8e (Linux LVM)&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): p&lt;br /&gt;
 Disk /dev/sdb: 40.0 GB, 40020664320 bytes&lt;br /&gt;
 16 heads, 63 sectors/track, 77545 cylinders&lt;br /&gt;
 Units = cylinders of 1008 * 512 = 516096 bytes&lt;br /&gt;
&lt;br /&gt;
 Device Boot Start End Blocks Id System&lt;br /&gt;
 /dev/sdb1 1 77545 39082648+ 8e Linux LVM&lt;br /&gt;
&lt;br /&gt;
Oluline on vajutada w, et muudatused ka kirjutataks kettale:&lt;br /&gt;
&lt;br /&gt;
 Command (m for help): w&lt;br /&gt;
 The partition table has been altered!&lt;br /&gt;
 Calling ioctl() to reread&lt;br /&gt;
 partition table.&lt;br /&gt;
 WARNING: If you have created or modified any DOS 6.x&lt;br /&gt;
 partitions, please see the fdisk manual page for additional&lt;br /&gt;
 information.&lt;br /&gt;
 Syncing disks.&lt;br /&gt;
&lt;br /&gt;
Järgnevalt teeme reboodi, kuid see ei ole ilmtingimata vajalik:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# reboot&lt;br /&gt;
&lt;br /&gt;
Järgmisena tuleks teha füüsiline kettajagu (märgistada ketas /dev/sdb füüsiliseks jaoks?):&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# pvcreate /dev/sdb1&lt;br /&gt;
 Physical volume &amp;quot;/dev/sdb1&amp;quot; successfully created&lt;br /&gt;
 [root@localhost ~]#&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab käsuga:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# pvdisplay&lt;br /&gt;
 Physical&lt;br /&gt;
 volume PV&lt;br /&gt;
 Name /dev/sda2&lt;br /&gt;
 VG Name VolGroup00&lt;br /&gt;
 PV Size 37.21 GB / not usable 19.46 MB&lt;br /&gt;
 Allocatable yes&lt;br /&gt;
 PE Size (KByte) 32768&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Free PE 59&lt;br /&gt;
 Allocated PE 1131&lt;br /&gt;
 PV UUID 8iXatK0ULJBdMJeFuxzhfA38AZDB8mBO&lt;br /&gt;
&lt;br /&gt;
 NEW&lt;br /&gt;
 Physical volume PV&lt;br /&gt;
 Name /dev/sdb1&lt;br /&gt;
 VG Name&lt;br /&gt;
 PV Size 37.27 GB&lt;br /&gt;
 Allocatable NO&lt;br /&gt;
 PE Size (KByte) 0&lt;br /&gt;
 Total PE 0&lt;br /&gt;
 Free PE 0&lt;br /&gt;
 Allocated PE 0&lt;br /&gt;
 PV UUID YP01nVuh4jvlpDM5fPNOjOQQ8iSVEzCx&lt;br /&gt;
&lt;br /&gt;
Ketas on märgistatud uue füüsilise kettajaona. Nüüd tuleks see määrata /dev/sdb1 olemasolevasse kettajaogruppi. Gruppe saab näha käsuga vgdisplay:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# vgdisplay&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 1&lt;br /&gt;
 Metadata Sequence No 4&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 1&lt;br /&gt;
 Act PV 1&lt;br /&gt;
 VG Size 37.19 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 1190&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 59 / 1.84 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
Grupi praegune suurus on 37,19 GB - seda üritame uue kettaga suurendada. Füüsilise kettajao saame ühendada kettajagudegruppi käsuga:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# vgextend VolGroup00 /dev/sdb1&lt;br /&gt;
 Volume group &amp;quot;VolGroup00&amp;quot; successfully extended&lt;br /&gt;
&lt;br /&gt;
Kontrollida saab:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# vgdisplay&lt;br /&gt;
 Volume&lt;br /&gt;
 group VG&lt;br /&gt;
 Name VolGroup00&lt;br /&gt;
 System ID&lt;br /&gt;
 Format lvm2&lt;br /&gt;
 Metadata Areas 2&lt;br /&gt;
 Metadata Sequence No 5&lt;br /&gt;
&lt;br /&gt;
 VG Access read/write&lt;br /&gt;
 VG Status resizable&lt;br /&gt;
 MAX LV 0&lt;br /&gt;
 Cur LV 3&lt;br /&gt;
 Open LV 3&lt;br /&gt;
 Max PV 0&lt;br /&gt;
 Cur PV 2&lt;br /&gt;
 Act PV 2&lt;br /&gt;
&lt;br /&gt;
 VG Size 74.44 GB&lt;br /&gt;
 PE Size 32.00 MB&lt;br /&gt;
 Total PE 2382&lt;br /&gt;
 Alloc PE / Size 1131 / 35.34 GB&lt;br /&gt;
 Free PE / Size 1251 / 39.09 GB&lt;br /&gt;
 VG UUID Udjflk2VDAzucoZnkil7k1H12mxdwOi5&lt;br /&gt;
&lt;br /&gt;
Nüüd on suurus 74,44GB. Kuna meil on nüüd rohkem ruumi kettajagudegrupis, saame suurendada /var kataloogi. Teeme seda näiteks 20GB võrra. See käib käsuga:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# lvextend L+20G /dev/VolGroup00/Loogilinevoluum&lt;br /&gt;
 Extending logical volume Loogilinevoluum to 34.62 GB&lt;br /&gt;
 Logical volume Loogilinevoluum successfully resized&lt;br /&gt;
&lt;br /&gt;
Nüüd tuleks kodukataloog ning kettajagu lahti ühendada, mis seotud /var kataloogiga:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost ~]# umount /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Seejärel saab muuta failisüsteemi suurust käsuga:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost var]# resize2fs /dev/mapper/VolGroup00Loogilinevoluum&lt;br /&gt;
 resize2fs 1.39 (02May2011)&lt;br /&gt;
 Filesystem at /dev/mapper/VolGroup00Loogilinevoluum is mounted on /var; online resizing required&lt;br /&gt;
 Performing an online resize of /dev/mapper/VolGroup00LogVolvar to 9076736 (4k) blocks.&lt;br /&gt;
 The filesystem on /dev/mapper/VolGroup00Loogilinevoluum is now 9076736 blocks long.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollides käsuga df-hf:&lt;br /&gt;
&lt;br /&gt;
 [root@localhost var]# df -h&lt;br /&gt;
 Filesystem Size Used Avail Use% Mounted on&lt;br /&gt;
 /dev/mapper/VolGroup00LogVolfs 19G 2.5G 16G 14% /&lt;br /&gt;
 /dev/sda1 99M 11M 84M 12% /boot&lt;br /&gt;
 tmpfs 300M 0 300M 0% /dev/shm&lt;br /&gt;
 /dev/mapper/VolGroup00Loogilinevoluum 34G 226M 32G 1% /var&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Juhul kui füüsiliselt kettaruumi on kuid partitsioon ei mahuta enam, siis on LVM abil võimalik seda ka suurendada. Selle jaoks on tegelikult olemas ka spetsiaalsed programmid, mis lihtsustavad tunduvalt tegevust. Manuaalselt seda teha on üpriski tülikas. Üks näide sellisest vabavaralisest programmist on näiteks GParted - [http://gparted.sourceforge.net/features.php] . Nietatud programm toetab enamusi kasutuselolevatest failisüsteemidest, kaasaarvatud näiteks ext2, 3, 4, ntfs, FAT16, FAT32.&lt;br /&gt;
&lt;br /&gt;
== Kasutatud kirjandus ==&lt;br /&gt;
&lt;br /&gt;
http://www.gnu.org/software/parted/manual/html_chapter/parted_7.html&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_Volume_Manager_%28Linux%29&lt;br /&gt;
&lt;br /&gt;
http://en.wikipedia.org/wiki/Logical_volume_management&lt;br /&gt;
&lt;br /&gt;
http://sourceware.org/lvm2/&lt;br /&gt;
&lt;br /&gt;
http://www.unixmultiverse.com/index.php?option=com_content&amp;amp;view=article&amp;amp;id=47&amp;amp;Itemid=53&lt;br /&gt;
&lt;br /&gt;
http://www.tldp.org/HOWTO/LVM-HOWTO/&lt;br /&gt;
&lt;br /&gt;
http://vallaste.ee/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Koostas Siim Kängsepp A21&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Operatsioonisüsteemide administreerimine ja sidumine]]&lt;/div&gt;</summary>
		<author><name>Skangsep</name></author>
	</entry>
</feed>