Witam.
Szukam rozwiązania dla systemu Windows 7, 8, 10. Problem polega na tym, że osoba pracuje na koncie użytkownika na programie, który do prawidłowej pracy musi być uruchomiony z uprawnieniami administratora. Czyli trzeba wpisać hasło przy uruchamianiu takiego programu.
Co ma zrobić administrator by osoba na koncie użytkownika mogła uruchamiać taki program nie znając hasła do konta administratora?
No problem:
Utwórz skrót do programu, prawo-klik zakładka skrót i dodaj w element docelowy:
C:\Windows\System32\runas.exe /savecred /user:administrator “C:\Program Files (x86)\Microsoft\Skype for Desktop\Skype.exe”
Zastosuj
Ścieżka do Skype została podana jako przykład- tam musi być ścieżka do Twojego programu.
Przy pierwszym uruchomieniu poprosi o hasło Administratora, wpisz je i hasło zostanie zapamiętane.
Jeżeli nie chcesz konta używać Administator to utwórz specjalnie nowe konto z uprawnieniami Administratora, nadaj hasło i podstaw zamiast Administrator nazwę swojego konta i wpisz hasło właściwe dla tego konta.
Zapamiętane hasło będzie w panelu sterownia / Menadżer Poświadczeń / jako Logowanie interakcyjne
Często jest to błąd programistów, ktorzy z lenistwa walą wszystko z administratora. Jeśli program nie został glupio napisany, to uprawnienia administratora mogą być wymagane, bo możliwe, że musi coś zapisać w katalogu, z ktorego się uruchamia. Wowczas wystarczy dodać uprawnienia modyfikacji dla calego folderu grupie użytkownicy uwierzytelnieni. Spróbuj na jakiejś VM.
W innym przypadku kontakt z producentem lub wymiana programu.
I bron Cie panie odpalać skrypty z runas i savecred, bo dajesz w ten sposób dostęp do calego systemu nie tylko użytkownikom, ale również złośliwemu oprogramowaniu. Równie dobrze użytkownik może pracować na koncie administratora, bo obniżenie uprawnień już przed niczym Cię nie chroni.
Jaki wtedy sens ma praca na koncie ograniczonym? Zapisane hasło admina w menedżerze poświadczeń, to jak praca na koncie bez ograniczeń. Runas może wtedy wykonać wszystko, nie tylko konkretne polecenie ze skryptu. Sprawdź sobie zanim komuś polecisz takie rozwiązanie.
Sprawdzę, to znalazłem na Technecie kilka lat temu.
Masz inne rozwiązanie tego problemu?
Sam szukam. Przydałaby się apka coś w stylu sudo jak to jest w Uniksach. Może ktoś zna.
Kiedyś używałem CPAU, potem bawiłem się innymi metodami, ale żadna nie jest w pełni bezpieczna. Swoją drogą, co tu mówić o bezpieczeństwie, gdy co dzień odkrywanych jest wiele podatności? Z drugiej strony samemu dokładać kolejne z tego powodu też nie jest sensowne.
Niemniej czasem użycie takich metod (jak runas czy CPAU) jest konieczne pomimo zmniejszenia bezpieczeństwa, bo inaczej “w ogóle nie zadziała”.
Ze spełniających założenia jest też oprogramowanie “RunAsTool”, ale nim akurat się nigdy nie bawiłem.
Tylko jaki sens ma ograniczanie konta użytkownika, gdy poświadczenia administratora zapisane są dla runas w magazynie? Równie dobrze użytkownik może pracować na koncie administratora.
Wykonaj sobie dowolne polecenie z runas savecred, a potem wykonaj przez runas inne polecenie. Może wtedy zrozumiecie dlaczego jest to złe i nie ma róznicy między pracą na koncie administratora.
Dziwi mnie tylko, że w Windows nie ma czegoś takiego jak sudo.
Widzę, że ktoś się za to jednak wziążł.
Trzeba wziąć na testy.
Bo np. uprawnienia użytkownika są definiowane na poziomie sieci (na serwerach w AD) i nie ma możliwości, aby użytkownik domenowy miał uprawnienia AL? A trzeba jakoś to obejść, bo program “ma i musi działać”.
Też nie do końca, bo administrator nawet w AD może narobić sporo gnoju. Chyba że tak jak ja wycinasz administratora i grupę administratorzy ze wszystkiego co się da.
Poza tym w AD nie ma opcji, aby jakiś program działał z uprawnieniami administratora. Przy AD szuka się rozwiązań, w których leniwi programiści nie robią takiej fuszery.
Mam wiele firm pod opieką, w którym jest AD, 100% softu działa bez uprawnień administratora. Jeśli takowe się trafia, to się je eliminuje. Taki soft nie m prawa wystąpić w firmie.
Większość softu jest juz dostosowana. Programy wymagające admina, to albo stary soft, albo napisany przez leniwych programistów, czyli nic niewarty i można go zastąpić innym. W innym przypadku to tylko kwestia uprawnień do foldery, bo aplikacja musi coś do niego zapisać, z uprawnianimi użytkownika, który go uruchomił. Wtedy wystarczy dodać uprawnienia mdyfikacji dla grupy użytkownicy uwierzytelnieni.
Bo dokładnie tak to wygląda. Jest stary soft, który musi działać, a nowy:
- no będzie, będzie.
- ale kiedy?
- no… jak będzie.
(Albo i nie będzie.)
Dokładnie tak, softu się nie wybiera (tak samo użytkowników komputerów).
Wyobrażacie sobie panią Krysię ci sobie RAM doinstalowała albo musiała z z maila zaktualizować Office ?
Zwykłe konto użytkownika to pierwsza linia obrony.
Specjalistycznch programów nie zastąpisz
Owszem, ale od specjalistycznego za grubą kasę wymaga się, aby był dostosowany do wymagań chociażby AD. Ja sobie niewyobrażam, aby w AD użytkownicy byli administratorami.
Czyli nie ma bezpiecznego rozwiązana sytuacji którą opisałem?
Zaraz potestuję to co napisał @roobal z tym savecred
A może by tak użyć cmd ale bez zapamiętywania hasła i skompilowanego do exeka?
Swoją droga czy można zablokować userowi możliwość edycji skrótu z savecred?
sprawdziłem, po uruchomieniu innego programu ze skrótu poprzez skopiownie polecenie runas:
C:\Windows\System32\runas.exe /user:administrator
Prosi o podanie hasła, czyli system rozróżnia ścieżkę uruchomienia, można się rozejść licznu nie będzie ?
Podmieniłem również plik wykonywalny na inny aby oszukać metodę uruchomienia, kończy się błędem uruchomienia.
Czy por raz drugi linczu nie będzie ?
Więc rozwiązanie z
C:\Windows\System32\runas.exe /user:administrator
Jest bezpieczne czy nie?
Moje testy na chwilę obecną mówią tak, ale musiałbym jeszcze dogłębniej po-testować . (potrzebny czas)