[sudo] problem mit rsync als <user> von apache

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [sudo] problem mit rsync als <user> von apache

    EDIT:
    LÖSUNG GEFUNDEN.

    hintergrund.....

    ich will mit rsync daten syncronisieren. das klappt auf der shell
    auch wunderbar und ohne eingabe eines passwords.

    das ganze funzt als user rsyncing .

    wenn ich nun unter php mit system() das rsync aufrufe, ist das
    ja mist. klar könnte ich jetzt auch für apache die keys erstellen
    und auf den maschinen austauschen, aber das ist eher zu unsicher.

    also habe ich mir gedacht, dass der www-user (apache) einen
    auf sudo -u rsyncing und damit dann das rsync selbst anspricht.

    nur leider sagt mir /var/log/messages was anderes, wenn ich
    das php-script starte.
    Code:
    Jan  7 16:34:12 machine sudo(pam_unix)[3657]: authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=  user=apache
    hier auch mal das script dazu, was aber eigentlich nicht nötig
    zum lösen des problem sein sollte.
    PHP Code:
    <?php

        
    echo system('date');

        echo 
    system('sudo -u rsyncing /usr/bin/rsync -avz --delete -e ssh remote.machine.net:/data/www/ /tmp/rsync/');

    ?>
    der date() befehl macht genau das, was ich will.

    was muss ich nun in der /etc/sudoers einstellen?

    im moment habe ich das zusammengefummelt.
    Code:
    apache  localhost = (rsyncing) NOPASSWD: /usr/bin/rsync
    das war zumindest der ansatz dafür:
    der user apache darf als rsyncing das rsync starten.

    andere ideen?


    EDIT:
    und hier nun die lösung ....


    php-datei
    PHP Code:
    <pre>
    <?php

        
    echo system('date') . '<hr>';

        echo 
    system('sudo -u rsyncing /home/rsyncing/shellscript.sh');

    ?>
    </pre>
    /etc/sudoers
    Code:
    apache  ALL = (rsyncing) NOPASSWD: /home/rsyncing/shellscript.sh

    damit klappt es einwandfrei..
    Last edited by Abraxax; 13-01-2004, 14:14.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


Working...
X