u08154711
Goto Top

Spezielle User für Rsync anlegen? Berechtigungen?

Hallo,

ich möchte per Rsync Daten von zwei in freier Wildbahn stehenden Servern, Quelle und Ziel, transferieren.
Beide Server lassen Anmeldungen per SSH nur für jeweils 1 user (auf beiden Servern gleich) zu, nur per Key, kein PW, kein root. etc.

Ich habe auf Quelle einen neuen Key "rsyncuser" erstellt.
Auf Ziel den User rsyncuser angelegt und dort in die authorized_keys den Public Key eingefügt.

Auf Ziel in /etc/ssh/sshd_config noch den rsyncuser aufgenommen

AllowUsers andereruser rsyncuser
Verbindung klappt, Daten werden tranferiert.

Fragen:
Welche Rechte soll ich dem rsyncuser auf Zeil am besten geben?
Wie kann man einstellen, dass rsyncuser auf Ziel nur rsync machen darf, und sonst nix?


Kann hier jemand weiterhelfen?

Danke

Content-ID: 671282

Url: https://administrator.de/forum/spezielle-user-fuer-rsync-anlegen-berechtigungen-671282.html

Ausgedruckt am: 14.04.2025 um 03:04 Uhr

kreuzberger
kreuzberger 11.02.2025 um 10:38:17 Uhr
Goto Top
Huhu @U08154711

nur für diese Aufgabe einen extra User anzulegen ist erst einmal nicht verkehrt. Dieser User muss dannn aber wenigstens read-onlly-rechte auf alle Daten des quellservers haben, die er dort abholen soll und schreibrechte auf alle Bereiche des Zielrechners haben, wo die Daten hin sollen.

Kreuzberger
151512
151512 11.02.2025 aktualisiert um 18:03:16 Uhr
Goto Top
  • Chroot-Dir erstellen, mit ausschließlich bash und rsync und dessen Abhängigkeiten in /usr/lib (ldd command)
  • In der sshd_config den User in sein homedir chrooten z.B.
Match User rsyncuser
	ChrootDirectory /home/rsyncuser
	AuthenticationMethods publickey
  • Und natürlich die Schreibrechte entsprechend am Ziel anpassen bzw. User in entsprechenden Gruppen zum Mitglied machen. Und Chroot-Verzeichnissrechte anpassen damit Login mit Public Key beim rooten des Verzeichnisses noch klappt. Dann noch das Datenzielverzeichnis in das Chroot-Dir per Symlink verlinken. Dann bist du schon mal einiges sicherer. Der verantwortungsvolle Linux-Admin erstellt dann zusätzlich noch least privilege SELinux Policies für den User.

Gruß m.
U08154711
U08154711 11.02.2025 um 19:42:20 Uhr
Goto Top
Zitat von @kreuzberger:

Huhu @U08154711

nur für diese Aufgabe einen extra User anzulegen ist erst einmal nicht verkehrt. Dieser User muss dannn aber wenigstens read-onlly-rechte auf alle Daten des quellservers haben, die er dort abholen soll und schreibrechte auf alle Bereiche des Zielrechners haben, wo die Daten hin sollen.

Kreuzberger

Wenn ich nur Daten von Quelle auf Ziel schiebe, braucht er doch auf Quelle keine Rechte. Auf Quelle existiert def Usef auch gar nicht. Und so funktioniert es auch
U08154711
U08154711 11.02.2025 um 19:43:54 Uhr
Goto Top
Zitat von @151512:

  • Chroot-Dir erstellen, mit ausschließlich bash und rsync und dessen Abhängigkeiten in /usr/lib (ldd command)
  • In der sshd_config den User in sein homedir chrooten z.B.
Match User rsyncuser
	ChrootDirectory /home/rsyncuser
	AuthenticationMethods publickey
  • Und natürlich die Schreibrechte entsprechend am Ziel anpassen bzw. User in entsprechenden Gruppen zum Mitglied machen. Und Chroot-Verzeichnissrechte anpassen damit Login mit Public Key beim rooten des Verzeichnisses noch klappt. Dann noch das Datenzielverzeichnis in das Chroot-Dir per Symlink verlinken. Dann bist du schon mal einiges sicherer. Der verantwortungsvolle Linux-Admin erstellt dann zusätzlich noch least privilege SELinux Policies für den User.

Gruß m.

Danke aber zu viel Info komprimiert auf einmal
151512
151512 11.02.2025 aktualisiert um 21:56:59 Uhr
Goto Top
Danke aber zu viel Info komprimiert auf einmal
Was ein Admin aber durchaus dazu nutzen kann um sich selbst auch etwas in die Materie einzulesen, wir sind ja nicht deine Mama die dir das Betthupferl ans Bettchen bringt 😋 ...
U08154711
U08154711 11.02.2025 um 22:23:48 Uhr
Goto Top
Ich hab nicht gesagt, dass ich mich nicht einlese. Aber halt Stück für Stück