Benutzer auf der Quelle per command= auf zsync-Befehle beschränken #39
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Folgeschritt zu #11: Seit #11 läuft zsync auf Backupserver und Quelle ohne root, der Benutzer auf der Quelle darf per
zfs allownur senden, Snapshots anlegen/löschen, halten und Bookmarks setzen. Über ssh kann er aber noch beliebige Shell-Befehle als dieser Benutzer ausführen.Ziel
Ein Wrapper per
command=inauthorized_keysauf der Quelle, der nur die Befehle zulässt, die zsync braucht.Voraussetzung: einfache Befehle
zsync führt auf der Quelle heute auch Shell-Konstrukte aus (Schleifen für hold/release,
ifbeim Bookmark,grep/tail-Pipelines,which … ; zfs-auto-snapshot,mkdir/mvundscpfür den Spool, die Cipher-Erkennung über/etc/os-releaseund/proc/cpuinfo),remote-snapshot-managerhat eine eigene ssh-Verbindung mitssh … exit. Für eine Prüfung per Allowlist müssen das einzelne, einfache Befehle werden (Filtern lokal), z. B.zfs hold <tag> <snap>…statt Schleife.Umsetzung (Skizze)
bashclub-zsync-remoteim Paket, wertetSSH_ORIGINAL_COMMANDaus: nurzfs list|get|send|snapshot|destroy <snapshot>|hold|release|bookmarkmit erlaubten Optionen, keine Shell-Metazeichenauthorized_keys(restrict,command="…",from=), kopierbar aus der Config abgeleitet