Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
Operatii de baza
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 

Administrarea conturilor utilizatorilor

Un cont reprezinta toate fisierele, resursele si informatiile care apartin unui utilizator. j4g1gd
ü Crearea unui utilizator
Cele mai multe distributii Linux vin cu un program pentru crearea conturilor. Exista cateva astfel de programe disponibile. Doua alternative din linie de comanda sunt adduser si useradd; poate exista, de asemenea si instrumente din interfata gragica. Fie ca este vorba de un program fie ca este o interfata grafica sunt putine lucruri de facut.
ü /etc/passwd si alte fisiere informative
Baza de date elementara din Unix este un fisier text, /etc/passwd (numit fisierul parole), care listeaza toti utilizatorii vazilizi impreuna cu informatiile asociate lor. Fisierul are cate o linie pentru fiecare nume de utilizator si este impartit in sapte campuri:
1. Utilizator.
2. Parola, in forma incriptata.
3. ID numeric pentru utilizator.
4. ID numeric pentru grup.
5. Numele intreg si alte descrieri ale contului.
6. directorul home.
7. Shell-ul de conectare.

Crearea unui utilizator manual

Pentru a crea un cont de utilizator manual, parcurgeti urmatorii pasi:
ü Editati /etc/passwd cu vipw sau pico si adugati o linie noua pentru contul nou. Fiti atenti la sintaxa.
ü In mod similar editati /etc/group, daca aveti nevoie sa creati si un grup nou.
ü Creati directorul principal (home) al utilizatorului folosind mkdir.
ü Copiati fisierele din /etc/skel in noul director home.
ü Stabiliti proprietarul si permisiunile cu comenzile chown si chmod. Optiunea
-R este foarte utila. Drepturile corecte variaza putin, dar in general daca faceti ca in exemplul urmator totul va fi OK:

cd /home/newusername chown -R username.group . chmod -R go=u,go-w . chmod go= .




ü Stabiliti parola cu comanda passwd.
Dupa ce stabiliti parola contul va fi functional. Nu ar trebui sa stabiliti parola pana cand nu ati ajuns la final, altfel utilizatorul ar putea sa se conecteze inainte ca dumneavoastra sa fi terminat de copiat fisierele.

Mai usor

Exista o serie de comenzi care pot sa scrie/citeasca fisiere dar numai utilizatorul root are drepturile respective; insa sunt utilizate si de alti utilizatori.
Un exemplu il reprezinta comanda "passwd" folosita pentru a schimba parola.
Daca va uitati la drepturile existente asupra fisierului password veti vedea probabil ceva asemanator cu FIG 5.1:


FIG 5.1. Drepturile asupra fisierului /etc/passwd

Cand utilizatorul X decide sa-si modifice parola el doar scrie comanda "passwd", apoi i se cere sa scrie vechea parola o data (pentru a fi sigur ca persoana care modifica parola este utilizatorul insasi si nu o alta persoana care profita de conexiunea uitata deschisa a cuiva .......) si apoi cere de doua ori parola noua)(FIG 5.2).


FIG 5.2. Comanda passwd

In exemplul de mai sus am introdus doua erori pentru a arata faptul ca sistemul verifica existenta unor parole triviale. Acest lucru nu se intampla la toate distributiile Linux!
Cand tastati parola nu vedeti ce ati tastat asa ca daca nu sunteti siguri incercati combinatia de taste CTRL+U pentru a sterge tot continutul liniei si reintroduceti parola.
Alegerea parolelor: este complet contraindicat alegerea parolei ca fiind numele utilizatorului, numele sotului/sotiei, cainelui, sau alte nume familiare, pe motiv ca sunt foarte usor de ghicit!
O parola buna trebuie sa aiba cat mai multe litere, cifre, alte caractere ca '%$@#_*&", si, pe cat posibil sa nu fie un cuvant uzual! Pe de alta parte trebuie sa fie usor de tinut minte, deci trebuie facut un compromis.
Exemple de parole bune: "to1po2gan%", "(min*max)=", "pfdicdp" (Parola Formata Din Initialele Cuvintelor Dintr-o Propozitie), etc …
Noua parola este apoi scrisa in fisierul "/etc/passwd”.
Deci, cum este posibil ca fisierul "/etc/passwd", in care poate scrie doar utilizatorul root, sa fie completat de un simplu utilizator care doreste sa-si modifice parola?
Acest lucru este posibil datorita asa-numitului bit UID. Cu alte cuvinte, acest bit ofera posibilitatea de a arata ca alt utilizator in timp ce executi un program.
Remarcati faptul ca doar utilizatorul root are dreptul de a scrie in fisierul /etc/passwd. Acum sa ne uitam la permisiunile asupra programului passwd.
Observati ca exista un "s" acolo unde ne asteptam sa fie un "x" pentru a indica dreptul de executie pemtru proprietar. "S" indica faptul ca bitul set UID este atribuit.
Avand atribuit bitul UID, atunci cand executati programul passwd ca utilizator obisnuit, programul va fi executat ca si cu m ati fi administrator.

Adaugarea/stergerea utilizatorilor

O treba a administratorilor sistemului Linux este aceea de a sterge sau de a adauga utilizatori pentru sistemul respectiv. Procedura este insa util de stiut de toata lumea.
Exista doua modalitati pentru a face acest lucru.
- Puteti edita directfisierele in care este stocata informatia despre utilizatori (nu prea comfortabil !)
- Puteti utiliza scripturi care sa va ceara anumiti parametri si apoi sa faceti toate celelalte lucruri pe care doriti.
De obicei aceste scripturi sunt "useradd" si "adduser". Prezenta lor depinde de distributia Linux. De asemenea si felul in care ele lucreaza.
De exemplu, in Slackware-Linux comanda "useradd" este diferita de comanda "adduser", in timp ce in RedHat-Linux este acelasi lucru.
Mai intai sa ne uitam la continutul fisierului "/etc/passwd" (FIG 5.3):


FIG 5.3. Fisierul /etc/passwd

Exista cate o linie pentru fiecare utilizator, in care campurile sunt despartite de ":" .
Iata sintaxa pentru o linie :
UserName: CriptedPassword: UserID: GroupID: GeneralInfo: HomeDirectory: Shell o UserName (numele utilizatorului)
Este un sir de caractere unic, care identifica, defineste contul. Pentru conturile personale este asemenea cu numele folosit la login. o Cripted Password (parole incriptate)
Este reprezentarea codata a parolei utilizatorului. Acest camp este stabilit folosind programul "passwd". Foloseste o schema de codare dificila dar nu imposibil de spart. Daca primul caracter din fisierul passwd este "*" (asterisk), atunci contul este inactiv iar utilizatorul cu numele respectiv nu se poate conecta.

Exemplu:

bill: *: 150: 100: Bill Anderson-Phone 156789: /home/bill: /bin/bash

o UserID (UID)
Este un numar intreg pe care sistemul il foloseste pentru a identifica acel cont. o GroupID (GID)
Este un numar intreg care se refera la grupul implicit al utilizatorului (vezi /etc/group) o General Info (informatii generale)
Contine informatii aditionale despre utilizator, cum ar fi: numele real, alte informatii optionale ca numar de telefon, adresa, etc. o Home Directory (directorul principal al utilizatorului)
Este directorul utilizatorului, pentru uzul personal. Exista un simbol care face referire la el : "I". o Shell
Este numele programului care ruleaza atunci cand utilizatorul s-a conectat la sistem. In cele mai multe cazuri este data toata calea, cum ar fi "/bin/bash".

Exemplu

UserName Antony
Cripted Password xtrLYQ7BtNqgQ
User ID 502
Group ID 502
General info not specified
Home Directory /home/Antony
Shell /bin/bash

Acum, adaugam doi noi utilizatori.
Acesta este structura directorului "/home" inainte de a adauga utilizatorii.


FIG 5.4. structura directorului /home

Daca nu va aduceti aminte cum se foloseste comanda "adduser", puteti folosi aplicatia "man" (sau "Xman" daca folositi XWindows) precum "man adduser".
Alta soluti este de a tasta comanda fara parametrii:


FIG 5.5. Comanda useradd

Care este rezultatul tastarii liniilor urmatoare ?

adduser -m -g users -p "" Ronald adduser -m -g users -p "" -d /home/no-default-John John

Primul "adduser -m -g users -p "" Ronald" inseamna:

adduser Adauga un utilizator
-m Creaza directorul home al utilizatorului daca nu exista
-g users Atribuie utilizatorul grupului de utilizatori "users"
-p "" Fara parola (utilizatorul poate intra fara parola ...)
Ronald Acesta este numele utilizatorului, UserName (Login), pentru noul utilizator

Observati ca unii parametrii ca UserID, data expirarii , ..... , nu au fost specificate astfel incat sistemul a pus valori implicite pentru ei.
Al doile exemplu "adduser -m -g users -p "" -d /home/no-default-John John":

adduser Adauga un utilizator
-m Creaza directorul home daca nu exista
-g users Atribuie utilizatorul grupului de utilizatori "users"
-p "" Fara parola (utilizatorul poate intra fara parola ...)
-d /home/no-default-John Numele directorului home este "/home/no-default-John"
John Acesta este numele utilizatorului, UserName (Login), pentru noul utilizator

Asa cum se vede, avem un nou nume pentru directorul home al acestui utilizator. Implicit ar fi fost John, insa noi l-am modificat.


FIG 5.6. Continutul directorului /home

Fisierul de configurare principal pentru manipularea conturilor este "/etc/passwd", asa ca sa vedem ce s-a intamplat cu el:


FIG 5.7. Fisierul /etc/passwd

Acesta este fisierul "/etc/group", in care puteti vede un grup "users" cu codul "100", exact cel prezent in "/etc/passwd" pentru noii utilizatori Ronald si John.


FIG 5.8. Fisierul /etc/group

Console virtuale

Consola sistemului este alcatuita din tastatura si monitor (care sunt conectate direct la calculator). Totusi este posibil pentru un utilizator sa foloseasca mai multe console virtuale, putand deschide astfel mai multe sesiuni de lucru simultan! Pentru aceasta apasati tastele Alt-F2, iar la promptul login, introduceti numele si parola dvs. In acest moment ati deschis inca o sesiune de lucru !
Apasand Alt-F1, reveniti inapoi la prima sesiune. De regula sunt activate 7-8 console virtuale, dar pot fi activate mult mai multe 12, 24, sau chiar mai multe. Pentru a comuta pe consola 5 (de exemplu) se apasa combinatia de taste Alt-F5, s.a.m.d.. Nu uitati sa faceti "logout" din fiecare la incheierea sesiunii de lucru.
In acest scop comanda "w" poate fi utila, furnizand informatii despre consolele virtuale folosite.
In exemplul de mai jos se poate observa ca utilizatorul gxg foloseste consolele 1 si 2 (corespunzatoare combinatiilor Alt-F1 si Alt-F2), utilizatorul root consola 3 (Alt-F3), utilizatorul stud foloseste consola 7 (Alt-F7), iar utilizatorul stud2 este conectat la calculator prin retea.
Consola 1 se numeste "tty1", consola 2 "tty2", s.a.m.d..

astud@x studi$ w
2:53pm up 24 min, 4 users, load average: 1.00, 1.01, 0.77
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT gxg tty1 2:30pm 2:34 0.15s 0.15s -bash gxg tty2 2:30pm 14:34 1.98s 1.74s /usr/bin/mc -P root tty3 2:48pm 4:05 0.27s 0.27s -bash stud tty7 2:50pm 0.00s 0.35s 0.06s w stud2 ttyp1 x.ro 2:55pm 0.00s 0.24s 0.06s -bash

astud@x studi$

Vizualizarea continutului directoarelor

Iata un exemplu de structura arborescenta de directoare si fisiere prezentate intr-o alta forma (Lucrul cu directoarele si fisierele este detaliat in capitolele urmatoare).

.
|-- buli
|-- ftp
| |-- bin
| |-- etc
| |-- lib
| `-- pub
|-- gxg
| |-- nsmail
| `-- rc5
|-- httpd
| |-- cgi-bin
| |-- html
| | `-- manual
| | |-- images
| | |-- misc
| | |-- mod
| | `-- vhosts
| `-- icons
|-- samba
`-- stud

Directorul "ftp" este directorul parinte al directoarelor "bin","etc", "lib", "pub", iar directorul "pub" este subdirectorul lui "ftp".
Numele complet al unui subdirector poate fi obtinut adaugand numele directorului parinte la numele subdirectorului si punand separatorul "/".

agxg@x /i$ ls
Office50 c etc lost+found root usr bin cdrom home mnt sbin var boot dev lib proc tmp w95

Obtinerea unor informatii detaliate referitoare la continutul directoarelor se face utilizand otiunea -l (optiunea -a ofera, in plus si informatii despre fisierele ascunse).

agxg@x /i$ ls -l total 84 drwxr-xr-x 2 root root 1024 Jan 7 08:58 Office50 drwxr-xr-x 2 root root 2048 Jan 7 12:54 bin drwxr-xr-x 2 root root 1024 Jan 10 18:42 boot lrwxrwxrwx 1 root root 4 Jan 8 20:41 c -> /w95 drwxr-xr-x 2 root root 1024 Jan 6 03:25 cdrom drwxr-xr-x 3 root root 21504 Jan 10 16:43 dev drwxr-xr-x 26 root root 3072 Jan 10 16:43 etc drwxr-xr-x 8 root root 1024 Jan 10 14:41 home drwxr-xr-x 4 root root 2048 Jan 6 05:10 lib drwxr-xr-x 2 root root 12288 Jan 6 05:00 lost+found drwxr-xr-x 4 root root 1024 Jan 6 05:01 mnt dr-xr-xr-x 5 root root 0 Jan 10 18:42 proc drwxr-xr-x 13 root root 1024 Jan 10 16:49 root drwxr-xr-x 3 root root 2048 Jan 7 09:09 sbin drwxrwxrwt 3 root root 1024 Jan 10 18:44 tmp drwxr-xr-x 20 root root 1024 Jan 6 05:06 usr drwxr-xr-x 16 root root 1024 Jan 6 05:14 var drwxr-xr-x 16 root root 21504 Jan 1 1970 w95

agxg@x /i$

Documentatie si manual. Comanda man.

Una dintre cele mai importante facilitati in Linux este manualul on-line!
Astfel aproape fiecare comanda Linux este insotita de manual!
Manualul poate fi accesat folosind comanda man, in felul urmator:

Exemplu:

agxg@x gxgi$ man passwd
Formatting page, please wait...

PASSWD(1) PAM only applications PASSWD(1)

NAME passwd - update a user's authentication tokens(s)

SYNOPSIS passwd a-ui ausernamei

DESCRIPTION
Passwd is used to update a user's authentication token(s).

Only the superuser may update another user's password by supplying a username. The option, -u, is used to indicate that the update should only be for expired authentication tokens (passwords); the user wishes to keep their non expired tokens as before.

Passwd is configured to work through the Linux-PAM API.
Essentially, it initializes itself as a "passwd" service
with Linux-PAM and utilizes configured password modules to authenticate and then update a user's password.

A simple entry in the Linux-PAM configuration file for this service would be:

#
# passwd service entry that does strength checking of
# a proposed password before updating it.
# passwd password requisite pam_cracklib.so retry=3 passwd password required pam_pwdb.so use_authtok
#

Note, other module-types are not required for this appli cation to function correctly.

EXIT CODE
On successful completion of its task, passwd will complete
with exit code 0. An exit code of 1 indicates an error occurred. Textual errors are written to the standard error stream.

CONFORMING TO
Linux-PAM (Pluggable Authentication modules for Linux).

FILES
/etc/pam.conf - the Linux-PAM configuration file

BUGS
None known.

SEE ALSO pam(8), and pam_chauthok(2).

For more complete information on how to configure this application with Linux-PAM, see the Linux-PAM System
Administrators' Guide at
<https://parc.power.net/morgan/Linux-PAM/index.html>

SimplePAMApps 0.50 1996 Dec 14 1

(END)

Apasand sagetile de la tastatura puteti vedea defiland pagina (in cazul in care este mai mare decat ecranul). Pentru a termina programul man se apasa tasta q.
Chiar si comanda man are manual! Acesta poate fi accesat tastand la prompt "man man" (adica manualul comenzii man).

Exemplu:

agxg@x gxgi$ man man
Formatting page, please wait...

man(1) man(1)

NAME man - format and display the on-line manual pages manpath - determine user's search path for man pages

SYNOPSIS man a-acdfhkKtwWi a-m systemi a-p stringi a-C config_filei
a-M pathi a-P pageri a-S section_listi asectioni name ...

DESCRIPTION man formats and displays the on-line manual pages. This version knows about the MANPATH and (MAN)PAGER environment variables, so you can have your own set(s) of personal man pages and choose whatever program you like ...............

Alte comenzi asemanatoare si foarte utile sunt comenzile whatis si apropos:

Pornirea si inchiderea sistemului

Pornirea (bootarea)

Probabil multi dintre cei care utilizeaza Linuxul sunt indragostiti de felul in care are loc pornirea sistemului. Multi dintre noi s-au plictisit privind la ecranele colorate cu logo-uri ale Windows-ului in loc sa afle ce se intampla in realitate. Daca un sistem Windows crapa trebuie sa te transformi in Sherlock Holmes si sa investighezi ce s-a intamplat. Cand Linux-ul nu reuseste sa porneasca fara probleme utilizatorul are foarte multe sanse sa descopere ce s-a intamplat doar privind ecranele ce se desfasoara la incarcarea sistemului, deoarece sunt afisate virtual toate sarcinile pe care le realizeaza acesta. Acelasi lucru se intampla si la oprirea sistemului.
Nucleul (kernelul) Red Hat Linux, inima sistemului de operare, este de obicei pastrat intr-un fisier compresat. Cand kernel-ul este pornit de catre managerul de boot (LILO, GRUB), se decompreseaza, initializeaza sistemul video si incepe verificarea celorlalte componente hardware atasate calculatorului. In timp ce descopera discurile hard, driverele floppy, placile de retea si asa mai departe, sunt incarcate si modulele driver corespunzatoare. Pe parcursul acestui proces sunt afisate pe ecran mesaje in format text. Figurile urmatoare prezinta o parte din aceste mesaje.

FIG 5.9. Mesaje la consola in timpul procesului de incarcare

FIG 5.10. Mesaje la consola in timpul procesului de incarcare

De la consola, in timpul acestui proces, puteti apasa combinatia de taste Shift + PageUp pentru a derula inapoi mesajele. Puteti sa vedeti mesajele afisate in timpul procesului de bootare ruland in orice moment programul dmesg. Fisierele /var/log/messages vor contine, de asemenea, multe mesaje din procesul de bootare.
In acest moment, kernelul va monta sistemul de fisiere radacina (/) ca read-only (doar cu drepturi de citire) si va verifica sistemul de fisiere. Daca totul este gasit in regula atunci sistemul de fisiere radacina va fi montat cu drepturi read/write (citire/scriere).
Daca apar probleme si kernel-ul nu reuseste sa monteze partitia radacina sau sunt descoperite probleme grave, kernelul va intra in panica si sistemul se va opri. Daca discul devine corupt din anumite motive, kernel-ul va asigura o optiune de rulare a unui program de verificare a sistemului de fisiere cum ar fi fsck.ext2 prin intermediul unui shell restrans.
Odata ce sistemul radacina de fisiere a fost montat, kernel-ul porneste un program numit init. Acest program porneste toate celelalte programe. Odata ce init a terminat de rulat toate programele necesare, sistemul poate fi considerat functional iar procesul de incarcare terminat.
Ceea ce ruleaza init ca parte a procesului de bootare este foarte personalizabil.
In timpul procesului de incarcare a sistemului, init va rula mai intai scriptul rc.sysinit si apoi scriptul corespunzator nivelului implicit de rulare. Nivelul de rulare implicit este stabilit in /etc/inittab utilizand o linie precum urmatoarea:

init:3:initdefault:

In acest caz nivelul implicit este stabilit nivelul 3. Aceasta inseamna ca init va rula scriptul necesar pentru a pune sistemul in modul de lucru multiutilizator.
Iata in continuare exemplificate utilizarile nivelelor de lucru (run level), exemplu obtinut prin editarea fisierului /etc/inittab.

FIG 5.11. Editarea fisierului /etc/inittab (runlevel-urile)

Inchiderea sistemului

Puteti executa manual init manual si sa ii spuneti sa schimbe nivelul de lucru cu un nivel dorit de dumneavoastra. De exemplu,

init 0

va cere programului init sa schimbe nivelul curent cu nivelul 0. Cu alte cuvinte, sistemul va fi stins. Daca va aflati in modul multiuser (3), comanda precedenta nu este foarte recomandabila deoarece nu instiinteaza utilizatorii conectati la sistem ca acesta se va opri.
In mod obisnuit este utilizata comanda shutdown pentru a opri sistemul. Aceasta comanda trimite tuturor utilizatorilor conectati la sistem un mesaj de avertizare cu privire la modificarea nivelului de lucru. Aceasta comanda ofera si posibilitatea programarii in timp a opririi.
Comanda shutdown cere programului init sa schimbe nivelul curent al sistemului fie cu cel de oprire (halt=0) fie cu cel de repornire (reboot=6). De exemplu,

shutdown -;h now

Aceasta comanda va cere init sa schimbe nivelul cu 0 (oprirea sistemului) imediat.
Asa cum am spus comanda shutdown permite programarea opririi sistemului la un moment viitor. De exemplu,

shutdown +10

Va programa oprirea sistemului peste exact 10 minute dupa ce comanda a fost introdusa de la tastaura. Daca doriti sa anulati oprirea programata puteti folosi comanda shutdown impreuna cu optiunea -;c. De exemplu,

shutdown -;c

va anula orice programare de oprire a sistemului.
Puteti executa manual init pentru a reporni calculatorul. De exemplu,

init 6

Daca va aflati in modul de lucru multiuser veti observa faptul ca aceasta comanda nu instiinteaza utilizatorii sistemului despre eveniment, astfel incat ar fi de preferat sa utilizati comenzile shutdown sau reboot pentru a ceasta. De exemplu,

shutdown -;r +10

Acesta comanda va reporni sistemul in 10 minute. Toti utilizatorii vor primi un mesaj de instiintare. Acest lucru le va permite sa-si termine munca si sa-si salveze fisierele daca este cazul.
Pentru a reporni sistemul imediat puteti folosi:

shutdown -;r now sau reboot

Sintaxa comenzilor

Sintaxa se refera la structura comenzii si specifica optiunile si argumentele permise. Forma generala a unei comenzi Linux este:

$ comanda a-optiune(i)i aargument(e)i

Obs.: Ce este in paranteza inseamna elemente optionale, adica nu sunt intotdeauna necesare.

Comanda: Program executabil (specifica ce doresti sa faca sistemul)
Optiune(i): Modifica executabilul (cum doresti sa ruleze sistemul comanda)
Argument: Fisier sau director, incluzand calea sau un text. Daca nu este prevazuta calea atunci sistemul de operare va utiliza directorul curent.

Trebuie utilizat un spatiu ca delimitator intre fiecare parte a comenzii introduse. Comenzile in Linux sunt ntotdeauna scrise cu litere mic (lower case). Optiunile sunt de obicei formate dintr-o singura litera precedata de o liniuta (semnul minus). Optiunile multiple pot fi combinate utilizand doar o singura liniuta. Optiunile pot fi scrise cu litere mari sau litere mici in functie de ceea ce se doreste sa se faca.

Lansarea in executie a unui program

Promtul "$" arata ca sistemul este pregatit sa accepte comenzi de la utilizator.
Pentru a lansa in executie un program trebuie sa se tasetze numele fisierului care contine codul executabil.

Exemplu:

agxg@x /i$ pine

Informatiile din paranteza au urmatoarea semnificatie:
- gxg@x inseamna utilizatorul "gxg" inregistrat la calculatorul cu numele "x"
- "/" inseamna directorul curent (in acest caz este radacina)
Toate aceste informatii impreuna cu semnul $ formeaza promptul.
La unele sisteme, el poate avea mici modificari! Astfel, inainte de semnul "$" poate aparea numai numele calculatorului, fara numele utilizatorului, dar acestea sunt setari care se pot schimba.
Aceasta comanda este echivalenta cu :

agxg@x /i$ /usr/bin/pine

/usr/bin/pine reprezinta calea completa spre fisierul (executabil) pine. In exemplul precedent este optionala deoarece sistemul cauta fisierul "pine" intr-o lista de directoare (specificate dinainte desigur), printre care si "/usr/bin".
Exista si comenzi care trebuiesc lansate specificand (numai) numele complet!
In caz contrar pe ecran apare mesajul de eroare "command not found", cu alte cuvinte sistemul nu stie unde este programul respectiv.

Exemplu:

agxg@x /i$ /sbin/repquota
Usage: repquota a-vi a-gi a-ui -a repquota a-vi a-gi a-ui filesys ...

agxg@x /i$ repquota bash: repquota: command not found

De regula principalele comenzi folosite in Linux sunt puse in directorul "/bin" sau "/usr/bin", iar sistemul este configurat sa caute aceste comenzi in directoarele amintite.
Acest lucru este foarte convenabil, necesitand efortul minim din partea utilizatorului.
Un alt mod interesant de a ajuta utilizatorul este tasta "Tab"!
Tastati cateva caractere dintr-o comanda si apoi apasati tasta "Tab". Sistemul va completa pentru dumneavoastra numele comenzii!
In cazul in care incep mai multe comenzi cu caracterele precizate, ve-ti auzi un bip, iar daca mai apasati inca o data veti vedea pe ecran toate posibilitatile. Exersand, veti observa ca aceasta tasta "Tab" este rapida, si foarte utila in cazurile in care nu va amintiti exact unele comenzi.

Exemplu:

agxg@x bini$ ps2 ps2ascii ps2epsi ps2pdf

agxg@x bini$ le less lessecho lesskey let lex
agxg@x bini$

Redirectarea iesirii unei comenzi

In unele cazuri este de dorit ca informatia produsa de o comanda (afisata pe ecran) sa fie directata intr-un fisier. Pentru aceasta, la sfarsitul comenzii adaugati semnul ">" urmat de numele fisierului care va fi creat si va contine aceasta informatie. Pe ecran nu va mai fi afisata aceasta informatie!
Atentie: Daca redirectati output-ul unei comenzi intr-un fisier care deja exista, tot continutul lui va fi suprascris!

Exemplu:

gxg@x gxgi$ ls -l > ls.txt gxg@x gxgi$

Lansarea in background a unui program

Datorita posibilitatii de a lucra cu mai multi utilizatori deodata, sistemul poarta denumirea de “sistem multiuser”.
Sistemul de operare Linux este si un sistem multitasking, ceea ce inseamna ca mai multe programe (procese) pot rula simultan.
Acest sistem de procese numit multitasking este utilizat pentru a aloca timpul de lucru al procesorului mai multor utilizatori in acelasi timp. In realitate nu este vorba de procese care se ruleaza in acelasi timp ci unele dupa altele la intervale de timp de ordinul milisecundelor.
Sistemul de operare aloca timpul in asa fel incat sa lase impresia de continuitate pentru fiecare utilizator. In timp ce unul dintre acestia lucreaza la terminalul sau el imparte cu ceilalti resursele de calcul.
Exista doua moduri de a lansa in executie un program: foreground (in fata) si background (in spate). Modul foreground este asociat cu programele interactive, care necesita interventia utilizatorului (de la tastatura) si ii transmite informatii pe monitor. De regula, programele lansate de utilizator sunt lansate in modul acesta.
Opus modului foreground, modul background este asociat de regula cu acele programe care nu necesita interventia utilizatorului in timpul desfasurarii lor. Totusi orice program poate fi lansat in executie in fiecare mod.
Un program se lanseaza in backgroung adaugand semnul "&" la sfarsitul comenzii.

Exemple de programe care pot fi lansate in foreground sau background

Programul de posta electronica "pine" este un program care prezinta meniuri utilizatorului, acesta putand alege intre a citi posta primita, a trimite un nou e-mail, a tipari un mesaj, etc. El este exemplul ideal de program care ruleaza in foreground.
Programul care primeste posta electronica din retea si o distribuie fiecarui utilizator este un proces care ruleaza in background.
Un program poate fi lansat in background in felul urmator:

Exemplu:

agxg@x /i$ tar -zcf I/test.tgz /usr/doc/* &
a1i 1119
agxg@x /i$

Avantajul lansarii unui program in background este posibilitatea utilizarii calculatorului si in timp ce procesul respectiv ruleaza. In exemplul precedent am folosit comanda tar (utila pentru arhivare/dezarhivarea fisierelor) ("-zcf I/test.tgz /usr/doc/*" sunt parametrii comenzii "tar" iar semnul "&" semnifica lansarea in background).
Sistemul raspunde "a1i 1119" si apoi afiseaza promptul asteptand alta comanda (in timp ce prima ruleaza!) (a1i inseamna ca este primul proces lansat in background iar 1119 este identificatorul de proces).

Manipularea proceselor. Comenzile "jobs", "fg", "bg", "ps", "kill"

Asupra unui proces, odata pornit, se pot efectua urmatoarele operatii:

- Terminarea
- Suspendarea
- Reluarea unui proces suspendat
- Mutarea in background
- Aducerea in foreground
- Listarea proceselor

Comanda jobs va arata programele lansate in background de la terminalul curent.

agxg@x /i$ jobs
a1i- Running yes >/dev/null & (wd: I)
a2i+ Running tar -zcf I/test2.tgz usr/doc/* &

agxg@x /i$

Pentru a vedea procesele pornite si de la alte terminale puteti folosi comanda ps: Comanda "ps" (prescurtare de la Processes Status) este mai tare decat "jobs". Pentru manipularea unui proces este necesara cunoasterea identificatorului procesului (PID) furnizat de aceasta comanda.

agxg@x gxgi$ ps
PID TTY STAT TIME COMMAND
287 1 S 0:00 -bash
288 2 S 0:00 -bash
329 2 S 0:00 /usr/bin/mc -P
331 p0 S 0:00 bash -rcfile .bashrc
335 1 R 0:00 ps
agxg@x gxgi$

Terminarea

In unele sitatii este de dorit oprirea fortata a proceselor inainte de terminarea lor fireasca. Dupa terminarea procesului memoria ocupata se elibereaza. Pentru aceasta se foloseste comanda "kill".

agxg@x gxgi$ ps
PID TTY STAT TIME COMMAND
287 1 S 0:00 -bash
288 2 S 0:00 -bash
289 3 S 0:00 -bash
329 2 S 0:01 /usr/bin/mc -P
331 p0 S 0:00 bash -rcfile .bashrc
348 1 S 0:01 top
362 3 R 0:00 ps
agxg@x gxgi$ kill 348
agxg@x gxgi$ ps
PID TTY STAT TIME COMMAND
287 1 S 0:00 -bash
288 2 S 0:00 -bash
289 3 S 0:00 -bash
329 2 S 0:01 /usr/bin/mc -P
331 p0 S 0:00 bash -rcfile .bashrc
363 3 R 0:00 ps
agxg@x gxgi$

Daca programul este in foreground (accepta comenzi de la tastatura), atunci el (de regula) se poate opri folosind combinatia de taste Control-C. Cele doua metode sunt echivalente pentru ca in fiecare caz sistemul trimite procesului respectiv semnalul "TERM" pentru incheierea programului.

Suspendarea

Suspendarea unui proces inseamna oprirea lui temporara, cu posibilitatea continuarii rularii sale. Spre deosebire de terminare, programul "ingheata" in starea sa la momentul suspendarii, iar memoria ocupata cu acest proces NU este eliberata.
Pentru suspendarea unui program care ruleaza in foreground se poate apasa Control-Z. Daca programul ruleaza in background, pentru stoparea sa trebuie data comanda "kill" cu parametrul "-STOP"

$ kill -STOP 435

435 reprezinta identificatorul procesului care se doreste a fi stopat.
Acest identificator il puteti afla folosind comanda "ps"
Reluarea unui proces suspendat

In mod analog cu comenzile anterioare, "kill -CONT" permite continuarea unui proces suspendat. Aceasta continuare se va face in background. Doua comenzi utile sunt "fg" si "bg": Comanda "fg" continua in foreground un proces intrerupt, iar comanda "bg" in background.

Aducerea unui proces in foreground

Daca procesul este stopat sau ruleaza in background, aducerea lui in foreground se face folosind comanda "fg". Daca sunt mai mult de 2 procese in aceasta stare, comanda "fg" (sau "bg") trebuie urmata de un numar in felul urmator:

agxg@x gxgi$ jobs
a1i Stopped yes
a2i- Stopped yes
a3i+ Stopped grep k
agxg@x gxgi$ fg 3 grep k

(Ctrl+Z)
a3i+ Stopped grep k
agxg@x gxgi$

Dupa cum se vede din exemplul anterior, procesele sunt numerotate in ordine crescatoare, iar numarul corespunzator fiecarui proces il putem afla folosind comanda "jobs". Acest numar este diferit de PID (identificatorul procesului) aflat prin comanda "ps" (Processes Status).

Mutarea unui proces in background

Pentru a muta un proces (care ruleaza in foreground) in background, se poate proceda in felul urmator: apasati Control-Z pentru a opri procesul. In acest moment procesul este suspendat. Tastati comanda "bg" pentru a continua in background procesul stopat. Pentru aducerea lui in foregroung, tastati comanda "fg".


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta