joemouth
Goto Top

Linux FTP mount mit curlftps ergibt schreibgeschützte Dateien

Hallo,

hoffe, Ihr könnt mir helfen.

Ich mounte einen FTP unter Debian einen FTP Server mittels curlftps:

/etc/fstab:
curlftpfs#<user>:<pwd>@ftp.xyz.com /mnt/ftp fuse auto,user,uid=www-date,gid=fuse,allow_other,disable_eprt 0 0

Das klappt auch soweit gut.

Nur Dateien ändern kann ich nicht.

Dateien anlegen geht, lesen und löschen auch.

Per echo lege ich als root eine Datei an:
echo test > test.txt
ls -al
-rw-r--r-- 1 www-data fuse    5 14. Aug 2013  test.txt

Löschen der test.txt geht, nur editieren geht nicht.
echo test >> test.txt
-bash: test.txt: Die Operation wird nicht unterstützt

chmod 777 test.txt geht nicht:
chmod 777 test.txt
chmod: Beim Setzen der Zugriffsrechte für »test.txt«: Die Operation ist nicht erlaubt

Bin nicht so fit in Linux und hoffe auf Eure Hilfe, wie ich die FTP Dateien bearbeitbar mounten kann. Vielen Dank.

Distributor ID: Debian
Release: 6.0.7
Codename: squeeze
2.6.32-5-amd64 GNU/Linux

Content-ID: 214317

Url: https://administrator.de/contentid/214317

Ausgedruckt am: 20.11.2024 um 13:11 Uhr

108012
108012 14.08.2013 um 23:28:53 Uhr
Goto Top
Hallo,

machst Du das alles als root und über das Netzwerk?
Ist der root Zugriff dafür freigegeben?

Gruß
Dobby
joemouth
joemouth 14.08.2013 um 23:34:53 Uhr
Goto Top
Zitat von @108012:
machst Du das alles als root und über das Netzwerk?
Ich bin auf dem Linux System als root angemeldet.

Zitat von @108012:
Ist der root Zugriff dafür freigegeben?
Was bedeutet das? Für das Ändern der Dateien freigegeben?
Erstellen, löschen, öffnen funktioniert ja, nur ändern nicht.
Wie kann ich das nachprüfen?

Vielen Dank, Joe
108012
108012 15.08.2013 um 00:03:29 Uhr
Goto Top
ok, ok, ok,

vielleicht habe ich mich auch nur unverständlich ausgedrückt.
Also lokal auf dem Server bist Du als root angemeldet und erstellst ein Verzeichnis, vergibst einen Namen und
"mountest" ein FTP hinein, richtig?

Lokal bist Du root und was bist Du auf dem FTP Server oder ist der etwa auch auf der selben Maschine bzw. dem
selben Server.

Gruß
Dobby
joemouth
joemouth 15.08.2013 um 01:13:02 Uhr
Goto Top
Zitat von @108012:
Also lokal auf dem Server bist Du als root angemeldet und erstellst ein Verzeichnis, vergibst einen Namen und
"mountest" ein FTP hinein, richtig?
genauso ist es.

Zitat von @108012:
Lokal bist Du root und was bist Du auf dem FTP Server oder ist der etwa auch auf der selben Maschine bzw. dem
selben Server.
Nein, der FTP Server ist remote, s.o. fstab: ftp.xyz.com
Ich bin s.o. fstab: als <user> mit <pwd> dort angemeldet und habe Lese und Schreibrechte.

Gruß, Joe
Lochkartenstanzer
Lochkartenstanzer 15.08.2013 aktualisiert um 07:09:42 Uhr
Goto Top
Zitat von @joemouth:
Das klappt auch soweit gut.

Nur Dateien ändern kann ich nicht.

Dateien anlegen geht, lesen und löschen auch.


Bin nicht so fit in Linux und hoffe auf Eure Hilfe, wie ich die FTP Dateien bearbeitbar mounten kann. Vielen Dank.


moin,

ich hab ecurlftps nicht benutzt, aber ich würde sagen, daß liegt in der natur des FTP-Protokolls. Auch wenn man das ins Filesystem einbindet, muß es letztendlich doch wieder auf ftp abgebildet werden.

Und das kann eben nur lesen und schreiben "am Stück" und löschen. Von daher würde es mich verwundern, wenn man da einen Editor drauf loslassen könnte.

lks

PS: Da steht ja auch
-bash: test.txt: Die Operation wird nicht unterstützt
joemouth
joemouth 15.08.2013 um 08:40:00 Uhr
Goto Top
Zitat von @Lochkartenstanzer:
aber ich würde sagen, daß liegt in der natur des FTP-Protokolls. Auch wenn man das ins
Filesystem einbindet, muß es letztendlich doch wieder auf ftp abgebildet werden.

Und das kann eben nur lesen und schreiben "am Stück" und löschen. Von daher würde es mich verwundern,
wenn man da einen Editor drauf loslassen könnte.

Danke für den Hinweis, das erscheint mir schlüssig.

Auf einem Windows System habe ich Gladinet installiert, damit kann man FTP Dateien direkt editieren.
Die haben da wahrscheinlich einen Workaround eingebaut.

Ich hoffte, dass geht mit curlftps auf Linux ebenso.

Vielen Dank, Joe
bytecounter
bytecounter 15.08.2013 um 09:15:45 Uhr
Goto Top
Hallo,

wie Lochkartenstanzer schon schrieb, unterstützt FTP nicht das Bearbeiten von Dateien. Wenn also eine Datei in einem entsprechend gemounteten Verzeichnis bearbeitest, holt sich curlftp automatisch im Hintergrund die Datei per GET. Beim speichern, merkt curlftp das und schiebt die geänderte Datei per PUT hoch und überschreibt dabei die alte Datei.
Das ist ja auch der Sinn von curlftp...das Ganze in den Hintergrund zu schieben und nicht jedesmal GET/PUT..usw. aufrufen zu müssen. Mit echo "irgendwas" >> datei.txt schreibst Du direkt an das Ende einer Datei - und das klappt natürlich nicht...

Auf einem Server muss ich leider auch mit curlftp arbeiten, da ich dort keinen SSH-Zugang bekommen kann. Da klappt das problemlos.

vg
Bytecounter
joemouth
joemouth 15.08.2013 um 10:09:56 Uhr
Goto Top
Zitat von @bytecounter:
Wenn also eine Datei in einem
entsprechend gemounteten Verzeichnis bearbeitest, holt sich curlftp automatisch im Hintergrund die Datei per GET. Beim speichern,
merkt curlftp das und schiebt die geänderte Datei per PUT hoch und überschreibt dabei die alte Datei.
Das ist ja auch der Sinn von curlftp...das Ganze in den Hintergrund zu schieben und nicht jedesmal GET/PUT..usw. aufrufen zu
müssen. ........

Auf einem Server muss ich leider auch mit curlftp arbeiten, da ich dort keinen SSH-Zugang bekommen kann. Da klappt das problemlos.

Aha, also sollte es mit curlftps grundsätzlich möglich sein, prer FTP gemountete Dateien zu bearbeiten.

Nur warum klappt das bei meiner Konfig nicht (s.o.) ?

Wie ich oben beschrieb, klappt es mittels Gladinet auf Windows, das scheint mir zu bedeuten, dass es nicht an Rechten und Konfig des FTP Servers liegt? (Worauf ich auch keinen Einfluss habe)
Lochkartenstanzer
Lochkartenstanzer 15.08.2013 um 10:25:38 Uhr
Goto Top
Du könntest umask=002 bei den MountOptionen noch probieren

lks
joemouth
joemouth 27.08.2013 um 09:15:21 Uhr
Goto Top
Zitat von @Lochkartenstanzer:
Du könntest umask=002 bei den MountOptionen noch probieren

Hat leider keine Änderung gebracht.
bytecounter
bytecounter 28.08.2013 um 08:39:46 Uhr
Goto Top
Hallo,

da hab ich beim ersten mal auch nicht richtig gelesen; also nur mal so ganz doof gefragt:
ls -al 
-rw-r--r-- 1 www-data fuse    5 14. Aug 2013  test.txt

Aber Du gibts www-date (man beachte das "e" statt dem "a" am Ende) beim Mounten als uid an....

Könnte natürlich auch ein Tippfehler beim Übertragen sein. Aber manchmal sind die Lösungen ja doch ganz doof.

Wenn wir aber geradde bei uid und gid sind:
Diese müssen die des lokalen Benutzers sein; nicht die des Remotebenutzers (mir scheint, dass Du die des entfernten Benutzers nutzt). Wenn Du als root angemeldet bist, ist uid=0. Um root explizit Zugriff zu geben, musst Du zusätzlich die Option allow_root hinzufügen.

Teste mal und melde Dich, ob's klappt.

vg
Bytecounter