Droit NTFS

Résolu
youil Messages postés 67 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 12 juillet 2011 - 17 août 2009 à 20:30
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 19 août 2009 à 18:13
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

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
19 août 2009 à 01:01
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
3
bitangm Messages postés 13 Date d'inscription jeudi 20 août 2009 Statut Membre Dernière intervention 24 août 2010
17 août 2009 à 21:44
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
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
17 août 2009 à 23:18
Exact.

---
VB.NET is good ... VB6 is better
0
youil Messages postés 67 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 12 juillet 2011
18 août 2009 à 01:37
Alors si je place la commande runas dans le raccourci du exe ça devrais fonctionner.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
18 août 2009 à 10:46
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
0
youil Messages postés 67 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 12 juillet 2011
18 août 2009 à 15:00
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.???
0
youil Messages postés 67 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 12 juillet 2011
18 août 2009 à 15:37
J'utilise la commande System.Diagnostics.Process.Start
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
18 août 2009 à 17:50
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
0
youil Messages postés 67 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 12 juillet 2011
18 août 2009 à 17:55
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.???
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
18 août 2009 à 18:05
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
0
youil Messages postés 67 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 12 juillet 2011
18 août 2009 à 18:36
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")
0
youil Messages postés 67 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 12 juillet 2011
18 août 2009 à 21:56
A oui mon dossier est un dossier réseaux.
0
youil Messages postés 67 Date d'inscription vendredi 28 mars 2003 Statut Membre Dernière intervention 12 juillet 2011
19 août 2009 à 13:53
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 ?
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
19 août 2009 à 18:13
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
0
Rejoignez-nous