![]() |
Benutzerrechte bei Indy FTP
Hallo Leute
Ich versuche seit einiger Zeit die Benutzerrechte auf einem FTP per Indy-Komponente ab zu fragen. :( Weiß jemand von euch wie man das machen könnte? Ich bin am verzweifeln... :wall: Achja, ich benutzt Delphi 2007 mit Indy 10.1.5.0 Ich bitte um eure Hilfe!!! |
Re: Benutzerrechte bei Indy FTP
Guten Morgen,
du wirst wohl die Rechte des Users haben mit dem Du dich per FTP auf den Server verbunden hast. Eine Möglichkeit dediziert Rechte abzufragen sind mir für das ![]() Was willst Du denn damit erreichen? Grüße Klaus |
Re: Benutzerrechte bei Indy FTP
Ich bedanke mich schonmal für deine Antwort :-)
Nun, ursprünglich soll das Programm sich mit dem FTP verbinden, ein Archiv mit verändertem Namen (INCOMPLETE_ + Archivname) hoch laden, nach dem hochladen, die Datei umbenennen (Archivname ohne IMCOMPLETE_) und diese Datei datei wohlweise downloaden. Nach dem Download soll die Datei wieder gelöscht werden. Nun macht es natürlich keinen Sinn diese Schritte zu beginnen wenn nichtmal einer davon funktioniert... Sonst hätte der ganze vorgang keinen sinn wenn beispielweise das umbennennen nicht klappt. Ich weiß, ich drücke mich etwas seltsam aus, aber ich hoffe es ist klar was ich versuche zu erreichen oder möchte. |
Re: Benutzerrechte bei Indy FTP
.. der Sinn hat sich mir noch nicht ganz erschlossen.
Aber wenn Du eine Datei hochladen kannst (also auf dem FTP-Server erstellen kannst) sehe ich keinen Grund dass das Umbenennen fehlschlagen sollte. Grüße Klaus |
Re: Benutzerrechte bei Indy FTP
Zitat:
|
Re: Benutzerrechte bei Indy FTP
Nun, momentan arbeite ich zum testen mit einem localen FTP. Bei dem kann ich dem User bestimmte Rechte erteilen oder eben nehmen.
Doch dieses Programm soll auf FTPs zugreifen sie nicht unter meiner Kontrolle stehen, also bei denen ich kein Admin bin. Die aktuelle Abfrage ob es möglich ist Dateien zu löschen oder um zu benennen, funktioniert auf dem localen FTP ganz gut. Doch leider hat sich bei dem Test mit einem richtigen FTP ergeben, dass dort die Zeit für die ganzen Überprüfungen fast 20-30 sekunden dauert! (bei reduziertem timeout) deshalb jetzt meine Frage, kann man Rechte eigentlich auch anderweitig vom FTP erfragen? (Momentan mache ich das über try ... except. Er versucht etwas zu tun, wenns klappt dann hab ich das Recht anscheinend und wenn nicht, dann nicht.) |
Re: Benutzerrechte bei Indy FTP
Es gibt FTP Server die ihre Befehlsliste sagen muss aber nicht.
Das habe ich auch schon mal bei gesehen das FTPs das machen ich kenne aber leider den Befehl nicht. |
Re: Benutzerrechte bei Indy FTP
Es gibt eine Indykomponente für Benutzerzugriffsberechtigungen die du einfach an die Komponente anflanschen kannst.
Weiß grad nicht wie die heißt, aber guck mal die Komponenten durch ;) |
Re: Benutzerrechte bei Indy FTP
Ich beschäftige mich ja auch mit dem Problem und überlasse euch nicht die Arbeit ^^
Hab mir hier noch nen Diplom-Informatiker zu Rate gezogen der jetzt auch mal nen bissel guckt... Die Komponente heißt idFSP und KÖNNTE meine Fragen beantworten... ... wenn es bei ihr eine Möglichkeit gäbe sich mit dem FTP zu verbinden :wall: Leider gibts es keine property in die ich Usernamen, Passwort oder ähnliches eintragen kann :-( Danke trotzdem für die rege Beteiligung... :dp: |
Re: Benutzerrechte bei Indy FTP
.. habe mal schnell in die Delphi Hilfe geschaut:
Zitat:
FTP arbeitet auf TCP. Grüße Klaus |
Re: Benutzerrechte bei Indy FTP
Zitat:
brauche ich denn etwa kein Passwort + Username bei UDP? :gruebel: das währe mir dann nähmlich neu... |
Re: Benutzerrechte bei Indy FTP
So weit ich das aus der Hilfe verstanden habe.
a) ist FSP ein eigenes Protokoll (Deine Gegenstelle muss also auch FSP sprechen/verstehen können). b) UDP und TCP sind zwei verschiedene Transportschichtprotokolle sie verstehn sich nicht untereinander TCP kann nicht mit UDP kommunizieren. Also aus rein technischer Sicht kann FSP sich nicht mit einem FTP Server unterhalten. Grüße Klaus |
Re: Benutzerrechte bei Indy FTP
Zitat:
Eventuell als Einstieg brauchbar: ![]() Indy 10.5.6 ist die aktuelle Version (sogenannter Tiburon Branch, funktioniert auch mit alten Delphi Versionen). Cheers, |
Re: Benutzerrechte bei Indy FTP
VIelen Dank für die Antwort :wink:
Leider ist der Servertyp variabel. :-( Ich benutze FlashFXP zum FTP-Connect... Hm... bin noch immer dran das Problem zu lösen... Auch wenn ich jetzt doof frage, idFSP kann mir hier bei meinem FTP also gar nicht helfen, oder sehe ich das falsch? :roll: |
Re: Benutzerrechte bei Indy FTP
Hallo,
eine nicht hilfreiche Antwort: ![]() Laut Hilfe geht das über:
Code:
Dies wird allerdings nicht von allen FTP-Servern unterstützt.
SITE chmod xyz datei.ext
Da er die gesetzten Rechte auch in einem Dialog anzeigen kann, muss die Abfrage ebenfalls möglich sein. Schau Dir dazu mal folgendes an:
Delphi-Quellcode:
Das sind alles String, die die entsprechenden Informationen enthalten müssten.IdFTP1.DirectoryListing[0].OwnerPermissions; IdFTP1.DirectoryListing[0].GroupPermissions; idFTP1.DirectoryListing[0].UserPermissions; idFTP1.DirectoryListing[0].OwnerName; idFTP1.DirectoryListing[0].GroupName; |
Re: Benutzerrechte bei Indy FTP
Zitat:
Das ist natürlich ne super sache, doch leider gibts es diese Einträge bei mir nicht :? Kann es sein oder besteht die möglichkeit das ich diese Properties irgendwie hinzu füge? :glaskugel: |
Re: Benutzerrechte bei Indy FTP
Das heißt unter Indy 10 z.b. idftp1.DirectoryListing.Items[i].Size
|
Re: Benutzerrechte bei Indy FTP
Hallo,
naja, meine Indy-Version ist (ab in die Ecke stellen) 9.00.10, also schon ein bisserl älter. Aber mit IdFTP1.DirectoryListing.Items[0].OwnerPermissions geht's bei Indy 9 und 10, wie franktron schon geschrieben hat. |
Re: Benutzerrechte bei Indy FTP
Liste der Anhänge anzeigen (Anzahl: 1)
ich habe nochmal überprüft was ihr geschrieben habt doch leider leider gibts den begriff wirklich nicht... :(
Habe ein Bild angehängt wo ihr das draus erkennen könnt... Ich glaube Delphi mag mich nicht... :| Achja, entschuldigt das ich den restlichen Code überschrieben habe... Leider weiß ich net wie die firma reagiert wenn ich den code hier rein stelle... |
Re: Benutzerrechte bei Indy FTP
Hallo,
was zeigt Dir denn die Autovervollständigung an, wenn Du IdFTP1.DirectoryListing.Items[0]. eingibst? |
Re: Benutzerrechte bei Indy FTP
Liste der Anhänge anzeigen (Anzahl: 1)
na diese Frage beantworte ich doch so schnell es geht :zwinker:
Die Liste ist zusammengeschnitten weil er mir nicht alles auf eine Seite gemacht hat ^^ |
Re: Benutzerrechte bei Indy FTP
.. na, das PermissionsDisplay liest sich doch eigentlich ganz gut?
Grüße Klaus |
Re: Benutzerrechte bei Indy FTP
stimmt schon. daran hatte ich zuerst auch gedacht...
-rwx------ (Rückgabewert) Ich teste das ja aktuell mit einem localen FTP und der Rückgabewert ist unabhängig von den Einstellungen IMMER der selbe :cry: Egal ob der Upload erlaubt ist oder nicht, egal ob Rename, Delete oder ähnliches möglich ist oder nicht... |
Re: Benutzerrechte bei Indy FTP
Zitat:
Der Rückgabewert zeigt die Verzeichnisberechtigung an. (duuugggooo) 1. Zeichen: - -> Datei d -> Verzeichnis 2-4 Zeichen - rwx (read write execute) für den user 5-7 - rwx für die Gruppe 8-10 - rwx für alle anderen Testest Du mit einem Windows FTP Server oder Linux/Unix? Grüße Klaus |
Re: Benutzerrechte bei Indy FTP
Also dieses Wissen was du mir hier vermittelst finde ich sehr interessant :-) Danke schonmal dafür
Nun, leider kann ich deine Frage nicht ganz verstehen aber ich versuch mal drauf zu antworten: Das System ist ein XP Pro mit (vermutlich) SP3 Also FTP nutze ich -Quick 'n Easy FTP Server 3.1 Lite- Ich ändere die Zugriffsrechte mithilfe der Account-Verwaltung in dem FTP-Prog |
Re: Benutzerrechte bei Indy FTP
Zitat:
Ich weiß auch nicht, ob Dein FTP Server die Dateiberechtigungen ändert oder nur die GET und PUT Befehle ausfiltert und entsprechend reagiert. Auf Linux/Unix wird das über die Verzeichnisberechtigung gehandhabt. Hat ein User keine Schreibberechtigung in dem Verzeichnis kann er auch per FTP nichts in das Verzeichnis einspielen. Grüße Klaus |
Re: Benutzerrechte bei Indy FTP
das kann ich dir leider auch nicht sagen :(
Und genau das ist ja was mich so traurig macht... Im moment arbeite ich frei nach dem Prinzip "versuchen und verlieren" Und das um JEDE Berechtigung zu überprüfen...
Delphi-Quellcode:
try
idFTP1.Put(XYZ); //Funktioniert!!! except //Funktioniert nicht!!! end 1. Dauert diese Methode elendig lange (Er liefert mir ja ein Time-Out zurück wenn er keine Rechte hat) und 2. ist die alles andere als ein Vorzeigemodell... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz