czwartek, września 27, 2007

UAC w vista - mala pomoc w pracy

zdanie o UAC mam wyrobione i poki co nic nie wskazuje na to, zebym je zminil. niemniej pewna pomoca, pozawalajaca na gladsza prace przy wlaczonym UAC jest 'script elevation powertoys for vista'. jest to art opisujacy w jaki sposob mozna uruchomic skrypty z podwyzszonymi uprawnieniami. aby nie zostawic tematu, zrobie takie zbiorcze podsumowanie:


  • dostepne na w/w stronie skrypty to tak na prawde trywialne wykorzystanie metody 'shellExecute' obiektu 'shell.Application'. po zajrzeniu do zrodla i wycieciu wszystkiego co niepotrzebne zostaje:

    Set objShell = CreateObject("Shell.Application")
    objShell.ShellExecute "application path np. cmd", "argumenty np. /k", "", "runas"

    cala tajemnia w slowku 'runas'. jak to zadziala i dla czego?
    jesli jest sie uzytkownikiem zwyklym, pojawi sie ekran proszacy o podanie user/pass z uprawnieniami admina. jesli jest sie adminem, aplikacja uruchomi sie z podwyzszonymi uprawnieniami - integrity level....
  • opis czym sa intergrity levels i jak dzialaja mozna znalesc np. przy okazji narzedzia chml, kotre moze posluzyc do ich modyfikacji na plikach. w systemie jest dostepne od razu icacls - na koncu wskazane artu autor tlumaczy, czemu stworzyl dodatkowy tool. wiecej [i po polsq] pomozna przeczyc w arcie GT na technecie tutaj i tutaj.
  • powracjac do powertoys - pojawia sie tam rowniez skrpcik [inf] dodatjacy wpis w rejstrze, dzieki ktoremu pod prawym guzikiem myszy pojawia sie 'run as admin with command prompt'.
  • dosc ciekawym sqtkiem ubocznym tego calego mechanizmu jest fakt, ze niektore skrypty logowania nie beda dzialac dla administratora, bez zwrocenia zadnego bledu czy informacji. rozwiazaniem moze byc zastosowanie skryptu 'launchapp.wsf', ktory wrzuca taki skrypt do schedulera, ten wywoluje go z opcja 'interact with user desktop'. uruchomienie elevate.vbs nie wchodzi w rachube, poniewaz zwyklemu userowi wyskoczy prosba o podanie hasla. zastosowanie launchapp ma wade poniewaz uruchomi sie ze znaczym opoznieniem, ale zadziala dla kazdego przezroczyscie.
  • ostatnio trafilem na srodowisko, gdzie na vistach skrypty nie uruchamiaja sie 'bo nie' i nie pomga nic, w zadnych warunkach. na razie nie odkrylem przyczyny q: to taka ciekawosta w-files... oczywscie skrypt uruchomiony 'z reki' mapuje. z GPO - nie.
  • kiedys pisalem, ze zaleta UAC jest fakt, ze mozna sprawdzic, ktore aplikacje sa zle napisane i grzebia, gdzie nie powinny. wlaczylem UAC i odkrylem, ze jest to spora wiekszosc tych, z ktorych korzystam na codzien. wiec go wylaczylem q:
  • na dobre dzialanie aplikacje trzeba bedzie poczekac jeszcze sporo czasu - az wszyscy zaczna inaczej programowac. chcialem zaznaczyc, ze o ile sam UAC mi sie nie podoba, to winic za obecna sytuacje nalezy programistow owych aplikacji a nie microsoft. jest to jakis poziom zabezpieczenia, madrzejsze glowy niz moja nad tym siedzialy, wiec zakladam, ze ma to jakies uzasadnienie. aplikacje natomiast powinno sie instalowac dla konkretnego systemu, albo nie marudzic - jesli ktos, instaluje kompilacje programu linuxowego na windowsie, to musi liczyc sie z tym, ze nie bedzie dobrze dzialal. vista to *nowy* system i nikt nie mowil, ze bedzie w pelni kompatybilny [wrecz przeciwnie]. to tak slowem usprawiedliwienia - poniewaz jechac po tym prywatnie bede nadal, co nie znaczy, ze nie nalezy dostrzegac globalnego aspektu calej sprawy...

czego braqje? o ile jest icacls czy chml, o tyle nie da sie zmienic poziomu integralnego dzialajace procesu [to poniekad rozsadne]. za pomoca opisanej metody ze skryptu 'runas' mozna ulatwic sobie uruchamianie pewnych aplikacji - ale juz np. konfigracji ustawien tcp/ip nie za bardzo [trzba by poszukac rundll32 do tego okienka] - a szkoda. moze pojawi sie kiedys jakis nowy powertoys, ktory opcje 'run as admin' doda do kazdego kawalq interfejsu q:

1 komentarz:

n€x¤R pisze...

huh. albo blogger zrobil jakas cenzure na literki 'go' albo ja mam cos z palcami. ale nie chce mi sie porawiac w texcie...