rsync ausführen

rsync ausführen

am 27.06.2006 00:09:34 von joerg p

hallo,

kann diesen Befehl mit shell_exec nicht ausführen:
"rsync -e 'ssh -i /root/.ssh/schluessel' -avb --update /pfad
user@server.de:pfad";

Wenn ich den Befehl als root per shell ausführe, geht's.
shell_exec('whoami') gibt wwwrun zurück.

Hat jemand nen tipp?

Jörg

Re: rsync ausführen

am 27.06.2006 00:14:19 von Heiko Kuerschner

joerg pfeffer schrieb:

> kann diesen Befehl mit shell_exec nicht ausführen:
> "rsync -e 'ssh -i /root/.ssh/schluessel' -avb --update /pfad
> user@server.de:pfad";
>
> Wenn ich den Befehl als root per shell ausführe, geht's.
> shell_exec('whoami') gibt wwwrun zurück.

Und Du meinst, es wäre eine gute Idee wenn der User wwwrun auf /root/
Zugriff hat?

--
Kürsche
Wenns 'ner net gwittern tun tut ;)
Linux/*BSD-Anleitungen, Forum und Chat: www.newbie-net.de

Re: rsync ausführen

am 27.06.2006 00:31:08 von joerg p

Heiko Kuerschner schrieb:
> joerg pfeffer schrieb:
>
>> kann diesen Befehl mit shell_exec nicht ausführen:
>> "rsync -e 'ssh -i /root/.ssh/schluessel' -avb --update /pfad
>> user@server.de:pfad";
>>
>> Wenn ich den Befehl als root per shell ausführe, geht's.
>> shell_exec('whoami') gibt wwwrun zurück.
>
> Und Du meinst, es wäre eine gute Idee wenn der User wwwrun auf /root/
> Zugriff hat?
>

Ich finde leider kein home Verzeichniss von wwwrun... Oder wo soll ich
sonst den Schlüssel hinlegen?

Joerg

Re: rsync ausführen

am 27.06.2006 01:18:10 von Matthias Wuebbeling

joerg pfeffer wrote:

> Ich finde leider kein home Verzeichniss von wwwrun... Oder wo soll ich
> sonst den Schlüssel hinlegen?

Ich könnte dir Speicher auf meinem Server anbieten....

Nun mal im ernst, meinst du, es ist eine gute Idee, dem Benutzer des
Webservers solche Rechte zu geben?

Was hälst du von Cronobs? Die können direkt als root ausgeführt werden.

Wenn du "nur" dein Webverzeichnis sichern willst, dann solltest du den
Schlüssel in ein Verzeichnis unter deinem Server-Root (Nicht
Document-Root) legen, und zwar dort, wo dann nur der Webserver Zugriff
hat. Am besten ist jedoch, dir einen Leseberechtigten zweiten Benutzer
anzulegen, für den du dann einen Cronjob anlegst.

Dieser Schlüssel sollte dann allerdings nicht für den root Benutzer auf
dem entfernten Server sein, sondern für einen extra angelegten
Webserver-Backup-Benutzer.

lieben Gruß,
Matze

Re: rsync ausführen

am 01.07.2006 09:50:39 von Thomas Rachel

joerg pfeffer wrote:

> Ich finde leider kein home Verzeichniss von wwwrun...

echo ~wwwrun
grep wwwrun /etc/passwd

su
su - wwwrun
pwd
echo $HOME
exit
exit

Thomas
--
Das Leben ist wie eine Pralinenschachtel. Man weiss nie, was man kriegt.
(Forrest Gump)

Re: rsync ausführen

am 01.07.2006 09:54:14 von Thomas Rachel

Matthias Wuebbeling wrote:

> Dieser Schlüssel sollte dann allerdings nicht für den root Benutzer auf
> dem entfernten Server sein, sondern für einen extra angelegten
> Webserver-Backup-Benutzer.

ACK (hatte er glaub ich aber auch nicht vor).

Zusätzlich könnte es aus Sicherheitsgründen evtl. hilfreich sein, auf dem
remote-Server den Schlüssel auf einen Befehl einzuschränken - das wird
aber etwas kompliziert wegen rsync. Evtl. ein Wrapper-Skript drum,
welches die Kommandozeile ein wenig überprüft.

Denn wenn Dir der (nicht mit Passphrase versehene!) Schlüssel mal in
fremde Hände gerät, wäre das fatal. Da ist es besser, wenn der Schlüssel
nicht alles darf, was der betreffende User darf.

Thomas
--
Läuft Unix auch unter Windows? Und wo muß man da klicken?