3 octombrie 2007

Putin „bash shell scripting”

Cum sa scriem primul script !!!

Problema de a scrie un fisier care sa contina “ceva” si care sa fie executat in anumite momente din timp este imperios necesara (la actionarea unei taste, a unei comenzi sau automat). Dar pana sa ajungem acolo cred ca va trebui sa stim si cum se face acel fisier si multe alte chestii (vom incepe cu lucrurile de baza).
Deci cred ca o sa tratez doar sistemul de operare LINUX (cu doua componente:server si statie de lucru). Si de ce nu sa nu facem si reclama pentru server folosesc CentOS 5.0 si statie de lucru SuSE 10.3. Gata cu filozogia........... sa trecem si la treaba.
In primul rand va trebui sa editam un fisier sau sa scriem in fisier deja existent. Va trebui sa stim ce editor de text avem al dispozitie sau ce fel de interpretor etc etc. Sunt multe aspecte si care pe parcursul textelor scrise “isi vor arata” coltii.

Ca si editoare de text vom gasi pe distributiile de linux sau unix urmatoarele:

  • vi, un editor “greoi” sau cum vreti voi sa ziceti dar nu este chiar asa;
  • emacs, care este un editor imens dar dare acopera aproape tot ce dorim de la un editor;
  • pico, un editor foarte mic si care este foarte intuitiv de utilizat;
  • gedit, editor pentru interfata Gnome;
  • kedit, editor pentru interfata Kde;
  • mcedit, un editor foarte intuitiv si foarte usor de utilizat;
  • joe, un editor foarte mult utilizat.

Si acum sa incepem. Avem doua cai de urmat:

  • sa screeam un fisier “gol” si apoi sa-l editam;
  • sa editam direct fisierul cu editorul de text.

In cazul primei variante vom folosi: touch script1.txt, urmand sa il editam cu unul din editoarele de mai sus. Alegand varinata a II-a vom utiliza ca ex. joe script1.txt si gata este ok si asa.

Ca in toate exemplele din literatura de specialitate vom folosi si noi aceleasi continuturi, mai precis:

#!/bin/bash
# acesta este primul fisier script
echo "Hello World!"

Prima linie din continutul fisierului este foarte importanta deoarece specifica interpretorul care este folosit, in cazul nostru fiind bash (dar poate sa fie awk, perl sau un alt interpretor). Linia a II-a este un comentariu, orice este scris dupa # va fi ignorat de bash. Linia a III-a este o comanda simpla care “tipareste” afiseaza pe ecran ceea ce este intre caracterele '' '' , in acest caz Hello World! .
Urmatorul pas in a face ca acest fisier sa poata fi executat este setarea permisiilor de executie asupra fisierului. In cazul nostru vom folosi: chmod 755 script1.txt . Pentru executarea acestui fisier vom avea nevoie doar ca sa scriem ./script1.txt . Dupa lansarea in executie vom primi ca si mesaj afisat pe ecran textul care a fost scris intre ghilimele.
O problema care se poate in acest moment sa apara este imposibilitatea executarii comanzii !!! Problema poate sa provina din faptul ca: calea de executie a script-ului sa nu fie cunoscuta de sistemul de operare. Problema se poate corecta din doi pasi. Primul ar fi sa stim ce avem definit in setarile de PATH si pasul doi ar fi trecerea noului sau noilor cai de access la fisier sau director in setarile globale ale PATH. Pentru a vedea toate setarile pentru PATH vom folosi urmatoarea comanda:
echo $PATH
Aceatsa comanda ne va returna toate caile pe care sistemul de operare le cunoaste. Daca dorim sa modificam acestora folosim:
export PATH=$PATH:director unde director este calea noua pe care o dorim
A doua optiune este ca aceasta noua cale sa fie trecuta in fisierul global de configurare. Daca utilizam directorul personal de lucru acesta este trecut implicit de sistemul de operare, sistemele de operare actuale fiind foarte flexibile ramane la latitudinea utilizatorului sa efectueze setari asupa mediului personal de lucru sau asupra mediului global.

1 octombrie 2007

linux firewall (2)

In linux firewall (1) am facut o scurta prezentare pentru un firewall care se preteaza pentru o legatura spre Internet si o legatura spre LAN (intern). Cred ca este bine sa discutam si structura prin care dorim realizarea legaturii la interent. Aceasta structura depinde ne necesitatile/cerintele organizatiei care va realiza acest tip de lageatura. Mai departe voi prezenta cateva modele "generale" prin care se vor face aceste legaturi la INTERNET.

Figura urmatoare (fig.1)prezinta o topologie simpla de legare la INTERNET.









Am realizat o structura simpla de conectare cu urmatoarele elemente:

a. router

b. firewall

c. hub/switch


Urmatoarea structura (fig.2) prezinta in plus zona demilitarizata cu un servere care poate sa aiba diferite functii.










Realizare fizica este asemanatoare fig.1 doar ca prezinta in zona DMZ serverul care asigura anumite servicii.



Urmatoare structura devine mai complexa, deoarece in zona DMZ sunt prezente serverele care vor asigura anumite servcii. Acesta structura (fig.3) este cel mai utilizata, avand unele modificari in functie de necesitati.





Mergand mai departe vom avea structura mai complexa care o vom gasii aplicata la asigurarea serviciilor de catre organizatii specializate. Acesta structura (fig.4) reprezinta o structura tipica organizatiilor care vor asigura servicii pentru "terte" organizatii.