Wie kann man ein Verzeichnis absichern?
Wie kann man ein Verzeichnis absichern?
Ist es unter Windows möglich, dass man auf ein bestimmtes Verzeichnis nur über ein spezielles Programm zugreifen kann?
Ich möchte darauf verschienden Nutzer zugreifen lassen, allerdings nicht mit dem Windows Explorer,
sondern mit einem eigenen Programm, dass die Zugriffsrechte intern regelt.
Das Verzeichnis darf auch nicht sichtbar oder zugreifbar werden, während das Programm läuft..
Habt Ihr eine Idee?
Ich möchte darauf verschienden Nutzer zugreifen lassen, allerdings nicht mit dem Windows Explorer,
sondern mit einem eigenen Programm, dass die Zugriffsrechte intern regelt.
Das Verzeichnis darf auch nicht sichtbar oder zugreifbar werden, während das Programm läuft..
Habt Ihr eine Idee?
"Papa, ich laufe schneller - dann ist es nicht so weit."
Re: Wie kann man ein Verzeichnis absichern?
Was ist das für ein geheimnisvolles Verzeichnis, das du erstellen und verstecken möchtest?
Re: Wie kann man ein Verzeichnis absichern?
Ich möchte dort Daten (Bilder, Dokumente etc.) ablegen, die ich über eine Datenbank verwalte.
Und innerhalb der Datenbank möchte ich reglementieren könnten, wer auch welche Daten zugreifen darf.
Die Ressource, die ich mit dem Programm verbinde (Netzlaufwerk, TrueCrypt Container etc.), darf aber
nur über das Programm zugänglich sein und nicht automatisch nach dem Verbinen auch für den
Explorer etc..
Und innerhalb der Datenbank möchte ich reglementieren könnten, wer auch welche Daten zugreifen darf.
Die Ressource, die ich mit dem Programm verbinde (Netzlaufwerk, TrueCrypt Container etc.), darf aber
nur über das Programm zugänglich sein und nicht automatisch nach dem Verbinen auch für den
Explorer etc..
"Papa, ich laufe schneller - dann ist es nicht so weit."
Re: Wie kann man ein Verzeichnis absichern?
Du kannst beispielsweise einen neuen Benutzer anlegen, der mit einem Passwort geschützt ist und das Passwort kennt nur deine Anwendung.
Im Eigenschaftsfenster eines beliebigen Ordners kannst du unter "Sicherheit" festlegen, dass nur der von dir angelegte Benutzer Zugriff (Lese- und Schreibrechte) darauf hat.
Deine Anwendung müsste also mit Hilfe einer Windows-Authentifizierung die Rechte des passwortgeschützten Benutzers erben bzw. sich als Benutzer XYZ anmelden, um auf den Ordner zugreifen zu können.
Da nur deine Anwendung das Passwort kennt, kann i.d.R. sonst niemand darauf zugreifen.
Im Eigenschaftsfenster eines beliebigen Ordners kannst du unter "Sicherheit" festlegen, dass nur der von dir angelegte Benutzer Zugriff (Lese- und Schreibrechte) darauf hat.
Deine Anwendung müsste also mit Hilfe einer Windows-Authentifizierung die Rechte des passwortgeschützten Benutzers erben bzw. sich als Benutzer XYZ anmelden, um auf den Ordner zugreifen zu können.
Da nur deine Anwendung das Passwort kennt, kann i.d.R. sonst niemand darauf zugreifen.
Re: Wie kann man ein Verzeichnis absichern?
Danke RSBasic, dass klingt sehr vielversprechend. Bei mir fällt nur noch nicht der Groschen,
wie ich mit der Anwendung auf ein fremdes Verzeichnis zugreifen soll, also mich Nutzer und Passwort
anmelden kann..
wie ich mit der Anwendung auf ein fremdes Verzeichnis zugreifen soll, also mich Nutzer und Passwort
anmelden kann..
"Papa, ich laufe schneller - dann ist es nicht so weit."
- HeX0R
- Beiträge: 3056
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Re: Wie kann man ein Verzeichnis absichern?
Wieso packst Du die Dateien nicht einfach mit in die Datenbank?
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
Re: Wie kann man ein Verzeichnis absichern?
Soll er alle Dateien (Bilder Dokumente, etc.) in die Datenbank speichern? Um diese Dateien öffnen zu können, müssen diese aber in einem temporären Ordner erstellt werden, die aber für Jeden zugänglich ist. Ich glaube, das will er nicht.
Re: Wie kann man ein Verzeichnis absichern?
Code: Alles auswählen
Procedure.s Runas (UserName.s, Domain.s, Password.s, program.s = "", parameters.s = "")
Protected *lpUserName, *lpDomainName, *lpPassword, *lpApplication, *lpCommandLine, *F
Protected LastError, Buffer.s, Error.s, Result.s = "", LibID
Protected lpProcessInfo.PROCESS_INFORMATION
Protected lpStartUpInfo.STARTUPINFO
; Funktioniert nicht mit Netzlaufwerken, die über einen Laufwerksbuchstaben
; verbunden sind. In diesem Fall muss der UNC Pfad: "\\Server\Prg.exe" verwendet werden
#CHARSIZE = 256
If parameters <> ""
program = program + " " + Chr(34) + parameters + Chr(34)
EndIf
*lpUserName = AllocateMemory(#CHARSIZE)
*lpDomainName = AllocateMemory(#CHARSIZE)
*lpPassword = AllocateMemory(#CHARSIZE)
*lpApplication = AllocateMemory(#CHARSIZE)
*lpCommandLine = AllocateMemory(#CHARSIZE)
;convert ansi strings to unicode
MultiByteToWideChar_(#CP_ACP, 0, UserName, -1, *lpUserName, #CHARSIZE)
MultiByteToWideChar_(#CP_ACP, 0, Domain, -1, *lpDomainName, #CHARSIZE)
MultiByteToWideChar_(#CP_ACP, 0, Password, -1, *lpPassword, #CHARSIZE)
MultiByteToWideChar_(#CP_ACP, 0, program, -1, *lpApplication, #CHARSIZE)
LibID = OpenLibrary(#PB_Any, "ADVAPI32.DLL")
If LibID
*F = GetFunction(LibID, "CreateProcessWithLogonW")
If *F
If CallFunctionFast(*F, *lpUserName, *lpDomainName, *lpPassword, 0, 0,*lpApplication,0,0,0,@lpStartUpInfo,@lpProcessInfo) = 0
Buffer = Space(200)
LastError = GetLastError_()
FormatMessage_(#FORMAT_MESSAGE_FROM_SYSTEM, 0, LastError, #LANG_NEUTRAL, @Buffer, 200, 0)
Result = "Error (" + Str(LastError) + ") " + Buffer + #CRLF$
Result + "PrgName: " + program + #CRLF$
Result + "User / Domain: " + UserName + " / " + Domain
EndIf
Else
Result = "This function is Not available."
EndIf
CloseLibrary(LibID)
Else
Result = "Open ADVAPI32.DLL failed"
EndIf
FreeMemory(*lpUserName)
FreeMemory(*lpDomainName)
FreeMemory(*lpPassword)
FreeMemory(*lpApplication)
FreeMemory(*lpCommandLine)
ProcedureReturn Result
EndProcedure
Wenn ich das über die Shell mache, wird mein Testprogramm zwar gestartet, aber gleich wieder
beendet. Kann man mit RunAs überhaupt GUI Programme starten?
@HeX0R, das ist mir zu langsam. In der Datenbank verwalte ich nur die Pfade..
Zuletzt geändert von dige am 02.04.2015 16:50, insgesamt 1-mal geändert.
"Papa, ich laufe schneller - dann ist es nicht so weit."
Re: Wie kann man ein Verzeichnis absichern?
Ich werde den Code heute Abend mal testen.
Alternativ kannst du auch einfach die Windows-Anwendung "runas.exe" nutzen. Weitere Informationen siehe: cmd.exe /k runas.exe /?
Alternativ kannst du auch einfach die Windows-Anwendung "runas.exe" nutzen. Weitere Informationen siehe: cmd.exe /k runas.exe /?

