Verhindern, dass bestimmte Datei auf ftp-Server gelöscht werden kann?!?
Hallo an alle!
Ich habe da mal eine Frage bezüglich ftp und den Daten, die dort hinterlegt sind. Kann ich eine Datei in einem ftp-Verzeichnis so einstellen, das diese nicht gelöscht werden kann? Die Datei sollte weder über den ftp-Zugang, noch über eine Software gelöscht werden können. Geht so etwas?
Danke und Gruß,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort schreiben
Antwort 1 von spectral vom 26.07.2021, 19:16 Options
per datei über das OS halt. Der ftp-srv bekommt die rechte unter dem er läuft. Wenn er zb. als service läuft, dann hat er "system rechte" die du aber einstellen kannst. Über die Dateisystemrechte/Userrechte.
Einfacher ist es aber per folder über das ftp programm selbst. Da kannst du zusätzlich festlegen wer was pro verzeichnis machen darf.
spec
Antwort 2 von coros vom 26.07.2021, 19:53 Options
Hallo
und danke für die Antwort. Leider kann ich mit dem, was Du schreibst nicht viel anfangen, da ich damit nicht sehr vertraut bin. Kannst Du mal ein Beispiel geben, was ich wann wo ändern muss an einer Datei?
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 3 von gresti vom 26.07.2021, 20:43 Options
Hi Coros,
zur Vereinfachung wie das funktioniert hab ich dir einmal einen
Screenshot von meinen FTP Programm (PSFTp) eingestellt.
Dort funktioniert das so: rechtsklick auf eine Datei - Attribute ändern - dann öffnet sich das kleine Fenster wo du auf den Screenshot siehst. Dort erstellst du dann einfach nur Leserechte.
ich hoffe du kommst damit klar.
Viel Erfolg
Gruß
gresti
Antwort 4 von coros vom 27.07.2021, 05:13 Options
Hallo Gresti,
danke Dir für Deine Antwort. Nun ist mir einiges klarer. Allerdings, stelle ich die Attribute alle auf "Lesen" kann ich trotzdem die Datei löschen, zumindest über einen Code in einer Excelbeispieldatei, die ich gerade für meine Homepage erstelle.
Ich habe auch mal alle Attribute komplett abgewählt. Die Datei kann ich dann trotzdem löschen.
Nur mal zur Info: Ich erstelle gerade, wie bereits oben erwähnt, für meine Homepage eine Excel-Beispieldatei, in der es um den Up- und Download von Dateien auf ein ftp-Verzeichnis über Excelmakros geht. Für diese Beispieldatei will ich eine weitere Beispieldatei in das ftp-Verzeichnis legen, damit man mit den Makros sofort diese 2. Beispieldatei downloaden kann. Diese 2. Beispieldatei möchte ich aber nun so sichern, dass man sie nicht löschen kann, weil in der Beispieldatei auch ein Makro zum Löschen vorkommt. Löscht jemand diese Datei, funktionieren die Makros beim nächsten User natürlich nicht mehr.
Aus diesem Grund möchte ich verhindern, das ein User die Datei über das Löschmakro löschen kann.
Gibt es da noch eine andere Möglichkeit oder ist mein Vorhaben gar nicht umsetzbar?
Danke nochmal und Gruß,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 5 von Rodi vom 27.07.2021, 11:15 Options
Hi.
Das hängt von dem Host System unter Deinem FTP Server ab, wie das gemacht wird. Wenn es sich um einen Linux Server handelt ist das recht einfach. Der Anwender authentifiziert sich ja mit Benutznamen und Passwort. Greife auf den Server per SSH zu und melde Dich mit einem Benutzer an, der Schreibrechte auf diese Datei hat. Das muss nicht einmal unbedingt root sein.
Dann ändere den Eigentümer der Datei und die Rechte darauf mit
chown (Benutzername oder Gruppenname) (dateiname)
chmod 772 (dateiname)
Danach sollten nur die bestimmten Gruppenmitglieder dieser Benutzergruppe und der eigentliche Eigentümer Schreibzugriff auf die Datei haben.
Ähnlich funktioniert es auch auf Windows Servern. Der Fernzugriff erfolgt in der Regel per Remote Desktop oder WinVNC, teils über VPN. Die Benutzerrechte setzen erfolgt in den "Sicherheitseinstellungen", die im Kontextmenü der rechten Maustaste unter "Eigenschaften" zu finden sind.
Ich hoffe das hilft Dir weiter.
Gruß @all,
Rodi
Antwort 6 von coros vom 27.07.2021, 11:51 Options
Hallo Rodi,
danke Dir für Deine Antwort, aber leider hilft mir diese nicht recht weiter. Denn ich kann mir nicht vorstellen, dass ich mit der von Dir beschriebenen Möglichkeit per Fernzugriff weiterkomme, da es sich bei dem ftp-Server nicht um meinen handelt, sondern ich mir nur für dieses Beispiel einen kostenlosen Webspace besorgt habe, auf den User, die mit der Beispieldatei testen wollen, Daten hochladen und wieder downloaden können. Auf diesem ftp-Server, an den ich mit einem ftp-Programm rankomme, möchte ich aber eine bestimmte von mir zur Verfügung gestellte Datei so absichern, dass der User die nicht löschen kann.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 7 von Flupo vom 27.07.2021, 11:56 Options
Bei all den Servern, die ich bisher betreut habe, ließen sich zusätzliche ftp-User anlegen und mit Rechten nur für ein bestimmtes Verzeichnis ausstatten.
Zugegeben: es waren keine freien Server und meist auch keine reinen ftp-Server.
Gruß Flupo
Antwort 8 von coros vom 27.07.2021, 12:29 Options
Hallo Flupo,
bei einem Verzeichnis funktioniert es. Wenn ich einem Verzeichnis nur Leserechte vergebe, kann niemand in das Verzeichnis schreiben oder eine Datei darin löschen. Aber der User soll ja in das Verzeichnis schreiben dürfen. Es soll nur verhindert werden, dass eine bestimmte Datei in dem Verzeichnis gelöscht werden kann. Wenn ich bei dieser Datei alles auf Leserechte ändere, kann diese trotzdem gelöscht werden.
Ich kann auch zusätzliche Zugänge anlegen, aber da ist das nicht anders.
Eventuell muss ich mir wegen der bestimmten Datei etwas anderes überlegen, wenn es so wie ich es mir vorstelle nicht funktioniert.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 9 von Rodi vom 27.07.2021, 12:51 Options
Hi,
dann wird es schwierig. Generell hat man mit FTP nicht die Möglichkeiten, die man benötigen würde diese Operation zu ermöglichen. Das gibt der FTP Befehlssatz einfach nicht her. Da würde ich mich mal an den Hoster des Servers wenden, ob da nicht doch ein Remote Zugriff möglich ist. Prinzipiell sollte ein Remote Zugriff gehen, da Du ja ohnehin schon einen User auf dem System haben musst.
Gruß @all,
Rodi
Antwort 10 von steffen2 vom 27.07.2021, 12:54 Options
und was ist wenn du 2 Unterverzeichnisse machst?
Eines zum lesen und das andere zum "spielen"
Gruß Steffen
Antwort 11 von Flupo vom 27.07.2021, 13:22 Options
Ich gebs noch nicht ganz auf.
Der Trick liegt imho bei zwei Benutzerkennungen. Die eine ist Eigentümer der Datei und darf alles und die andere darf über die Rechteverwaltung die Datei nur lesen. Setze die Dateirechte dazu auf 744.
Problem könnte es nur werden, Eigentümer der Datei zu werden.
Ich hab diesbezüglich mal auf meinem Webserver geschaut. Dort ist es so, dass alle Dateien, egal, wer sie hochgeladen hat, dem ftp-Hauptbenutzer "gehören". Ich probiere heut abend mal aus, ob man mit einem zusätzlichen Benutzer Dateien mit den Rechten 744 löschen kann.
Gruß Flupo
Antwort 12 von coros vom 27.07.2021, 13:25 Options
Hallo Steffen,
danke Dir für Deine Antwort. Leider ist das auch keine Lösung, weil in der Beispieldatei der Pfad für das Verzeichnis frei eingetragen werden kann. Wie bereits erwähnt, handelt es sich um eine Beispieldatei, die recht einfach gehalten ist und es auch bleiben soll. Dort wird nun in einer Zelle der Pfad, in dem die Datei hoch- oder runtergeladen werden kann, eingetragen. Dort gebe ich ein Verzeichnis zum Testen vor, damit der Benutzer, der sich für das Beispiel interessiert, selber aber keinen ftp-Server hat, testen kann
(siehe Screenshot). In diesem Verzeichnis liegt aber auch besagte Datei.
Wenn ich nun ein Verzeichnis zum Testen nehme und eins in dem sich die Datei befindet, wird der User, der das Beispiel testen will, sicherlich versuchen eine Datei in das Verzeichnis zu laden, in dem es keine Schreibrechte gibt und sich wundern, wenn er die Datei wieder downloaden will, dass es nicht funktioniert. Daher sollte sich das Testen auf ein Verzeichnis beziehen.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 13 von coros vom 28.07.2021, 07:45 Options
Hallo Flupo,
hast Du gestern Abend mal die Zeit gefunden das zu testen?
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 14 von Flupo vom 28.07.2021, 07:49 Options
Sorry, muss dich noch einen Tag vertrösten.
Gruß Flupo
Antwort 15 von coros vom 28.07.2021, 07:51 Options
Hallo Flupo,
danke Dir für Deine Reaktion. Kein Problem, ich habe Zeit. Bis zu einem Ergebnis werde ich mir halt im Forum die Zeit vertreiben. ;-))
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 16 von Flupo vom 28.07.2021, 17:37 Options
So, ich habe getestet. Das Ergebnis ist jedoch ernüchternd.
Das Einzige, was man mit einem zweiten ftp-User (auf meinem all-inkl.de-Server) erreichen kann ist, dass man den Zugriff auf ein Verzeichnis beschränken kann. Darüberhinaus arbeitet er in diesem Verzeichnis mit den vollen Rechten des Hauptbenutzers.
D.h. Dateien, die hochgeladen werden, "gehören" nicht dem zwei-User sondern dem Hauptbenutzer und können somit auch problemlos gelöscht werden.
Problemstellung also nicht nicht gelöst.
Gestern kam mir aber eine andere Lösung in den Sinn:
Da du ja das Ganze per Excel-Makro realisieren willst, sollte es doch möglich sein, Löschversuche auf die gesperrte Datei in eine Fehlermeldung laufen zu lassen.
Also den Dateinamen in einer Variablen verwalten und eine Fehlermeldung bringen, wenn diese mit der gesperrten Datei übereinstimmt.
Gruß Flupo
Antwort 17 von coros vom 28.07.2021, 18:51 Options
Hallo Flupo,
danke Dir für Deine Bemühungen. Das was Du mir da vorschlägst, wird bereits in meiner Datei realisiert. Da es sich aber bei der Datei wie bereits erwähnt um eine Beispieldatei handelt, liegt der VBA-Code für jedermann offen. Somit kann diesen Schutz jeder der will, einfach aushebeln. Daher wäre es für mich gut gewesen, wenn ich die Datei direkt auf dem ftp-Server gegen das Löschen oder überschreiben hätte sichern können.
Mal sehen, eventuell fällt mir ja doch noch eine andere Lösung ein.
MfG,
Oliver
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.
Antwort 18 von gresti vom 29.07.2021, 00:55 Options
Hi,
ich hab da noch ne Idee.
Nimm mal bei den Rechten alle Berechtigungen raus.
Hier ein Screenshotwenn du versuchst die Datei zu öffnen - kommt bei mir Fenster:
ZUGRIFF NICHT ERLAUBT
Die angeforderte Seite darf nicht angezeigt werden.eventuell kommst du damit ein bissel weiter.
Lieben Gruß
gresti
Antwort 19 von Flupo vom 29.07.2021, 07:27 Options
Das ist auf meinem Webserver nicht möglich. Es scheitert schon am wegnehmen der Schreibrechte des Eigentümers - und um die geht es ja im wesentlichen.
Gruß Flupo
Antwort 20 von addi vom 29.07.2021, 21:24 Options
Hallo,
Versuche mal das Sticky-Bit zu setzen: 1777
Bei mir habe ich folgendes geprüft: Mit Filezilla erstelle ich ein Verzeichnis auf dem Server. (Ich habe Linux mit Ftp Server).
Die Rechte auf das neue Verzeichnis ändere ich als Zahlenwert eingegeben zu 1777. Das erzeugt diese Konstellation: Jeder darf alles. Aber: Löschen darf jeder nur seine eigenen Dateien.
Hoffentlich hilft Dir das weiter!
Gruss