[VC++] Creation d'un repertoire partagé a certains users

Le
Alex
Bonjour ;)

J'aimerais créer un dossier partagé, avec acces autorisé uniquement à
certains users et a l'administrateur. Je sais que pour créer un dossier il
faut utliser CreateDirectory, mais pour défnir le fait qu'il s'agit d'un
dossier partagé, et définir qui peut y lire/écrire/ je ne sais pas du
tout comment faire.

Existe-t-il une classe, api, qui permet de réaliser cela ?

Je vous remercie. a++
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Christian ASTOR
Le #9749791
Alex wrote:

J'aimerais créer un dossier partagé, avec acces autorisé uniquement à
certains users et a l'administrateur. Je sais que pour créer un dossier
il faut utliser CreateDirectory, mais pour défnir le fait qu'il s'agit
d'un dossier partagé, et définir qui peut y lire/écrire/... je ne sais
pas du tout comment faire.



NetShareAdd() (PSDK => Netshare.c)
Alex
Le #9749771
Bonjour,

Merci beaucoup pour cette info. Cependant j'ai beau chercher sur le net, je
ne trouve que des exemples (dont celui donné par microsoft) où le dossier
est partagé suivant la procédure suivante :
- Full acces via l'admin
- Read only via everyone

Si par hasard vous aviez un exemple montrant comment utiliser les structures
de sécurité (PSECURITY_DESCRIPTOR) pour gérer les acces en lecture/ecriture
au niveau de l'utilisateur (et non d'un groupe comme everyone ou de l'admin)
ca m'aiderait pas mal...

Merci en tt cas ;) a++
Christian ASTOR
Le #9749761
Alex wrote:

Merci beaucoup pour cette info. Cependant j'ai beau chercher sur le net, je
ne trouve que des exemples (dont celui donné par microsoft) où le dossier
est partagé suivant la procédure suivante :
- Full acces via l'admin
- Read only via everyone

Si par hasard vous aviez un exemple montrant comment utiliser les
structures de sécurité (PSECURITY_DESCRIPTOR) pour gérer les acces en lecture/ecriture
au niveau de l'utilisateur (et non d'un groupe comme everyone ou de
l'admin) ca m'aiderait pas mal...



Mais l'exemple Netshare.c prend un User ou un Groupe en paramètre (pour
LookupAccountNameW())
Alex
Le #9749751
Merci..

Cependant, par defaut un dossier partagé est accessible en lecture par tous
les utilisateurs. Je voudrais qu'il ne soit accessible qu'a un seul
utilisateur, et que tous les autres ne puissent meme pas le lire.

J'essaye de modifier cet acces en utilisant la fonction AddAccessDeniedAce
au lieu de AddAccessAllowAce pour le groupe Users mais ca ne marche pas :(

Que je mette AddAccessAllowAce ou AddAccessDeniedAce le résultat est le
même...

Je suis sous Vista, le probleme peut venir de cela ??

La fonction LookupAccountNameW me renvoie bien un SID. Je n'ai pas d'erreur
lors de l'execution.

Si vous avez par hasard une idée ;) Merci encore.

Voila mon code :
....
DirectoryToShare = L"C:\ee";
Sharename = L"Sharename";
Username = L"Users"; // Groupe Users
Server = NULL;

....

//
// compute size of new acl
//

dwAclSize = sizeof(ACL) +
1 * ( sizeof(ACCESS_DENIED_ACE) - sizeof(DWORD) ) +
GetLengthSid(pSid) ;

....

if(!AddAccessDeniedAce(
pDacl,
ACL_REVISION,
GENERIC_ALL,
pSid
)) goto cleanup;

....


"Christian ASTOR" news:470ffad7$0$21144$
Alex wrote:

Merci beaucoup pour cette info. Cependant j'ai beau chercher sur le net,
je
ne trouve que des exemples (dont celui donné par microsoft) où le dossier
est partagé suivant la procédure suivante :
- Full acces via l'admin
- Read only via everyone

Si par hasard vous aviez un exemple montrant comment utiliser les
structures de sécurité (PSECURITY_DESCRIPTOR) pour gérer les acces en
lecture/ecriture
au niveau de l'utilisateur (et non d'un groupe comme everyone ou de
l'admin) ca m'aiderait pas mal...



Mais l'exemple Netshare.c prend un User ou un Groupe en paramètre (pour
LookupAccountNameW())


Christian ASTOR
Le #9749721
On 13 oct, 14:44, "Alex"
Cependant, par defaut un dossier partagé est accessible en lecture par tous
les utilisateurs. Je voudrais qu'il ne soit accessible qu'a un seul
utilisateur, et que tous les autres ne puissent meme pas le lire.



Je viens de re-tester (sous XP SP2, pas Vista) et si je fais :

netshare c:temp toto DomainUser

c:temp n'est accessible qu'à User.
Les autres utilisateurs ont un "Accès refusé"
Publicité
Poster une réponse
Anonyme