PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : FTP auf NTFS-Freigabe - keine Einschränkungen der Rechte?



X_FISH
20.07.08, 18:29
Folgendes seltsames Verhalten:

Ich habe einen Multi-OS-PC mit Linux und Windows.

Damit ich auf einige Daten von beiden Betriebssystemen problemlos zugreifen kann ist eine NTFS-Partition eingerichtet.

Der Rechner steht permanent in einem Netzwerk und dient - wenn ich ihn eingeschaltet habe - auch als FTP-Server.

Nun denn. Ich habe sowohl pure-ftpd als auch proftpd als Server installiert gehabt und bekomme bei beiden das gleiche Problem.

Die NTFS-Partition ist mit -o rw gemountet. Dies macht Sinn, da ich ja als angemeldeter User lokal auch auf die Daten bzw. die Partition schreibend zugreifen möchte.

Beim proftpd habe ich explizit mit


<Limit WRITE>
DenyAll
</Limit>

die Zugriffsrechte eingeschränkt. Jedoch konnte ich weiterhin schreibend auf die NTFS-Partition zugreifen.

Eingebunden war die NTFS-Partition mittels Symlink innerhalb des Homedir des angelegten FTP-Users. In das Verzeichnis konnte ich nicht schreiben (und auch nicht löschen), dem Symlink gefolgt jedoch schon.

Meine Lösung für das Problem:


mount --bind [Pfad zum Verzeichnis auf der NTFS-Partition] [Homeverzeichnis des FTP-Users] -o ro

Jetzt funktioniert es so wie ich es gerne haben will, aber eine Frage bleibt:

Habe ich irgendwo irgendwas übersehen oder kann ich es wirklich nur über den Umweg mit mount --bind lösen?

TIA, Martin

403
20.07.08, 21:39
Hm, ich denke das ging deshalb weil der Symlink mode 0777 hat. Es ist aber auch gut moeglich dass Deine proftpd.conf kaputt ist? Eventuell kannst du nochmal alle Arbeitsschritte genauer aufschreiben.

X_FISH
20.07.08, 22:37
Ich fange mal am Anfang an:

*** pureftpd ***

Ursprünglich habe ich immer pureftpd installiert da mir dort die Verwaltung der virtuellen User sehr zugesagt hat (keine Datenbank notwendig, etc.).

Meine damalige Struktur auf dem PC:

/dev/sda1 -> Windows (System)
/dev/sda2 -> Linux
/dev/sda5 -> SWAP
/dev/sda6 -> Homedir (ext3)
/dev/sda7 -> NTFS-Partition

Nun denn. Ich habe zunächst einfach /dev/sda7 in pureftpd einbinden wollen. Allerdings konnte ich keine Schreibrechte beim virtuellen Benutzer setzen.

Also ein neues Verzeichnis angelegt, einen Symlink gesetzt (nennen wir ihn mal /home/foo/ftp ) und die Rechte vom Verzeichnis /home/foo auf ro gesetzt.

Klar - der Symlink kennt das nicht und macht immer 777. Damit hatte sich dieser Versuch erledigt.
____

*** proftpd ***

proftpd installiert (pureftpd davor heruntergeworfen), neuen, realen User im System für FTP angelegt.

Anschließend die pureftpd.conf entsprechend angepasst:


<Directory /home/foo>
<Limit ALL>
DenyAll
</Limit>

<Limit READ DIRS>
AllowAll
</Limit>

<Limit WRITE>
DenyAll
</Limit>
</Directory>


Zunächst war /home/foo selbst als Symlink angelegt - ohne Änderung bei den Zugriffsrechten (schreiben war möglich) wenn man per FTP-Client darauf zugegriffen hat.

Anschließend /home/foo als Verzeichnis angelegt und innerhalb davon einen Symlink auf die NTFS-Partition gesetzt. Gleiches Resultat.

Nur die Lösung mit dem mount --bind hat das Problem jetzt behoben.

Grüße, Martin