AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ordnerfreigabe mit passwort

Offene Frage von "rai"
Ein Thema von Remote1 · begonnen am 27. Okt 2003 · letzter Beitrag vom 6. Jul 2004
Antwort Antwort
Seite 3 von 3     123   
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#21

Re: ordnerfreigabe mit passwort

  Alt 3. Jul 2004, 12:52
Wenn ich richtig informiert bin kann man unter Windows 2000 + XP keine Ordner mit Passwort freigeben.
Das geht nur mehr mit Benutzern.

edit:
komisch, anscheinend geht es bei dir doch
aber dass das unter 2000 geht und unter xp nicht finde ich schon komisch
Lukas
  Mit Zitat antworten Zitat
rai

Registriert seit: 1. Jul 2004
10 Beiträge
 
#22

Re: ordnerfreigabe mit passwort

  Alt 4. Jul 2004, 16:16
Zitat von NicoDE:
Unter Win9x funktioniert es nicht.

Vielleicht helfen Dir die Prototypen weiter:
[..]
Zudem steht in den Strukturen ziemlicher Schrott,
[..]
Danke, für's probieren. Offenbar war die Funktion aus der JEDI-Libary auch nur für NT/XP gedacht.

Ich habe es jetzt mal nach deinen Vorschlägen geändert.
Nur die NetShareAddNt habe ich wie gehabt übernommen, da in deiner Version der Parameter buf eine Kostante ist und mir auf die schnelle nicht eingefallen ist, wie ich das dann anpassen muss. Und so funktioniert es auch Außerdem entspricht meine Version genau der Win32 API Doku..
Ich muss zugeben, dass ich die SHARE_INFO_50-Struktur selbst aus der API-Docu abgeleitet habe.
Wie müsste die denn aussehen?
Zitat von NicoDE:
Delphi-Quellcode:
[..]
// *seufz*, wie wär's mit ne Variable?
[..]
Ja, gerne. Aber wo? wie? was? wofür?

Zitat von NicoDE:
[..]
Und ein Rückgabewert hätte Deiner Funktion auch nicht schaden können
[..]
Den Rückgabewert hatte ich schon von selbst geändert: Ich hab mir gedacht ich geb einfach als Boolean zurück ob's geklappt hat. Wenn ich mich nicht irre, muss die NetShareAdd-Funktion NET_API_STATUS als 0 zurückgeben wenn alles ok ist.

Allerdings bleibt zu vermuten, dass auch die Funktion NetShareDel dann nur unter NT/XP funktioniert.
Vielleicht kannst du mir ja auch da noch einen Tipp geben.

Danke

Rai
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#23

Re: ordnerfreigabe mit passwort

  Alt 4. Jul 2004, 17:09
Zitat von Luckie:
Aber du hast ihn doch noch hoffentlich?
Nö, ich hebe sowas nicht auf.

Zitat von vlees91:
aber wenn man einen ordner mit einem passwort freigibt, und dann von einem anderen XP-PC aus darauf zugreift, kann man kein passwort eingeben und man bekommt die meldung:"Zugriff verweigert".
bei win 2k kommt eine passwort aufforderung. wieso kommt das nich bei win xp?
IIRC sollte das Problem nicht auftreten, wenn man in den Einstellungen der jeweiligen Netwerkverbindung die automatische Authentifizierung als Gast deaktiviert (ansonsten kannste immernoch 'Verbinden als...' probieren - Benutzer Gast (egal?) mit passendem Passwort).

Zitat von rai:
Nur die NetShareAddNt habe ich wie gehabt übernommen, da in deiner Version der Parameter buf eine Kostante ist und mir auf die schnelle nicht eingefallen ist, wie ich das dann anpassen muss.
'const buf' definiert eine untypisierte Konstante (Du kannst als Paramater alles übergeben und die Funktion bekommt die Adresse übergeben - ist des gleiche wie buf: Pointer, nur das statt @info einfach info übergeben wird).

Zitat von rai:
Ich muss zugeben, dass ich die SHARE_INFO_50-Struktur selbst aus der API-Docu abgeleitet habe.
Wie müsste die denn aussehen?
Die ist schon in Ordnung. Nur die Art und Weise des Füllens war alles andere als sinnvoll/sicher/sauber (Geschmacksfrage - 'es funktioniert' reicht mir persönlich nicht... zumindest für allgemein gültige Beispiele).


Gruss Nico
  Mit Zitat antworten Zitat
rai

Registriert seit: 1. Jul 2004
10 Beiträge
 
#24

Re: ordnerfreigabe mit passwort

  Alt 4. Jul 2004, 17:30
Zitat von NicoDE:
[..]
(Geschmacksfrage - 'es funktioniert' reicht mir persönlich nicht... zumindest für allgemein gültige Beispiele).
Sehe ich auch so. Und ich würde gerne die Unit nochmal komplett veröffentlichen, wenn alles funktioniert - Kann sicher jeder mal gebrauchen. Daher sollte die Allgemeingültigkeit schon gegeben sein.

Dazu sollte aber auch alles stimmen, deshalb:
1. Hat sich nochmal jemand meine UnShareFldr bzw. die NetShareDel insbesondere in Hinblick auf Win9x/ME angesehen - XP funktioniert. Bzw.
2. Stimmt die Boolean-Auswertung des Rückgabe-Wertes NET_API_STATUS = 0 als true (Freigabe erfolgreich) sonst false?

Bin für alle Antworten dankbar

Rai
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#25

Re: ordnerfreigabe mit passwort

  Alt 4. Jul 2004, 18:01
Zitat von rai:
1. Hat sich nochmal jemand meine UnShareFldr bzw. die NetShareDel insbesondere in Hinblick auf Win9x/ME angesehen - XP funktioniert.
Hab' ich im Moment nicht die Zeit für (ohne Delphi eh' gerade schlecht )
Später vielleicht...

Zitat von rai:
2. Stimmt die Boolean-Auswertung des Rückgabe-Wertes NET_API_STATUS = 0 als true (Freigabe erfolgreich) sonst false?
Bei einem Fehler wird es für den Benutzer einer Boolean-Funktion schwer herauszufinden was der Grund für den Fehler war (gibt es das Verzeichnis nicht, oder wurde es schon freigegeben, ...).
  Mit Zitat antworten Zitat
rai

Registriert seit: 1. Jul 2004
10 Beiträge
 
#26

Re: ordnerfreigabe mit passwort

  Alt 4. Jul 2004, 19:29
Zitat von NicoDE:
Hab' ich im Moment nicht die Zeit für (ohne Delphi eh' gerade schlecht )
Später vielleicht...
Da wäre ich echt dankbar. Vielleicht macht es ja auch kurz jemand anderes. Danke trotzdem

Zitat von NicoDE:
Bei einem Fehler wird es für den Benutzer einer Boolean-Funktion schwer herauszufinden was der Grund für den Fehler war (gibt es das Verzeichnis nicht, oder wurde es schon freigegeben, ...).
Ist natürlich auch wieder richtig. Kennt zufällig jemand die möglichen Rückgabewerte und deren Bedeutung?
Danke
  Mit Zitat antworten Zitat
mischa

Registriert seit: 6. Jul 2004
9 Beiträge
 
#27

Re: ordnerfreigabe mit passwort

  Alt 6. Jul 2004, 02:42
Hallo zusammen,

ich habe eine Komponente gefunden (bei Torry), die auch unter Delphi 6 noch prima läuft. Hier wird auch ShareInfo2 und SharInfo50 verwendet. Allerdings bleibt ein Problem, dass ich nicht hinkriege (aber leider lösen muss):
Unter WinXP wird der Ordner immer mit Vollzugriff für jeden freigegeben! Will man unter W2K/XP eine Freigabe für einen oder mehrere Benutzer / Gruppen realisieren, muss man wohl oder übel SharInfo502 verwenden und einen SecurityDescriptor übergeben. Den erhält man über die Funktion GetSecurityInfo(). Hier muss man dann noch eine SID für den User angeben, die man mittels LookupAccountName() erhält. Soweit habe ich das verstanden (oder nicht? ).
Ich habe nur leider keinen Wrapper für GetSecurityInfo() gefunden. Hat jemand eine API-Lib dafür?
Mein Code bisher (in einer modifizierten Version der Routine "Share" der obigen Komponente):

Delphi-Quellcode:
    (...)
    // Erst die Buffergrößen ermitteln ...
    SidSize := 0;
    DomainNameSize := 0;
    LookupAccountName(nil, PChar(MyUserName), MyUserSID, SidSize, DomainName, DomainNameSize, SidType);
    // ... dann Speicher allokieren ...
    GetMem(MyUserSID, SidSize);
    DomainName := StrAlloc(DomainNameSize);
    // SID ermitteln
    LookupAccountName(nil, PChar(MyUserName), MyUserSID, SidSize, DomainName, DomainNameSize, SidType);
    
    // und jetzt:
    GetSecurityInfo(MyUserSID ...); // aber woher nehmen?!?

    PMySecDesc := @MySecDesc;

    MyShare.shi502_netname := PWideChar(MYName);
    MyShare.shi502_type := FResourceType;
    MyShare.shi502_remark := PWideChar(MYComment);
    MyShare.shi502_permissions := FNTPermissions;
    MyShare.shi502_max_uses := FMaxConnections;
    MyShare.shi502_current_uses := 0;
    MyShare.shi502_path := PWideChar(MyPath);
    MyShare.shi502_passwd := PWideChar(MyPW);
    MyShare.shi502_security_descriptor := PMySecDesc;
    (...)
Ich hoffe, das ist nicht zu chaotisch ... bin müde
  Mit Zitat antworten Zitat
mischa

Registriert seit: 6. Jul 2004
9 Beiträge
 
#28

Re: ordnerfreigabe mit passwort

  Alt 6. Jul 2004, 07:05
Ok, habe doch eine API-Conversation gefunden: GetSecurityInfo() wird in der unit JwaAclApi.pas der Win32API Conversation von Marcel van Brakel bei Jedi deklariert. Muss ich mal testen ... melde mich dann wieder ...
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#29

Re: ordnerfreigabe mit passwort

  Alt 6. Jul 2004, 09:40
Wenn Du keine Komponente mit einem Acl-Editor-Dialog verwendest (sprich, alles von von Hand schreiben willst), hast Du viel Arbeit vor Dir.

Wenn vordefinierte Accounts ('Jeder', 'Administratoren') ausreichen, kannst Du einige SID-Konstanten verwenden.

Beispiel unter http://www.entwickler-forum.de/webx?14@@.ee704fa/30
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz