Context
I'm setting up ZFS autobackup on my home server for offsite backups. All commands printed below are run as non-root.
Problem
A 'permission denied' error arises originating from the target machine when the following command is issued:
(zfs send --large-block --embed --raw --verbose --parsable --props \
-i @previous_snap localpool/mydataset@newest_snap) | \
(ssh ostsite 'zfs recv -u -o canmount=noauto -v -s \
remotepool/myserver/localpool/mydataset')
Full command output:
incremental localpool/mydataset@previous_snap localpool/mydataset@newest_snap 624
size 624
receiving incremental stream of localpool/mydataset@newest_snap into remotepool/myserver/localpool/mydataset@newest_snap
received 1.31K stream in 1 seconds (1.31K/sec)
cannot set property for 'remotepool/myserver/localpool/mydataset': permission denied
Findings so far
ZFS doesn't explicitly say which property cannot be set, but the only one I'm requesting to be set is canmount=noauto
. On the target machine, I've delegated some zfs permissions to the receiving user:
sudo zfs allow myuser snapshot,receive,create,mountpoint,mount,userprop remotepool/myserver
And when I manually execute zfs set canmount=noauto remotepool/myserver/localpool/mydataset
, this succeeds.
Questions
- How can I see which property cannot be set?
- How can I allow this property to be set (at recv-time)?