bin am Rätsel was ich falsch mache. Vielleicht könnt ihr mir ja helfen.
Ausgangssituation:
Ein Debian Wheezy Server soll als Backupserver per Skript (Rsync) inkrementelle Backups der einzelnen Hosts durchführen. Das Skript funktioniert lokal ganz gut. Nur gibt es offensichtlich Probleme mit den Berechtigungen von Rsync(?).
Folgende Konfiguration:
Benutzer auf Server: bakuser
Benutzer auf Zielhost: bakuser
Auf Ziehost:
Code: Alles auswählen
ssh-keygen -t rsa -b 2048 -f /Users/basti/.ssh/identity_obstbuch
Code: Alles auswählen
ssh -i /Users/basti/.ssh/identity_obstbuch bakuser@10.0.0.75
Code: Alles auswählen
mkdir /home/bakuser/.ssh
touch /home/bakuser/.ssh/authorized_keys
Rsync Skript:
Code: Alles auswählen
#!/bin/bash
SRC="/Users/basti/Desktop/testordner"
SRCHOST="obstbuch.fritz.box"
DEST="/home/bakuser/zielordner"
KEY=/home/bakuser/.ssh/authorized_keys
USER=bakuser
...
# Rsync inkrementell:
for (( i=0 ; i < ${#SRC[@]} ; i++ ))
do
rsync -avEz --delete --link-dest=${DEST[$i]}/`date +%Y%m%d_%H%M` -e "ssh -i $KEY" --rsync-path="sudo rsync" $USER@$SRCHOST:${SRC[$i]} ${DEST[$i]}/`date +%Y%m%d_%H%M`
done | tee > $DEST/tmp.log
...
exit 0
Code: Alles auswählen
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
bakuser ALL=(ALL)NOPASSWD:/usr/bin/rsync
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
Code: Alles auswählen
sudo: no tty present and no askpass program specified
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [Receiver=3.0.9]