De ce USER si NU admin

Probabil ca este una din intrebarile care fiecare utilizator Windows ar trebui sa si-o puna. Incepand cu Windows NT, sistemul de operare al celor de la Microsoft a inceput sa implementeze o bruma de sistem de operare multi-user, deci implicit au aparut privilegiile pentru ca utilizatorii sa nu se mai plimbe de colo-colo si sa faca FUBAR sistemul. Pentru home use, incepand cu Windows XP SP2, Microsoft a inceput sa ofere in sfarsit ceea ce se doreste de la un asemenea sistem, chiar daca pe alocuri lasa de dorit.

Si totusi de ce USER? Simplu … pe vremea cand aveam vechea lista de messenger se intampla destul de des sa bornaie careva ca iar i-a fost virusat “pisiul”. Evident, lucrand in marea majoritate a timpului sub OS X sau ubuntu, mi se cam rupea de chestiile astea pentru ca nu ma loveam de astfel de probleme. Nu pentru ca sistemele respective nu ar fi virusabile, ci pentru ca nu sunt virusabile in mod implicit. Trebuie sa o faci cu intentie sau sa faci parte din clasa populatiei care este imbucurator de proasta. Pacatul Microsoft este faptul ca in mod implicit un sistem proaspat instalat da pe mana utilizatorului un cont cu drepturi de administrator. Marea masa a utilizatorilor s-au obisnuit cu ideea de a face ce le trece prin bostan chiar daca asta nu inseamna ca fac neaparat si bine, si Doamne fereste, nu ar depune eforturi intelectuale pentru remedierea situatiei. Gravitatea provine din faptul ca un virus rulat din “admin” se va instala ca “admin”, deci are acces deplin la anumite resurse care ar trebui sa fie protejate, si fara de care ar fi o simpla chestie inutila care nu ar “virusa” nimic. Si asa ajungem la aia care bornaiau mai sus ca au fost virusati.

Pomeneam mai de mult pe forumuri ca modul in care este folosit un sistem de operare sau distributie face diferenta dintre user si [l]user (aka admin cu drepturi depline), pentru ca unii nu pricep ca utilizatorul este chestia care utilizeaza computerul, in timp ce administratorul … administreaza si cand nu este nevoie, nu se foloseste. Iar prin asta ma refer la privilegii, nu la persoane, pentru ca pot sa fie una si aceeasi. Sincer am fost si eu in categoria [l]user pana sa ma impinga o chestie de la spate ca sa imi fac lucrarea de diploma din securitatea de Windows. Deci am devenit user. Chiar daca in toata viata mea sub Windows am avut vreo doua infectii, precaut fiind din fire, sa zicem ca un antivirus oricat de bun ar fi el, nu are o rata de detectie de 100%. Deci de ce sa se lupte direct impotriva cauzei, cand se poate lupta folosind metode inteligente: folosind cel mai mic privilegiu, virusul nu se va putea instala. Antivirusul devine un accesoriu care poate sa fie utilizat mai rar, eventual sa fie folosit doar ca scanner la nevoie, contrar utilizarii lui uzuale, si anume aceea de scanner real-time care seaca sistemul de resurse. Din pacate aici se apeleaza la inteligenta utilizatorului. Din pacate pentru ca lumea e plina de prosti, si in acelasi timp tot mai multi copii prosti au acces la computer.

Fac o paranteza despre antivirusi aici. Din moment ce am dat banii pe o licenta de Windows, nu concep sa dau banii si pe un produs ce ar trebui sa apere produsul achizitionat, atata timp cat problema provide din interiorul lui, datorita proastei implementari a ideii de securitate. Zi asta chiar daca Windows Vista a inceput sa miste ceva in acest sens, dar inca e in spatele sistemelor UNIX-like, si oricum nu as mai da banii pe inca o licenta. Deci am folosit chestii free/freeware. Momentan recomand: Avira AntiVir Personal Edition, AVG Free, fix in ordinea asta, cu mentiunea ca Avira are rata de detectie mai buna, in timp ce AVG nu e atat de insetat dupa resurse. Ar mai fi de mentionat un scanner freeware, componenta a unui antivirus care deasemenea are si versiune comerciala, a-squared Free.

Solutia problemelor este simpla. Am pus poze pentru ca pe astea le pricepe toata lumea …

Control Panel De unde se face userul

Numele utilizatorului Setarea permisiunilor si crearea contului

Acestia sunt niste pasi usor de urmat de catre oricine. Problemele care intervin sunt acelea de uzabilitate: cum instalez un program, cum folosesc un program care necesita privilegii mai mari, cum modific o setare de sistem care poate fi modificata doar de catre administrator, etc. – intrebari pe care trebuie sa si le puna oricine.

Primele doua situatii descrise mai sus au o solutie relativ simpla. In momentul in care se ruleaza de sub cont de user, in meniul contextual (click dreapta pe fisierul executabil sau pe shortcut) apare optiunea “Run as…“. Folosind aceasta functie, se va putea rula aplicatia respectiva cu privilegiile unui cont diferit, deci se vor putea folosi drepturi administrative la nevoie pentru aplicatiile de instalare, sau pentru aplicatiile care necesita privilegii superioare.

Managementul fisierelor poate deveni problematic din moment ce file managerul nu mai are drepturi depline. Exista doua solutii.

1) “Run as…” cu drepturi de administrator la Internet Explorer. Tastand in bara de adresa o locatie locala, spre exemplu C:\, se va observa ca acesta o sa arate precum Windows Explorer.

2) Metoda mea preferata datorita faptului ca are mai multe avantaje este aceea de a lansa Windows Explorer cu drepturi de administrator. In mod normal aceasta nu este posibila fara niste modificari. In primul rand trebuie sa se permita lansarea lui explorer.exe ca proces separat. In practica chestia asta e mai usor de facut decat ceea ce pare in momentul in care se citesc aceste randuri. Trebuie doar sa intrii in contul de aministrator sub care se doreste sa se ruleze explorer.exe, se deschide Windows Explorer -> Meniul “Tools” -> Item-ul “Folder Options” -> Tab-ul “View” -> se bifeaza optiunea “Launch folder windows in a separate process”. Odata ce se face aceasta se poate iesi din admin. Chestia asta se poate face si folosind metoda descrisa la 1) in loc de login in admin. La alegere. Lansarea se face cel mai simplu din linie de comanda cu Start -> Run (sau combinatia de taste Win+R), unde se tasteaza urmatoarea comanda: runas /user:Admin explorer.exe, unde “Admin” este numele exact al contului de administrator din sistem. Spre exemplu, in pozele de mai sus, la mine e SaltwaterC. Pentru a nu repeta de multe ori aceasta comanda, se poate crea un mic script care sa automatizeze procesul. Acelasi “Run” ca in situatia de mai sus -> notepad, iar ca text se pune acolo:

@echo off
cls
title Explorer as Admin
runas /user:SaltwaterC explorer.exe
exit

unde SaltwaterC se inlocuieste cu numele administratorului vostru. Se salveaza fisierul ca script, nu ca fisier text, deci folositi o denumire gen admin_explorer.cmd, iar acel cmd din coada numelui este esential. Daca fisierul rezultat are iconita precum fisierele text normale, inseamna ca nu a fost salvat cum trebuie. De fiecare data cand este nevoie de Windows Explorer cu privilegii superioare, executati scriptul creat dupa metoda descrisa mai sus.

Acestea fiind spuse, chiar daca la inceput este dificil, sistemul poate deveni unul mult mai sigur si rezistent la virusare.

Atentie! Rularea Windows Explorer cu drepturi administrative genereaza urmatoarea chestie: din moment ce explorer.exe este system shell, orice aplicatie lansata din instanta de Explorer cu privilegii administrative va rula deasemenea tot cu privilegii administrative, inclusiv aplicatiile care vor fi lansate cand se deschid documente, spre exemplu Office sau HTML, deci mare atentie pentru ca exista riscul de virusare in acest caz. Este recomandat ca acest shell sa fie lansat doar pentru activitati administrative gen instalare de aplicatii, modificari in sistem, sau accesarea de fisiere protejate.

Disclaimer