OVH Cloud OVH Cloud

Sécurité

4 réponses
Avatar
Patrick Fredin
Bonjour,

Mon programme crée un répertoire sur le lecteur C des PC des utilisateurs
pour y placer certains fichiers. Les PC sont avec Windows XP.
La sécurité du répertoire et des fichiers qui y sont placés fait que celui
qui a fait l'installation se trouve être le propriétaire du répertoire et a
tous les droits (lire, modifier et supprimer). Mais quand un autre
utilisateur utilise se même PC en se logant avec un autre login, il ne peut
que lire les fichiers sans pouvoir les mettre à jour.

Y a-t-il un moyen pour que, au moment de la création du répertoire, la
sécurité soit définie de façon que n'importe quel utilisateur puisse accéder
en lecture / écriture ?

Merci pour votre aide.

--
Patrick

4 réponses

Avatar
Guy DETIENNE
Salut ;O)

Et si tu créais plutôt ton dossier dans C:Documents and SettingsAll Users
?

Guy


"Patrick Fredin" a écrit dans le message
de news:
Bonjour,

Mon programme crée un répertoire sur le lecteur C des PC des utilisateurs
pour y placer certains fichiers. Les PC sont avec Windows XP.
La sécurité du répertoire et des fichiers qui y sont placés fait que celui
qui a fait l'installation se trouve être le propriétaire du répertoire et


a
tous les droits (lire, modifier et supprimer). Mais quand un autre
utilisateur utilise se même PC en se logant avec un autre login, il ne


peut
que lire les fichiers sans pouvoir les mettre à jour.

Y a-t-il un moyen pour que, au moment de la création du répertoire, la
sécurité soit définie de façon que n'importe quel utilisateur puisse


accéder
en lecture / écriture ?

Merci pour votre aide.

--
Patrick


Avatar
Patrick Fredin
Bonjour,

Merci pour l'idée mais seuls les administrateurs ont accès à ce répertoire.
C'est la sécurité interne de l'entreprise qui a décidé cela.

--
Patrick


"Guy DETIENNE" wrote:

Salut ;O)

Et si tu créais plutôt ton dossier dans C:Documents and SettingsAll Users
?

Guy


"Patrick Fredin" a écrit dans le message
de news:
> Bonjour,
>
> Mon programme crée un répertoire sur le lecteur C des PC des utilisateurs
> pour y placer certains fichiers. Les PC sont avec Windows XP.
> La sécurité du répertoire et des fichiers qui y sont placés fait que celui
> qui a fait l'installation se trouve être le propriétaire du répertoire et
a
> tous les droits (lire, modifier et supprimer). Mais quand un autre
> utilisateur utilise se même PC en se logant avec un autre login, il ne
peut
> que lire les fichiers sans pouvoir les mettre à jour.
>
> Y a-t-il un moyen pour que, au moment de la création du répertoire, la
> sécurité soit définie de façon que n'importe quel utilisateur puisse
accéder
> en lecture / écriture ?
>
> Merci pour votre aide.
>
> --
> Patrick





Avatar
Fred
Dans : news:,
Patrick Fredin disait :
Bonjour,

Mon programme crée un répertoire sur le lecteur C des PC des
utilisateurs pour y placer certains fichiers. Les PC sont avec
Windows XP.
La sécurité du répertoire et des fichiers qui y sont placés fait que
celui qui a fait l'installation se trouve être le propriétaire du
répertoire et a tous les droits (lire, modifier et supprimer). Mais
quand un autre utilisateur utilise se même PC en se logant avec un
autre login, il ne peut que lire les fichiers sans pouvoir les mettre
à jour.

Y a-t-il un moyen pour que, au moment de la création du répertoire, la
sécurité soit définie de façon que n'importe quel utilisateur puisse
accéder en lecture / écriture ?



Bonsoir,
Le plus simple serait peut-être de lancer la commande système CACLS au
moyen de l'instruction Shell ?
CALCS /? dans une invite de commande pour voir la syntaxe (ou l'aide
windows)

--
Fred
http://www.cerbermail.com/?3kA6ftaCvT
Avatar
jt
"Patrick Fredin" a écrit dans le message
de news:
Bonjour,

Mon programme crée un répertoire sur le lecteur C des PC des utilisateurs
pour y placer certains fichiers. Les PC sont avec Windows XP.
La sécurité du répertoire et des fichiers qui y sont placés fait que celui
qui a fait l'installation se trouve être le propriétaire du répertoire et
a
tous les droits (lire, modifier et supprimer). Mais quand un autre
utilisateur utilise se même PC en se logant avec un autre login, il ne
peut
que lire les fichiers sans pouvoir les mettre à jour.

Y a-t-il un moyen pour que, au moment de la création du répertoire, la
sécurité soit définie de façon que n'importe quel utilisateur puisse
accéder
en lecture / écriture ?

Merci pour votre aide.

--
Patrick



Tu peux peut etre te connecter avec le compte de celui qui peut ecrire avec
l'exemple ci-dessous
Créer un module genre module1.bas:

Private Const SW_SHOWNORMAL = 1
Private Const LOGON_WITH_PROFILE = &H1&
Private Const LOGON_NETCREDENTIALS_ONLY = &H2&
Private Const CREATE_DEFAULT_ERROR_MODE = &H4000000
Private Const CREATE_NEW_CONSOLE = &H10&
Private Const CREATE_NEW_PROCESS_GROUP = &H200&
Private Const CREATE_SEPARATE_WOW_VDM = &H800&
Private Const CREATE_SUSPENDED = &H4&
Private Const CREATE_UNICODE_ENVIRONMENT = &H400&
Private Const ABOVE_NORMAL_PRIORITY_CLASS = &H8000&
Private Const BELOW_NORMAL_PRIORITY_CLASS = &H4000&
Private Const HIGH_PRIORITY_CLASS = &H80&
Private Const IDLE_PRIORITY_CLASS = &H40&
Private Const NORMAL_PRIORITY_CLASS = &H20&
Private Const REALTIME_PRIORITY_CLASS = &H100&

Public Type STARTUPINFO
cb As Long
lpReserved As String
lpDesktop As String
lpTitle As String
dwX As Long
dwY As Long
dwXSize As Long
dwYSize As Long
dwXCountChars As Long
dwYCountChars As Long
dwFillAttribute As Long
dwFlags As Long
wShowWindow As Integer
cbReserved2 As Integer
lpReserved2 As Long
hStdInput As Long
hStdOutput As Long
hStdError As Long
End Type

Public Type PROCESS_INFORMATION
hProcess As Long
hThread As Long
dwProcessID As Long
dwThreadID As Long
End Type

Declare Function CreateProcessWithLogon Lib "Advapi32" Alias
"CreateProcessWithLogonW" (ByVal lpUsername As Long, ByVal lpDomain As Long,
ByVal lpPassword As Long, ByVal dwLogonFlags As Long, ByVal
lpApplicationName As Long, ByVal lpCommandLine As Long, ByVal
dwCreationFlags As Long, ByVal lpEnvironment As Long, ByVal
lpCurrentDirectory As Long, lpStartupInfo As STARTUPINFO, lpProcessInfo As
PROCESS_INFORMATION) As Long



Puis dans votre Form1:

Private Sub Form_Load()

Dim Startup As STARTUPINFO
Dim ProcessInf As PROCESS_INFORMATION
Dim return_value As Long
Dim app_to_run As String
Startup.cb = Len(Startup)
lpDomain = "." 'C'est ce qu'il faut mettre pour XP
app_to_run = "c:monappli.exe" 'Programme que l'on veut lancer
lpCommandLine = vbNullString
lpCurrentDirectory = vbNullString
Login = "Login" 'Nom du compte sur lequel on veut se logger
Pass = "Password" 'Mot de passe pour ce compte

return_value = CreateProcessWithLogon(StrPtr(Login), StrPtr(lpDomain),
StrPtr(Pass), LOGON_WITH_PROFILE, StrPtr(app_to_run), StrPtr(lpCommandLine),
CREATE_DEFAULT_ERROR_MODE, ByVal 0&, StrPtr(lpCurrentDirectory), Startup,
ProcessInf)

End Sub