Droit NTFS [Résolu]

Signaler
Messages postés
67
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
12 juillet 2011
-
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
-
J'ai bloqué des utilisateurs sur un dossier avec des droits ntfs.Comment faire pour que mon logiciel est accès a ce dossier sans touché au droit ntfs.

Merci pour vos réponse !!!

14 réponses

Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Tu dois alors utiliser un chemin UNC (de type \\serveur\partage\dossier\sousdossier\fichier.ext) car les mappings ne sont valables qu'à partir de la première ouverture de session de l'utilisateur.
Donc pour faire ce que tu veux, il te suffit de faire ceci :
Dim PassWord As New Security.SecureString
Dim c As Char, str As String = "123456"
For Each c In str
 PassWord.AppendChar(c)
Next c
System.Diagnostics.Process.Start ("\\serveur\partage\dossier\sousdossier\fichier.ext","","AyantDroit",PassWord,"domaine")


---
VB.NET is good ... VB6 is better
Messages postés
13
Date d'inscription
jeudi 20 août 2009
Statut
Membre
Dernière intervention
24 août 2010

Un logiciel s'exécute toujours avec les droits d'un utilisateur.
Si c'est les utilisateurs qui démarrent ton logiciel :
- Tu doit avoir deux exécutables
- Un que l'utilisateur exécute
- Un deuxième qui est appelé par le premier
et s'exécute en tant que service ou un autre utilisateur
ayant les droit sur ce dossier

Si ton logiciel démarre au démarrage d'une session ou de l'ordinateur
- tu doit le configurer en tant que service Windows
- comme celà tu pourra l'exécuter en tant que LocalSystem

Dans tous les cas, ton logiciel doit s'exécuter en tant qu'un
utilisateur différent le l'utilisateur connecté et c'est utilisateur
doit avoir des droits NTFS sur le dossier en question


===================================================
BITANG Marcel Yves
bitangm@yahoo.fr
+242 405 50 61
+242 650 46 47
+242 700 02 23
+237 75 17 16 81
+237 75 68 58 22
+237 96 04 18 51
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Exact.

---
VB.NET is good ... VB6 is better
Messages postés
67
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
12 juillet 2011

Alors si je place la commande runas dans le raccourci du exe ça devrais fonctionner.
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Non, il demandera un mot de passe.
Tu dois faire un programme utilisant ces APIs :
Declare Function LogonUser Lib "ADVAPI32.dll" Alias "LogonUserA" ( _ 
 ByVal lpszUsername As String, _ 
 ByVal lpszDomain As String, _ 
 ByVal lpszPassword As String, _ 
 ByVal dwLogonType As Long, _ 
 ByVal dwLogonProvider As Long, _ 
 ByRef phToken As Long) As Long 

Declare Function CreateProcessAsUser Lib "kernel32.dll" Alias "CreateProcessAsUserA" ( _ 
 ByVal hToken As Long, _ 
 ByVal lpApplicationName As String, _ 
 ByVal lpCommandLine As String, _ 
 ByVal lpProcessAttributes As SECURITY_ATTRIBUTES, _ 
 ByVal lpThreadAttributes As SECURITY_ATTRIBUTES, _ 
 ByVal bInheritHandles As Long, _ 
 ByVal dwCreationFlags As Long, _ 
 ByVal lpEnvironment As String, _ 
 ByVal lpCurrentDirectory As String, _ 
 ByVal lpStartupInfo As STARTUPINFO, _ 
 ByVal lpProcessInformation As PROCESS_INFORMATION) As Long 

Declare Function CloseHandle Lib "kernel32.dll" ( _ 
 ByVal hObject As Long) As Long 

---
VB.NET is good ... VB6 is better
Messages postés
67
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
12 juillet 2011

Merci ghuysmans99 pour ton aide.

Quand j'ouvre le logiciel avec un compte qui a pas les droits ntfs erreur(accès refusé).

Quand j'ouvre le logiciel avec un compte qui a les droits ntfs erreur(Impossible de trouver une partie du chemin d'accès).

Quand je regarde dans le gestionnaire des tâches le logiciel est bien ouvert sur un utilisateur différent.???
Messages postés
67
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
12 juillet 2011

J'utilise la commande System.Diagnostics.Process.Start
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Oh, je pensais que tu codais en VB6.
Pas grave, l'option est prévue dans le framework (heureusement !)
Regarde de ce côté là

---
VB.NET is good ... VB6 is better
Messages postés
67
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
12 juillet 2011

Avec la commande System.Diagnostics.Process.Start

Quand j'ouvre le logiciel avec un compte qui a pas les droits ntfs erreur(accès refusé).

Quand j'ouvre le logiciel avec un compte qui a les droits ntfs erreur(Impossible de trouver une partie du chemin d'accès).

Quand je regarde dans le gestionnaire des tâches le logiciel est bien ouvert sur un utilisateur différent.???
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Tu as appelé la fonction comme ça ?
System.Diagnostics.Process.Start ("%windir%\notepad.exe","c:\tonfichier.txt","AyantDroit","motdepasse_secret","")

---
VB.NET is good ... VB6 is better
Messages postés
67
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
12 juillet 2011

Oui exactement comme ca.
Dim pass As New Security.SecureString
Dim c As Char
Dim str As String = "123456"
For Each c In str
pass.AppendChar(c)
Next
System.Diagnostics.Process.Star("c:\copier.exe", "username",pass, "domainename")
Messages postés
67
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
12 juillet 2011

A oui mon dossier est un dossier réseaux.
Messages postés
67
Date d'inscription
vendredi 28 mars 2003
Statut
Membre
Dernière intervention
12 juillet 2011

Merci ghuysmans99 d'avoir pris le temps pour m'aider.

Toi si tu voulais empêcher les utilisateurs de jouer avec les fichiers d'un répertoire, pour qu'il utilise une application.Quel est le moyen que tu utiliserais ?
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
12
Celui-ci. Mais vérifie que le boot en USB et CDROM soit désactivé sur les PC.
Si l'utilisateur parvient à démarrer sous Linux (ou autre chose) la sécurité NTFS est ignorée.

---
VB.NET is good ... VB6 is better