FTP - Change Anonymous root

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

haddat

Benutzer
Registriert
06. Juni 2009
Beiträge
4
Reaktionspunkte
0
Punkte
0
Hallo,

was bewirkt unter DSM 2.1 (-0844) > FileSharing > FTP > Connection Setting > Change Anonymous root?

Soweit ich das nachverfolgen konnte, passiert folgendes:
Anonymous meldet sich am FTP-Server an und landet direkt in dem definierten shared folder (dieses Verzeichnis wählt man in obigem Menü aus, in meinem Fall ftpfolder).
Nur hat anonymous keine Schreibberechtigung in dem Verzeichnis ftpfolder (z.B. mkdir geht nicht, permission denied), obwohl unter DSM 2.1 > Shared Folder > Privileges Setup > System internal user > Anonymous FTP ein Häkchen bei RW für dieses Verzeichnis (ftpfolder) ist.

Aktiviere ich "Change Anonymous root" nicht, landet anonymous beim Anmelden am FTP-Server eine Ebene über dem Verzeichnis ftpfolder (also in /volume1, pwd zeigt aber nur / an, soweit ist das ja auch korrekt) und ls zeigt das Verzeichnis ftpfolder (anonymous hat ja RW-Rechte hierdrauf, s.o.) in das man wechseln kann und jetzt kann man in diesem Verzeichnis auch schreiben (z.B. mkdir funktioniert).

Also, warum habe ich keine Schreibrechte in dem Verzeichnis, das ich bei "Change Anonymous root" aktiviere? Wenn das so gewollt ist, was für einen Sinn macht das?

Besten Dank

haddat

DS209+, D-Link DIR-855
 
Aktiviere ich "Change Anonymous root" nicht, landet anonymous beim Anmelden am FTP-Server eine Ebene über dem Verzeichnis ftpfolder (also in /volume1, pwd zeigt aber nur / an, soweit ist das ja auch korrekt) und ls zeigt das Verzeichnis ftpfolder (anonymous hat ja RW-Rechte hierdrauf, s.o.) in das man wechseln kann und jetzt kann man in diesem Verzeichnis auch schreiben (z.B. mkdir funktioniert).

Also, warum habe ich keine Schreibrechte in dem Verzeichnis, das ich bei "Change Anonymous root" aktiviere? Wenn das so gewollt ist, was für einen Sinn macht das?

Die Idee beim FTP-Benutzer anonymous ist, so etwas wie ein virtuelles Dateisystem zu Verfügung zu stellen. Um das zu machen, gibt es das Kommando 'chroot'. Was macht das Kommando? Es definiert für den Benutzer anonymous (wenn er sich per FTP anmeldet) das Verzeichnis /volume1/ftpfolder um zu '/'. So kann der Benutzer nie mehr höher in der Verzeichnis-Hierarchie gelangen als bis zum Verzeichnis /volume1/root. Wenn man nun noch ein Quote vergibt, dann kann auch der Plattenplatz nicht beliebig konsumiert werden ... so hat man vor 40 Jahren (im Unix-System) die erste 'Sand-Box' gebastelt. Toll was?

Damit der Benutzer anonymous irgendwas tun darf, braucht er auch noch spezielle Verzeichnisse (z.B. /bin, /tmp, /var usw.), denn er hat durch den Zugriff per FTP und den chroot natürlich auch alle Pfade zu den üblichen Verzeichnisse verloren ... es gibt auch auf der Manualseite des ftpd noch nette Hinweise (such mal chroot dort).

Es hat also alles seine Berechtigung :D und seinen Grund.

Itari
 
Hallo Iari,

besten Dank für die Ausführungen.
Das heisst also, wenn ich die Option "Change Anonymous root" NICHT aktiviere wird kein chroot durchgeführt und somit kann anonymous auch im Verzeichnis ftpfolder schreiben, landet jedoch in /volume1 Verzeichnis, also eine Ebene über ftpfolder (d.h., anonymous muss erst mit cd nach ftpfolder wechseln).
Wenn ich wiederum die Option "Change Anonymous root" aktiviere wird chroot durchgeführt und anonymous kann NICHT im Verzeichnis ftpfolder schreiben, landet dafür aber direkt dort.

Kurz:
"Change Anonymous root" gesetzt => anonymous landet in ftpfolder, kann aber dort NICHT schreiben.
"Change Anonymous root" NICHT gesetzt => anonymous landet ein Verzeichnis über ftpfolder, kann aber in ftpfolder schreiben.

Zumindest verhält es sich bei mir so.

Was kann ich also machen, dass anonymous direkt in ftpfolder landet (und natürlich auch nicht raus kann) aber trotzdem dort schreiben kann? Okay, das ist nur ein Befehl (nämlich "cd ftpfolder") weniger, als wenn ich "Change Anonymous root" nicht aktiviere.

Danke

haddat
 
Ich habe "Change Anonymous root" nicht gesetzt. Damit landet anonymous in /volume1 (pwd zeigt /), kann aber alle ftp-Befehle ausführen, (er)kennt die Rechte der Verzeichnisse und Dateien und hat die Zugriffsrechte, die man ihm für die einzelnen Verzeichnisse in /volume1 zugewiesen hat.
So habe ich in /volume1 ein Verzeichnis incoming und ein outgoing. Anonymous habe ich entsprechende Rechte für diese beiden Verzeichnisse zugewiesen.
Für alle anderen Verzeichnisse unter /volume1 hat anonymous keinerlei Rechte, d.h. er sieht sie auch nicht.
Verwendet man "Change Anonymous root" muss man in dem zugeordneten Verzeichnis (z.B. /volume1/ftpfolder) eine minimal-Linux-Umgebung einrichten (~ftpfolder/bin, ~ftpfolder/etc, ~ftpfolder/pub).
haddat
 
hi haddat,

wenn du das nun mittlerweile alles so herausgefunden und getestet hast, könntest das mit schönen Worten in unser Wiki rein schreiben? Wäre sehr nett.

Danke schon mal.

Itari
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat