RaspberryPi Falscher Besitzer/Gruppe bei lftp

Rocky

Mitglied
Hallo,
ich synchronisiere über LFTP einen externen Server auf meinen Pi.

Code:
#!/bin/bash
HOST='HOST.COM'
USER='USER'
PASS='PASS'
TARGETFOLDER='/var/www/Ordner'
SOURCEFOLDER='./'

lftp -f "
open $HOST
user $USER $PASS
lcd $SOURCEFOLDER
mirror --delete --use-cache --verbose $SOURCEFOLDER $TARGETFOLDER
bye
"

Leider setzte er nur die Gruppe auf 33 (www-data) (User pi gehört zur Gruppe www-data) allerdings nicht den Besitzer auf 33.

Womit hängt das zusammen bzw. wie kann ich das beheben?

Außerdem wenn der das LFTP script normal über den User pi aufgerufen wird, sagt er mir dass ich keine Berechtigungen habe, nur wenn ich es mit "sudo script" ausführe funktioniert es und gibt mir die Berechtigung.

Danke Schonmal,
Rocky
 
Zu welchem User gehört das Skript? Die erstellte
n Ordner erben die Berechtigungen vom Skript und nicht vom remote Host.
 
Als Beitzer und Gruppe sind 33:33 eingetragen bei dem Bashscript.
www-data also nach meinem Verständnis.

Kann es daran liegen, dass ich es mittels sudo ausführen muss, weil er mir sonst sagt, dass ich keine Berechtigung habe (mit dem user pi, Mitgleid von der Gruppe www-data)
 
Hi,

der Besitzer von erstellten Dateien ist immer der Benutzer, der das Script ausführt. Wenn du das Script als "pi" ausführst, dann wird das auch der Besitzer aller Dateien die dein Script erstellt. Dasselbe gilt für die Hauptgruppe des Benutzers.

Du könntest am Ende des Scripts ein "chown www-data:www-data <DATEIEN>" machen, das geht allerdings nur als root (also per sudo).

Grüße,
BK
 
Sehe ich auch so, sudo bedeutet ja, das das Skript mit root Rechten ausgeführt wird und die Dateien gehören anschließend root.
Wie führst du das Skript sonst aus? Gibt es eine Fehlermeldung?
 
Sonst führe ich es unter dem user "pi" mit bash script aus.
dann erhalte ich folgende Fehlermeldung:

mirror /var/www/test/test.php: Keine Berechtigung.

Als apache und FTP installiert wurden, wurde der user und die gruppe "www-data" angelegt, die im "/var/www" als homedirectory eingetragen sind genau so wie der user "pi"

Username User ID Group Real name Home directory Shell

www-data33www-datawww-data/var/www/bin/sh
pi 1000pi /var/www/bin/bash

Habe es nach folgender Anleitung aufgesetzt:
http://www.forum-raspberrypi.de/Thread-tutorial-ssh-zugang-auf-dem-raspberry-pi-einrichten
 
Habe es nun gelöst indem ich dem user "pi" mit chmod die rechte gegeben habe..

Wenn ich das Script nun ausführe kommt am Ende:
Unbekannter Befehl >;<

womit hängt das zusammen? es ist ja kein ";" im code
 
Hi,

schreib mal bitte das komplette Script nochmal hier rein.
Ausserdem ist es teilweise recht praktisch, wenn du die Bashscripte nicht mit "./script.sh" oder "bash ./script.sh" ausführst, sondern per "-x":
bash -x ./script.sh

Das aktiviert die Debugausgabe und du siehst genau wo es scheppert.

Grüße,
BK
 
Hier der output mit -x:


pi@server:~/scripts$ bash -x dev
+ HOST=URL.com
+ USER=USER
+ PASS=PASSWORD
+ TARGETFOLDER=/var/www/dev
+ SOURCEFOLDER=./
+ lftp -f '
open URL.com
user USER PASSWORD
lcd ./
mirror --delete --use-cache --verbose ./ /var/www/dev
'
source: Ist ein Verzeichnis
Lege Verzeichnis »img/news/46« an
Sende Datei »img/news/46/1.gif«
Unbekannter Befehl »;«.
 

Neue Beiträge

Zurück