Per capire cosa sto chiedendo, è importante distinguere tra i vari usi di SUID in Unix.Quali scelte ho sulle piattaforme MS Windows per l'equivalente di SUID da piattaforme basate su Unix?
Ho un progetto che utilizza un eseguibile nel PATH dell'utente che è di proprietà del progetto e che ha il bit SUID impostato. In questo modo, quando viene eseguito, viene eseguito nel contesto del proprietario del file, non dell'utente chiamante. In questo modo, ha accesso a cose che l'utente non ha, e quindi queste cose sono protette dall'utente dalle normali protezioni del file system. Funziona abbastanza bene. I piani sono di spostare il progetto su un'architettura client-server, ma ci vorrà del tempo. Nel frattempo, come posso replicare questo tipo di comportamento sui sistemi Windows?
Si noti che gli eseguibili del progetto non chiamano la chiamata alla libreria SETUID anche se, francamente, sarebbe una grande caratteristica aggiungere, a mio parere, a ciò che il progetto fa. Il progetto non ha bisogno di privilegi di root di sistema. La prima preoccupazione per la sicurezza è che ha bisogno di proteggere i propri file dall'utente (che è semplicemente qualsiasi utente diverso dal proprietario del file) e sarebbe molto bello se avesse la possibilità di passare a "contesto utente" per accedere al file sistema come se fosse l'utente chiamante. (In questo modo, potrebbe facilmente determinare cosa è OK per il progetto da toccare e cosa no.)
Il progetto è scritto in una combinazione di C e Java - un programma C con SUID set chiama il codice Java ...
sono ansiosa di conoscere tutti questi meccanismi, e sono particolarmente focalizzata su quelle che sono:
- Adatto per C e Java, e;
- Facile da implementare per programmatori non Windows, e;
- Richiede una codifica minima specifica per Windows.
Se alcune soluzioni sono superiori, si prega di condividere i propri pensieri su ciò che si è a conoscenza a questo proposito.
NOTE:
- LogonUser: richiede una password in testo normale. Come può essere una risposta?
- RunAs: richiede l'inserimento della password in PROMPT! ... Come con LogonUser solo peggio; Non vedo come questa sia una risposta.
La soluzione corretta è installare un servizio. –