Linuxi administreerimine eksamiabi 2014

From ICO wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Eksami näidiste lehe Sisukord

Eksami ajal saab veel kaitsta laboreid, kuid soovitav on need enne eksamit ära kaitsta, kuna eksam on päris pingeline.


Linux eksam on praktiline, koosneb neljast osast:

#1._Puppet_abil_tuleb_teha_lihtsaid_asju (kasutaja, kaust/fail teatud sisu ja õigustega, paigaldada pakke) 10p 10min

#2._Puppet_abil_teenuse_seadistamine_keerulisem 15p 15min (kui apache seadistamine, siis eemaldage paki apache kirjeldus)

#3._Linux_paigalduse_parandamine_.28lihtne.29 15p 10min

#4._Linux_paigalduse_parandamine_.28raske.29 9p 25min


1. Näiteülesanded:

  • Loo kasutaja kjk212 koos kodukasutaga
  • Paigalda pakk apache2
  • Paigalda pakk htop
  • Tekita fail, mille sisu on selle ülesande tekst asukohta /var/eksam/yl1.txt
  • Sea loodud faili omanikuks eespool loodud kasutaja ja grupiks audio. Sea õigused selliselt, et kasutaja saab kõike teha ja grupp lugeda/kirjutada. Teised ei saa midagi teha.

2. Näiteküsimused


3. Linux paigalduse parandamine (lihtne) 15min

  • Teil ununes root parool ära ja student kasutaja pole administraatorite grupis. (vana admin läks töölt ära ja parooli keegi ei mäleta)
  • Teie server tõsteti valesse VLANi (virtualboxis teise võrku)
  • Teie server tõsteti teise võrku, mille IP on teine ja võrgu administraator unustas teile seda öelda ja läks puhkusele (tehke nii, et töötaks)
  • Praktikal olev tudeng rikkus ära faili, kus määratakse alglaadimisel ühendatavad kettajaod ja failisüsteemid
  • Praktikal olev tudeng tegi katki puppet paigalduse (ja on endaga täitsa rahul) Tehke korda ja selgitage, mida ta valesti tegi.


4. Linux paigalduse parandamine (raske) 20min

  • Praktikal olev tudeng rikkus ära kõvaketta kettajagude tabeli. Taastage süsteem.
  • Praktikal olev tudeng kustustas ühelt kettalt palju pilte ja kettajagude tabeli. Taastage pildid.
  • Praktikal olev tudeng "konfigureeris" ehk saboteeris teie labor 2 teenuse ära - Tehke korda ja selgitage, mida ta valesti tegi.

1. Puppet abil tuleb teha lihtsaid asju

Loo kasutaja kjk212 koos kodukasutaga

Loo serveris /etc/puppet/manifests/classes/users.pp fail, sisuga

class users {
 user { 'kjk212':
  	ensure => present,
 	uid	=> '1500',
 	gid	=> 'root',
 	shell	=> '/bin/sh',
 	home	=> '/home/kjk212',
 	managehome => true,
       }
}

Failis '/etc/puppet/manifests/site.pp'
lisa 'include users' kliendi node alla

import "classes/*"
node 'client1.lab1' inherits basenode {
	include users
}

Paigalda pakk apache2 ja htop ning eemalda cowsay

Loo serveris /etc/puppet/manifests/classes/users.pp fail sisuga

class tarkvara { 
         package { ['htop', 'apache2']: ensure => latest, } 
         package { 'cowsay': ensure => absent,} 
}

Failis '/etc/puppet/manifests/site.pp'
lisa 'include tarkvara' kliendi node alla

import "classes/*"
node 'client1.lab1' inherits basenode {
	include tarkvara
}

Tekita fail, mille sisu on

Tekita fail, mille sisu on selle ülesande tekst asukohta /var/eksam/yl1.txt
Sea loodud faili omanikuks eespool loodud kasutaja ja grupiks audio. Sea õigused selliselt, et kasutaja saab kõike teha ja grupp lugeda/kirjutada. Teised ei saa midagi teha

Loo serveris /etc/puppet/manifests/classes/fail.pp , sisuga

class lihtne {
 file { "/var/eksam/yl1.txt": 
                ensure => present, 
                mode => 760, 
                owner => kjk212, 
                group => audio, 
                content => "Tekita fail, mille sisu on selle ülesande tekst asukohta /var/eksam/yl1.txt
 Sea loodud faili omanikuks eespool loodud kasutaja ja grupiks audio. Sea õigused selliselt, et kasutaja saab kõike teha ja grupp lugeda/kirjutada. Teised ei saa midagi teha."
                }
 }

Kui kausta pole olemas, mille sisse fail tuleb luua lisa peale classi algust class lihtne { veel read

file { [ "/var/eksam/" ]:
		ensure => directory,
	}

Failis '/etc/puppet/manifests/site.pp'
lisa 'include lihtne' kliendi node alla

import "classes/*"
node 'client1.lab1' inherits basenode {
	include lihtne
}

2. Puppet_abil_teenuse_seadistamine_keerulisem

Paigalda www.planet.zz virtualhost

Esmalt lisa apache konfimise moodul

puppet module install puppetlabs/apache

ja host faili modimiseks

puppet module install puppetlabs/stdlib

Veendu, et mujal ei ole puppetis apache tarkvara pailgalduse käsku

Faili '/etc/puppet/manifests/classes/apache.pp' sisuks pane

class apachesrv {
	class { 'apache': }
 
	apache::vhost { 'www.planet.zz':
		port	=> '80',
		docroot => '/var/www/www.planet.zz',
	}
	file { "/var/www/www.planet.zz/index.html":
		ensure => present,
		content => "www.planet.zz\n<br\n>Server tootab\n",
	}
}

Kui pole dns-i, siis saab lisada hosts faili vastava rea lisades puppetis apache konfi lõppu enne } read

	file_line { 'host_planet':
		ensure => present,
		line => "127.0.0.1 www.planet.zz",
		path => '/etc/hosts',
	}

Failis '/etc/puppet/manifests/site.pp'
lisa 'include apachesrv' kliendi node alla

import "classes/*"
node 'client1.lab1' inherits basenode {
	include apachesrv
}

Paigalda ntp teenus

Esmalt lisa ntp konfimise moodul

puppet module install puppetlabs/apache

Faili '/etc/puppet/manifests/classes/ntpsrv.pp' sisuks pane

class ntpserver {
	class { '::ntp':
		servers => [ 'ntp.eenet.ee', 'ntp.ut.ee' ],
		panic => false, #Hea kasutada virtuaalmasinate puhul.
	}
}

Failis '/etc/puppet/manifests/site.pp'
lisa 'include ntpsrv' kliendi node alla

import "classes/*"
node 'client1.lab1' inherits basenode {
	include ntp
}

Paigalda BIND teenus

3. Linux_paigalduse_parandamine_(lihtne)

Teil ununes root parool ära ja student kasutaja pole administraatorite grupis. (vana admin läks töölt ära ja parooli keegi ei mäleta)

http://www.faqforge.com/linux/reset-root-password-ubuntu-linux-without-cd/

Algkäivitamise ajal hoia all Shift või tee aktiivseks muudmoodi GRUB alglaadijas Ubuntu xxx (recovery mode) rida (nool alla). Ära vajuta [Enter]!
Vajuta [e] selle rea muutmiseks
Otsi rida, mis sisaldab linux /boot/vmlinuz-3.2.0-18-generic root=UUID=b8b64ed1-ae94-43c6-92\d2-a19dfd9a727e ro recovery nomodeset
Asenda ro recovery nomodeset -> rw init=/bin/bash
Vihje: US klaviatuuril '=' on '`´' nupp ning '/' on '-_'
Vajuta käivitamiseks [F10]
Arvuti käivitub ning logitakse sisse juurkasutaja õigustes.
Parooli vahetamiseks sisesta käsk

passwd

ning lähtesta root parool.

Teie server tõsteti valesse VLANi (virtualboxis teise võrku)

Teie server tõsteti teise võrku, mille IP on teine ja võrgu administraator unustas teile seda öelda ja läks puhkusele (tehke nii, et töötaks)

Praktikal olev tudeng rikkus ära faili, kus määratakse alglaadimisel ühendatavad kettajaod ja failisüsteemid

Katki tehti /etc/fstab

nano /etc/fstab

Praktikal olev tudeng tegi katki puppet paigalduse (ja on endaga täitsa rahul) Tehke korda ja selgitage, mida ta valesti tegi.

4. Linux_paigalduse_parandamine_(raske)

Kui on antud vmdk või vdi failina ketas, siis VirtualBoxis külge ühendamiseks tee järgnev:

Virtuaalmasin lülita välja
Machine->Settings Storage->Controller: Sata->Add a hard disk (parempoolne pluss nupuga ikoon)
Choose existing disk
Näita kätte õppejõult saadud fail
OK
Käivita virtuaalmasin
Kontrolli, et arvuti näitab lisatud ketast (juurkasutaja õigustes!)

fdisk -l

Uus ketas peaks tekkima /dev/sdb või sdc-na.
Kui partitsioonitabel on katki peaks tulema ka teade "Disk /dev/sdb doesn't contain a valid partition table"

Praktikal olev tudeng rikkus ära kõvaketta kettajagude tabeli. Taastage süsteem

http://www.dedoimedo.com/computers/linux-data-recovery.html

Tiri testdisk[1]

apt-get install testdisk

Käivita testdisk

testdisk

Loo uus logifail [Create]
Vali kettaseade, mida parandada (/dev/sdb)
Vali partitsioonitabeli tüüp [Intel/PC]
Vali [Analyse]
[Quick Search]
Arvatavasti pole tegu Vista või uuema all tehtud partitsiooniga, seega vasta 'N'

Viimases reas näitab leitud partitsiooni infot Vajuta Enter ja siis Write

fdisk -l

peaks nüüd näitama taastatud partitsiooni.
Et ilma taaskäivituseta parandatud kettale ligi pääseda, siis tuleb fdisk abil partitsiooniinfo kettale sünkroniseerida.

fdisk /dev/sdb
w


Praktikal olev tudeng kustustas ühelt kettalt palju pilte ja kettajagude tabeli. Taastage pildid.

Paigalda photorec (testdisk paketis)

apt-get install testdisk

Käivita photorec

photorec

Vali õige kettaseade (/dev/sdb) [Proceed]
[Search]
Vali 'unknown' partitsioon
Vali failisüsteemi tüüp [ext2/ext3]
Vali kaust kuhu salvestatakse taastatud failid ja vajuta [C]
Taastatud failid asuvad valitud kaustas alamkaustas [recup_dir.1] vms.


Praktikal olev tudeng "konfigureeris" ehk saboteeris teie labor 2 teenuse ära - Tehke korda ja selgitage, mida ta valesti tegi.

Personaalne..

Kasutatud materjal