[MEGOLDVA] Hogyan oldható meg setuid-szerű viselkedés?

Adott egy rendszer (8.1 Industry Pro), amely automatikusan egy standard userrel logol be, az admin jelszót nem is szívesen adnám ki.
Viszont van egyetlen .exe, amelyhez admin jog kell (az eGalax touch-vezérlő beállító ablaka), és ehhez „átlag” usernek is hozzá kell férnie.
Hogyan lehet ezt megoldani anélkül, hogy minden felett admin joga lenne valakinek?

Hozzászólások

engem is érdekel.
eddig csak sudo-szerű megoldásokkal találkoztam, de kijátszhatónak tűntek - nem csak a megadott programot tudta vele futtatni a user.
esetleg scheduled task-ként indíthatnád admin nevében a programot olyan event-re amit tud a user triggerelni.

Ez egy használhatónak tűnő leírás, lépésről lépésre: https://www.msigeek.com/4823/creating-a-shimfix-using-compatibility-adm…
Másik lehetőség: Process Monitorral megnézni, hogy nem adminként mihez nem fér hozzá, amihez adminként igen és megadni a megfelelő jogokat a felhasználóknak.

Üdv,
Marci

Hát én próbálkoztam mindennel, de nem jutottam előrébb.
Azt hittem, soha nem látok dtrace/strace-nél macerásabb olvasnivalót, de ez a Process Monitor durvább. Ráadásul sehogy nem találtam meg, hogy mihez nem fér hozzá, amiért feljön az UAC, de valószínűsítem, hogy a vezérlő EEPROM-jának olvasásához/írásához elég magas jogosultságszint kell.
A compatibility administrator pedig csak adminként hajlandó futni, így semmivel nem jutottam előrébb, mert úgy persze simán fut.

Próbálkoztam egy admin usernek beadni shellként, de az nem akarta az igazat.
Írtam köré egy háromsoros wrappert, így megy, de emiatt le kell tiltanom a spec. billentyűkombinációkat az adminoknak is, különben simán Ctrl+Shift+Esc, aztán azt futtat, amit akar... :(

Valahogy úgy megy a dolog, hogy a Compatibility Administratorral megcsinálod az alkalmazásodhoz a shim-et, amit aztán installálsz a kívánt gépekre. Tehát csak a kialakításhoz kell az admin jog, meg a telepítéshez - a shim-melt alkalmazás használatához nem, hisz akkor nem lenne értelme.

Üdv,
Marci

Igen, de maga a CA csak adminként hajlandó futni, és a problémás exe is azzal indul el, természetesen mindennemű probléma nélkül.
De az, hogy admin jog kell alacsonyszintű hardverkezeléshez, nem hiszem, hogy kompatibilitási kérdés (bár de, találtam egy ilyen opciót, W95 és W98 miatt, de a cucc eleve csak NT-s kernelen megy).

Egyébként úgy néz ki, kell írnom egy elég minimális shellt, innentől meg nem gond, mert csinálok egy admin jogú usert (admin2), kiadom a hozzá tartozó jelszót, normál userként runas-szel elindítom a vezérlőt az admin2 jogán, viszont az admin2 shelljének írok egy egysoros programot, ami azonnal csinál egy logoffot, így nem fog tudni belogolni :)
(Hogy mennyire szeretem a Windowst az ilyen nyakatekert megoldások miatt! :)

Majdnem.
A shellként funkciónáló program csak egy loader, elkéri a szervertől, mit kell futtatnia. Ez egy néhány gombot tartalmazó panel, de erre élből rátöltődik a célszoftver, amelyből megfelelő ismeretekkel kilépve vissza lehet jutni a beállítópanelhez. Innen lehet pl. a touchscreent konfigolni, törölni az adatpartíciót stb.

Igen. Drága. Főleg, hogy ahogy elnéztem, még egy AD is kellene hozzá, míg nálam ezek önálló gépek, legalábbis az összes MS-es hálózati cucc ki van belőlük herélve, a hálózati beállításoknál az IPv4 protokoll támogatásának kivételével mindent kidobtam.
(Csak azért Windows az alap, mert nincs 2-3 évünk linux alapon lefejleszteni egy eredetileg Winformsról WPF-re átírt GUI-t. Pedig anno jó ötletnek tűnt… :)

Paraszt megoldas: runas savecred? (Nem ertek a Windowshoz.)

--
Pásztor János
Sole Proprietor @ Opsbears
Development Lead @ IXOLIT

Szia,
Bár kaptál egy ötletet már, de azért megosztanám az alábbit is:
http://superuser.com/questions/773460/powershell-run-programs-with-argu…
A scriptet pedig https://technet.microsoft.com/en-us/sysinternals/bb897553.aspx segítségével tudod bináris szerűvé varázsolni, így nem olyan könnyedén tudják a felhasználók kiolvasni a jelszót.
Az egész hátránya, hogy UAC prompt megmarad (de nem kér felhasználói adatokat!), és a jelszó tárolva is lesz ebben a scriptben ( binárisra forgatás ide, vagy oda, sajnos ettől még visszanyerhető marad egy leleményes user kezében...)
Üdv,
LuiseX
U.i: 4-5 éve használtam ezt a megoldást, egy hw elem ki/be kapcsolására, sajnos annak a fizikai gombja elhalálozott, a felhasználónak pedig kellett egy megoldás :)