Creare una directory e definirne il proprietario
gbiuso@yahoo.com
gbiuso@yahoo.com non è online. Ultima attività: 24/09/2009 23.08.13gbiuso@yahoo.com
il 2 luglio 2009 alle 16:15
5 messaggi dal 02 luglio 2009
Salve, avrei la necessità, mediante script in C# eseguito su IIS, di creare una cartella e definirne le sue autorizzazioni d'accesso e il suo proprietario. Girovagando su Internet ho messo a punto il seguente codice:

DirectoryInfo dInfo = new DirectoryInfo(@"C:\Share\");
DirectorySecurity dSecurity = new DirectorySecurity();

dSecurity.AddAccessRule(new FileSystemAccessRule( "Utente" ,
FileSystemRights.FullControl ,
InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit ,
PropagationFlags.NoPropagateInherit ,
AccessControlType.Allow ) );

dSecurity.SetOwner(new NTAccount("Utente"));
dInfo.CreateSubdirectory("Dir_Utente", dSecurity);

Purtroppo questo codice funziona solo se lo faccio eseguire all'interno di VisualStudio loggato con l'account di amministratore.
Quando lo faccio eseguire da IIS ottengo un errore di protezione generato dall'impossibilità dell'account "ServiceNetwork" di cambiare il proprietario di una cartella.
Ho fatto altre ricerche su internet per settare, tramite codice, il permesso mancante all'utente "ServiceNetwork" ovvero il privileggio "SeTakeOwnershipPrivilege" ma non sono riuscito a tirare fuori neanche una riga di codice valido. Sembrerebbe che debba ottenere, dal processo corrente, il token di autenticazione e definire su esso questo nuovo privileggio.
Qualcuno può darmi una dritta su quali classi del framework .NET debba utilizzare?

Grazie
RE: Creare una directory e definirne il proprietario
nostromo
nostromo non è online. Ultima attività: 09/02/2010 11.49.13nostromo Top Poster
il 3 luglio 2009 alle 10:33
è aberrante che un applicazione .net imposti permessi alle cartelle, spero sia in una intranet..., comunque l'unico sistema è usare l'impersonificazione, ovvero la tua app gira con ce credenziali di un utente che può fare quelle cose

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
RE: Creare una directory e definirne il proprietario
gbiuso@yahoo.com
gbiuso@yahoo.com non è online. Ultima attività: 24/09/2009 23.08.13gbiuso@yahoo.com
il 3 luglio 2009 alle 17:42
5 messaggi dal 02 luglio 2009
Non è aberrante se è una applicazione web, destinati a pochissimi eletti, che mi permette di modificare velocemente alcune caratteristiche di utenti e gruppi AD senza dovere accedere alla console.
Sono d'accordo per cambiare l'utente che deve fare girare l'applicazione solo che ... non ho idea di come si possa fare

Accetto linee guida ...

Grazie
Giuseppe
RE: Creare una directory e definirne il proprietario
gbiuso@yahoo.com
gbiuso@yahoo.com non è online. Ultima attività: 24/09/2009 23.08.13gbiuso@yahoo.com
l'8 luglio 2009 alle 17:39
5 messaggi dal 02 luglio 2009
Sono venuto a capo del problema e descrivo la soluzione che potrebbe essere di aiuto a qualcuno.
I passi che bisogna fare sono due:
1) Mediante Criteri di gruppo abilitare l'utente su cui gira lo script (NETWORK SERVICE nel nostro caso) per ripristinare file e directory (La voce relativa è:
Configurazione computer -> Criteri -> Impostazioni di Windows -> Impostazioni protezione -> Criteri Locali -> Assegnazione diritti utente -> Ripristino di file e directory dove aggiungeremo l'utente "SERVIZIO DI RETE")
2) Mediante la funzione "AdjustTokenPrivileges" che troveremo nella libreria "advapi32.dll" abiliteremo il privileggio "SeRestorePrivilege".
Da questo momento in poi possiamo cambiare il proprietario di qualsiasi file e/o directory della macchina in oggetto.
Una nota: alla conclusione dell script, se non disabilitiamo il privileggio, rimane comunque abilitato nel sistema fino al riavvio della macchina.

 

Torna al forum |   Feed RSS
ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
COMMUNITY
ULTIMI MESSAGGI
UTENTI ONLINE
MEDIA
IN EVIDENZA
MISC
Powered by .db Forums "Caesar Reborn" v. 2010.2.8