Bash quests: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 83: Line 83:
Skript peab kontrollima mitte ainult lokaalseid gruppe vaid ka globaalseid (LDAP).
Skript peab kontrollima mitte ainult lokaalseid gruppe vaid ka globaalseid (LDAP).


nt. ./att-to-group.sh grupinimi
Skript peab kontrollima ka seda, kas kasutaja on olemas, vajadusel küsib kas kasutaja luua või mitte.
 
nt. ./att-to-group.sh kasutajanimi grupinimi


=Quest 8=
=Quest 8=

Revision as of 13:48, 10 May 2011

Sissejuhatus

Bash quests annab võimaluse teha bash skriptimise kodutööd ka neile, kellel teemat pole. 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.

Kui quest valmis, siis pane link questi juurde (nagu näites)

Queste tuleb pidevalt juurde.

Quest 0 - Näide

Teha skript, mis ei tee midagi asjalikku, kuid väljasta sõna BÖÖÖ

Lahendus: User:Mernits

Quest lukus (tehtud) Mernits 10:36, 10 May 2011 (EEST)

Quest 1 - Leia suured kaustad oma kodukataloogist

Probleem: Kodukaustast on vaja leida suured kataloogid ja teada, palju nendele ruumu kulub.

Luua skript suuredkaustad.sh

Väljasta kataloogid suuremad kõige alla kujul:

20MB Allalaadimised

100MB Dokumendid

hint: du -s * | sort -nr


Quest 2

Teha skript, mis taastab poolelijäänud tarkvarapaigalduse (apt-get baasil)

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.

Lahendus: User:Hvosujal

Quest lukus (tehtud) Mernits 13:37, 10 May 2011 (EEST)

Quest 3

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.

Quest 4

Teha skript, mis ühendab lahti kõik kettajaod/saalealad etteantud kettalt ja kustutab partitsioonid sellelt kettalt.

Skript peab kasutajat hoiatama, et eemaldatakse see ja too kettajagu.

Skript annab vea, kui lahtiühendamine ei õnnestu.

Skript kontrollib, kas kasutajal on piisavalt õiguseid.


Käivitamine: trash.sh <kettas>

näiteks: trash.sh /dev/sdb

Quest 5

Teha shell funktsioon, mis kontrollib faili olemasolu ja sellele antud õiguseid

Näiteks on fail rwxrwxrwx /var/kala.txt

funktsioon välja kutsudes argumentidega /var/kala.txt 777 tagastatakse 0 Teistel juhtudel: 1 - faili pole 2 - omanikul on valed õigused 3 - grupil on valed õigused 4 - teistel kasutajatel on valed õigused

Quest 6

Teha skript save-alias, mis töötab nagu käsk alias, kuid salvestab loodud aliase .bashrc faili ja sourceb .bashrc faili.


Juhtus, et sai valmis: Kkalder

Quest lukus (tehtud) Mernits 12:36, 10 May 2011 (EEST)

Quest 7

Looge skript mis lisab kasutaja nimetatud gruppi.

Skript peab kontrollima kas grupp on juba olemas, vajadusel grupi looma.

Skript peab kontrollima mitte ainult lokaalseid gruppe vaid ka globaalseid (LDAP).

Skript peab kontrollima ka seda, kas kasutaja on olemas, vajadusel küsib kas kasutaja luua või mitte.

nt. ./att-to-group.sh kasutajanimi grupinimi

Quest 8

Quest 9