Mi sono imbattuto nello stesso problema oggi. Ho scoperto che puoi autorizzare utenti regolari a eseguire determinate operazioni con il comando "zfs allow":
come root, esegui le seguenti operazioni sul server:zfs consenti a tuo_nomeutente di ricevere, creare, montare archiviazione/foto
Successivamente, sarai in grado di accedere al server tramite ssh utilizzando your_username e avrai i privilegi zfs da ricevere. Vedi qui:http://docs.oracle.com/cd/E19253-01/819-5461/gfkco/index .html
Questo non rimuove completamente l'accesso root, ma protegge le cose oltre un accesso completo.
 Imposta un trust SSH copiando la chiave pubblica dell'utente locale (di solito ~/.ssh/id_rsa.pub ) nel file authorized_keys (~/.ssh/authorized_keys ) per l'utente remoto. Ciò elimina le richieste di password e migliora la sicurezza poiché le chiavi SSH sono più difficili da applicare alla forza bruta. Probabilmente vuoi anche assicurarti che sshd_config ha PermitRootLogin without-password -- questo limita gli accessi root remoti alle sole chiavi SSH (anche la password corretta fallirà).
 Puoi quindi aggiungere sicurezza usando il ForceCommand direttiva nel file authorized_keys per consentire solo l'esecuzione del comando zfs.
@analog900 è sulla strada giusta.
Una chiave per una maggiore sicurezza, incluso evitare la necessità di accessi root, è utilizzare la struttura di autorizzazioni integrata di ZFS e anche strutturare i trasferimenti di backup al contrario e tirare i tuoi backup sulla rete, invece di spingerli. La capacità di eseguire il backup dei filesystem senza accesso root è uno dei principali risultati di progettazione del filesystem ZFS.
 Esegui il lavoro su destination ed estrai i dati da source , forse qualcosa come:
- Sulla fonte computer, creare un account utente non privilegiato 
fooe usazfs allowper dare a quell'account la possibilità di creare e inviare istantanee: 
    zfs allow foo mount,snapshot,send,hold storage/photos
 - Sulla destinazione macchina, crea un account non privilegiato 
bare dai a quell'account la possibilità di ricevere/creare/montare filesystem: 
    zfs allow bar mount,create,receive storage/photos
 - A destinazione, come utente 
bar, creare una chiave ssh specifica per i processi di backup. Installa la metà pubblica di quella chiave nel.sshdirectory dell'utentefoosulla macchina di origine. Questo dà all'utente[email protected]proteggere l'accesso tramite login ssh al[email protected]account. Inoltre, modifica il file ~bar/.ssh/config sudestinationin modo che utilizzi automaticamente il nome file della chiave SSH corretto (che hai creato in precedenza) e il nome utente: 
    Host source
       Hostname FQDN.of.source.example.com
       User foo
       IdentityFile ~bar/.ssh/backup_key_id_rsa
 - Ora esegui il processo di backup da 
[email protected]: 
    dt=$(date +%Y-%m-%d_%H-%M-%S)
    ssh source "zfs snap storage/[email protected]_$dt"
    ssh source "zfs send -R storage/[email protected]_$dt" | zfs receive storage/photos
 Per farlo in questo modo è necessario no qualsiasi accesso root.