
Ich versuche, den rsync
Befehl zu verwenden, erhalte jedoch die Meldung „Berechtigung verweigert“, da der Pi-Benutzer ohne den Befehl sudo keine Schreibberechtigung hat.
Ich versuche, meinen Apache2-Ordner von 10.0.2.2 nach[email geschützt]mit
sudo rsync -av /etc/apache2 [email protected]:/etc/
Die große Frage ist also, gibt es eine Möglichkeit, dem rsync einen Sudo-Befehl für den Pi-Benutzer bereitzustellen? oder etwas anderes, ohne dem Pi-Benutzer vollen Zugriff zu gewähren?
Antwort1
Lieber Downvoter, das Ziel ist ein Raspberry Pi und daher haben wir einen Root-Benutzer.
Sie können den root
Benutzer anstelle von verwenden pi
. Zuvor benötigen Sie jedoch ein Kennwort für den root
Benutzer.
Öffnen Sie eine SSH-Verbindung
ssh [email protected]
Und legen Sie ein root
Passwort fest
sudo su -
passwd
Jetzt können Sie verwenden
rsync -av /etc/apache2 [email protected]:/etc/
Antwort2
Die einfachste Methode, wenn ein Root-Login verfügbar ist, ist:
rsync -av /etc/apache2 [email protected]:/etc/
Hinweis: Dies ist nicht erforderlich, sudo rsync
wenn alle Konfigurationsdateien /etc/apache2
allgemein lesbar sind.
Wenn Ihnen einige zusätzliche interaktive Befehle auf dem Pi nichts ausmachen sudo
, versuchen Sie diesen Ansatz:
Packen Sie alle Dateien (die Dateien
/etc
sind im Allgemeinen klein, daher sollte es kein Problem sein, alles zu packen):tar -czC /etc apache2 | ssh [email protected] 'cat > /tmp/apache2.tar.gz'
Dekomprimieren Sie alle Dateien auf dem Pi:
sudo tar -xzf /tmp/apache2.tar.gz -C /etc
Es gibt eine dritte Möglichkeit, bei der ein Rsync-Daemon konfiguriert wird. Dies erfordert jedoch mehr Aufwand und ist möglicherweise weniger sicher, da das Wire-Protokoll unverschlüsselt ist und möglicherweise jedem Zugriff gewährt, der eine Verbindung zum Daemon herstellen kann.