ubuntuusers.de

sudo rsync over nfs

Status: Ungelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

mmLinuxer

Anmeldungsdatum:
21. September 2006

Beiträge: Zähle...

Hallo!

Ich möchte mit rsync root-Dateien über NFS synchronisieren. Das Zielverzeichnis ist nicht eingehängt; es soll sich lediglich rsync per NFS verbinden. Als normaler Benutzer für normale Benutzerdateien ist das gar kein Problem:

rsyenc -a /lokaler/pfad/ nfs-server:/entfernter/pfad/

Als root mit sudo klappt das nicht (trotz der Option no_root_squash in /etc/exports beim Server und sudo-Rechte auf beiden Seiten):

user@local:~$ sudo rsync -a /lokaler/pfad/ nfs-server:/entfernter/pfad/
[sudo] password for user: 
root@nfs-server's password: 
Permission denied, please try again.
root@nfs-server's password: 
...

Das Problem / der Grund ist, dass der Benutzer root standardmäßig kein Passwort hat, sondern stattdessen normalerweise sudo benutzt wird. Aber mit sudo rsync über NFS macht das Probleme. Gleiches ist auch mit sudo rsync über SSH, aber dafür gibt es Lösungen. Gibt es auch irgend eine Lösung für sudo rsync über NFS, ohne das sudo-Konzept zu entfernen und auch ohne den Umweg zuerst den NFS-Pfad zu mounten - dann rsync - dann umount?

Danke!

BillMaier Team-Icon

Supporter

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6497

Zuerst mal: Dein Aufruf macht rsync over ssh, nicht over nfs.

Dabei ist

root@nfs-server's password: 

die Passwort-Abfrage für SSH. Du kannst das gegen prüfen mit

ssh root@nfs-server

Und vermutlich steht in der sshd_config, dass genau das (root-Login) nicht zulässig ist. Deshalb verstehe ich Deine Frage mit dem "Gleiches ist auch mit sudo rsync über SSH, aber dafür gibt es Lösungen" nicht. Klar kannst Du den root-account frei geben, dann wäre DAS hier möglich.

Wenn Du das per NFS machen willst, kommst Du um das mounten nicht herum. Warum willst Du das nicht machen? Du könntest NFS auch per Autofs einbinden, falls Dir das besser gefällt. Ist dann aber Stufe 4.

Jetzt erstmal Stufe 1:

rsync arbeitet entweder über SSH oder über einen rsync-daemon.

Manpage rsync:

       There are two different ways for rsync to contact a remote system: using a remote-shell program  as  the
       transport  (such as ssh or rsh) or contacting an rsync daemon directly via TCP.  The remote-shell trans‐
       port is used whenever the source or destination path contains a single colon (:) separator after a  host
       specification.  Contacting an rsync daemon directly happens when the source or destination path contains
       a double colon (::) separator after a host specification, OR when an rsync:// URL is specified (see also
       the  "USING RSYNC-DAEMON FEATURES VIA A REMOTE-SHELL CONNECTION" section for an exception to this latter
       rule).

// edited: manches ergänzt

// edited: nochmal ergänzt und korrigiert.

BillMaier Team-Icon

Supporter

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6497

noch eine Frage:

wozu brauchst Du sudo, wenn Du Dateien aus dem Home-Verzeichnis Deines Users kopieren willst?

mmLinuxer

(Themenstarter)

Anmeldungsdatum:
21. September 2006

Beiträge: 417

Vielen Dank für die Antworten!

Ich dachte dass rsync ohne die Option "-e ssh" eben kein SSH nutzt und "direkt" über NFS auf den entfernten Rechner (im lokalen Netz) zugreift. Ich möchte SSH dierfür nicht, da man angebl. die Verschlüsselung (= CPU-Last) nicht ausschalten kann, was in meinem lokalen Netz mit alten CPUs besser wäre.

D.h. ich kann rsync entweder mit nur einem Befehl, aber dann mit SSH (Verschlüsselung), oder ich muss zuerst NFS-Pfad mounten - rsync - unmount. Schade, ich wollte es möglichst einfach und mit schneller Übertragungsrate.

Danke!

(Ich muss auch Systemdateien immer wieder synchronisieren, daher mit sudo / als root.)

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13210

mmLinuxer schrieb:

Ich möchte SSH dierfür nicht, da man angebl. die Verschlüsselung (= CPU-Last) nicht ausschalten kann, was in meinem lokalen Netz mit alten CPUs besser wäre.

Bei halbwegs modernen Rechnern fällt das kaum ins Gewicht - Netzwerklatenz und -bandbreite sind da höchstwahrscheinlich die limitierenden Faktoren. Möglicherweise kannst Du auch rsh ("remote" nicht "restricted" Shell) verwenden. Ich habe das mit rsync aber noch nie ausprobiert.

D.h. ich kann rsync entweder mit nur einem Befehl, aber dann mit SSH (Verschlüsselung), oder ich muss zuerst NFS-Pfad mounten - rsync - unmount. Schade, ich wollte es möglichst einfach und mit schneller Übertragungsrate.

Ich würde die erste Option wählen, da das Protokoll von rsync genau auf diesen Fall optimiert ist, während Du beim Mounten von NFS auf jeden Fall alle Metadatan zum Client übertragen musst, damit rsync die Vergleiche auf dem lokal gemounteten Dateisystem machen kann, die es benötigt, um das Changeset zu ermitteln.

Ciao

robert

mmLinuxer

(Themenstarter)

Anmeldungsdatum:
21. September 2006

Beiträge: 417

Danke für den Tipp mit rsh. Ich hatte das früher mal ausprobiert. Ich werde wohl bei rsync over SSH bleiben. Danke für die Info, wusste nicht dass dies "besser" ist als "lokal" über eingehängte NFS-Ordner.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13210

mmLinuxer schrieb:

Ich werde wohl bei rsync over SSH bleiben. Danke für die Info, wusste nicht dass dies "besser" ist als "lokal" über eingehängte NFS-Ordner.

Ich habe jetzt keine Vergleichsmessungen gemacht, aber NFS muss ja alle Funktionalität zur Verfügung stellen, die man braucht, um auf ein Dateisystem zugreifen zu können. rsync hingegen ist speziell für den Fall gebaut, dass man Dateien remote synchronisieren will. Dementsprechend kann man das Protokoll dafür optimieren, und ich gehe davon aus, dass das auch passiert ist.

Du kannst Dir ja mal den Spaß machen und das selbst durchmessen. Ich würde dann einen initialen Sync machen, einen Sync ohne Änderungen (d.h. es muss auch nix übermittelt werden) und dann einen Sync, bei dem ein paar Dateien hinzugefügt, geändert oder gelöscht wurden. Ich fände es spannend, die Ergebnisse hier zu lesen. ☺

BillMaier Team-Icon

Supporter

Anmeldungsdatum:
4. Dezember 2008

Beiträge: 6497

me, too

Antworten |