‘Automatic Restart’ si ‘Lock Workstation’
Aparent acesti doi termeni nu au multe in comun. Aparent. Citeam acum cateva zile pe un mailing list de o problema a unui sysadmin Windows: are o masina care trebuie sa copieze diferite chestii de colo-colo, dar aplicatia respectiva are nevoie de cont cu privilegii de administrator pentru a-si face treaba. Acum incepe distractia … daca in timpul zilei masina respectiva se afla sub supraveghere, in timpul noptii aceasta nu se afla … si nu, nu aici era problema. Problema era ca pentru a asigura continuitatea operatiilor, masina avea activata functia de auto-logon in contul respectiv cu privilegii de administrator. Nici pana aici nu este nici o problema … exista Windows+L care blocheaza o sesiune de logon si te trimite la Welcome Screen. Problema este ca in timpul noptii exista posibilitatea ca masina sa isi faca auto-update … si sa isi dea auto-restart.
De aici incepe si rant-ul personal. Ultimele doua auto-update-uri (efectuare in prezenta mea!) s-au ales cu urmatoarele:
Pe langa faptul ca imi este bagat pe gat un auto-restart … la aceste update-uri nici macar nu mi se oferea posibilitatea de a da ‘Cancel’. Sa fie de la faptul ca rulez sub USER? Ideea e ca nenea care a gandit chestia asta da dovada de un amatorism aparte in ceea ce priveste gandirea. Stiu ca in viziunea UNIX utilizatorul nu este considerat de incredere … dar de acolo, pana a-i nega posibilitatea de a mentine masina in uptime atata vreme cat ii vrea madularul … este cale de mers. Si da, imi permit sa vociferez pentru ca umplu papucii unui client Microsoft multumit de unele aspecte ale sistemului pe care l-am cumparat fortat de politicile lor corporatiste prin care anumite chestii sunt strict legate de platforma Win32. Deci nu, nu merge sa imi vina sa imi cante cineva la masa pe aia cu: “nu il mai folosi”. Cea mai probabila replica o sa fie cea cu “go fuck a tree” urmata la 0.1cm de “go buy a Windows licence”.
Destula abatere de la subiect. Sa revenim la sysadminii nostrii. Problema cu restart-ul si cu auto-logonul este aceea ca logonul nu se poate face in stare blocata. Si nici nu exista nimeni care sa dea Win+L. Un screensaver care odata ce este blocat are un timeout minim de 1 minut, timp in care masina este vulnerabila la acces fizic, direct cu acces de administrator. Nu trebuie sa fac desene ca sa se inteleaga in termeni de securitate ce inseamna aceasta. Solutia vine tocmai din Win32API si posibilitatile de scriptare ale Windows-ului (bune, rele, asa cum sunt, parerile sunt impartite). Nenea care a dat solutia sugera un VBS (Visual Basic Script). Eu sunt mai de “moda veche” si prefer batch scripting-ul. Ideea este ca la logon sa se ruleze la startup o chestie care sa blocheze automat sesiunea de desktop. Chestia aceea arata cam asa:
rundll32.exe user32.dll,LockWorkStation
Majoritatea utilizatorilor cu vechime cred ca deja se pravalesc pe jos de ras cand citesc astea … pentru ca este o chestie arhicunoscuta. Dar cum mie imi place sa despic firul in 4, o sa zic si ce anume face. runll32.exe este o aplicatie care executa DLL-uri pentru a le incarca in memorie, si a le face mai eficiente. user32.dll este binarul in care se afla implementata functia LockWorkStation, cea care este apelata in momentul in care se tasteaza Win+L. Se poate apela oricand, la orice ora, fie dintr-un script, fie bagand comanda respectiva la run sau in shell.
Personal as fi propus ca alternativa … dezactivarea auto-logonului … si rularea chestiei respective ca serviciu sub un cont de administrator (nu sub SYSTEM!). Ar scuti de multe probleme … dar daca omul ar fi ales direct chestia asta … nu imi mai dadea mie ce sa scriu, si motiv sa fac MS bash-ul de mai sus … nu-i asa?
If you found this page useful, consider linking to it.
Simply copy and paste the code below into your web site (Ctrl+C to copy)
It will look like this: ‘Automatic Restart’ si ‘Lock Workstation’



