mirror of https://github.com/digint/btrbk
btrbk: add backend_local_user config option
parent
13708abd00
commit
e605bc7b42
11
btrbk
11
btrbk
|
@ -131,6 +131,7 @@ my %config_options = (
|
||||||
backend => { default => "btrfs-progs", accept => [ "btrfs-progs", "btrfs-progs-btrbk", "btrfs-progs-sudo" ] },
|
backend => { default => "btrfs-progs", accept => [ "btrfs-progs", "btrfs-progs-btrbk", "btrfs-progs-sudo" ] },
|
||||||
backend_local => { default => undef, accept => [ "no", "btrfs-progs", "btrfs-progs-btrbk", "btrfs-progs-sudo" ] },
|
backend_local => { default => undef, accept => [ "no", "btrfs-progs", "btrfs-progs-btrbk", "btrfs-progs-sudo" ] },
|
||||||
backend_remote => { default => undef, accept => [ "no", "btrfs-progs", "btrfs-progs-btrbk", "btrfs-progs-sudo" ] },
|
backend_remote => { default => undef, accept => [ "no", "btrfs-progs", "btrfs-progs-btrbk", "btrfs-progs-sudo" ] },
|
||||||
|
backend_local_user => { default => undef, accept => [ "no", "btrfs-progs", "btrfs-progs-btrbk", "btrfs-progs-sudo" ] },
|
||||||
|
|
||||||
compat => { default => undef, accept => [ "no", "busybox" ] },
|
compat => { default => undef, accept => [ "no", "busybox" ] },
|
||||||
compat_local => { default => undef, accept => [ "no", "busybox" ] },
|
compat_local => { default => undef, accept => [ "no", "busybox" ] },
|
||||||
|
@ -2603,8 +2604,14 @@ sub vinfo_cmd($$@)
|
||||||
my $cmd = shift || die;
|
my $cmd = shift || die;
|
||||||
my @cmd_args = @_;
|
my @cmd_args = @_;
|
||||||
my $ret;
|
my $ret;
|
||||||
my $backend = defined($vinfo->{HOST}) ? config_key($vinfo, "backend_remote") : config_key($vinfo, "backend_local");
|
my $backend;
|
||||||
$backend = $backend // config_key($vinfo, "backend") // die;
|
if(defined($vinfo->{HOST})) {
|
||||||
|
$backend //= config_key($vinfo, "backend_remote");
|
||||||
|
} else {
|
||||||
|
$backend //= config_key($vinfo, "backend_local_user") if($>); # $EUID, $EFFECTIVE_USER_ID
|
||||||
|
$backend //= config_key($vinfo, "backend_local");
|
||||||
|
}
|
||||||
|
$backend //= config_key($vinfo, "backend") // die;
|
||||||
my $cmd_mapped = $backend_cmd_map{$backend}{$cmd};
|
my $cmd_mapped = $backend_cmd_map{$backend}{$cmd};
|
||||||
if(defined($cmd_mapped)) {
|
if(defined($cmd_mapped)) {
|
||||||
TRACE "vinfo_cmd: found mapping for backend=$backend cmd=\"$cmd\": " . join(' ', @$cmd_mapped) if($do_trace);
|
TRACE "vinfo_cmd: found mapping for backend=$backend cmd=\"$cmd\": " . join(' ', @$cmd_mapped) if($do_trace);
|
||||||
|
|
|
@ -364,27 +364,31 @@ constraints.
|
||||||
*backend* btrfs-progs|btrfs-progs-btrbk|btrfs-progs-sudo::
|
*backend* btrfs-progs|btrfs-progs-btrbk|btrfs-progs-sudo::
|
||||||
Backend filesystem utilities to be used for btrfs specific
|
Backend filesystem utilities to be used for btrfs specific
|
||||||
operations. Defaults to ``btrfs-progs''.
|
operations. Defaults to ``btrfs-progs''.
|
||||||
If you want to set this option for local or remote hosts only, you
|
|
||||||
can set *backend_local* or *backend_remote*
|
|
||||||
(e.g. "backend_remote btrfs-progs-btrbk").
|
|
||||||
+
|
+
|
||||||
--
|
--
|
||||||
btrfs-progs::
|
*btrfs-progs*::
|
||||||
Default backend, btrfs commands are called as specified in
|
Default backend, btrfs commands are called as specified in
|
||||||
btrfs(8) (e.g. "btrfs subvolume show").
|
btrfs(8) (e.g. "btrfs subvolume show").
|
||||||
|
|
||||||
btrfs-progs-btrbk::
|
*btrfs-progs-btrbk*::
|
||||||
btrfs commands are separated by a dash instead of a whitespace
|
btrfs commands are separated by a dash instead of a whitespace
|
||||||
(e.g. "btrfs-subvolume-show" instead of "btrfs subvolume
|
(e.g. "btrfs-subvolume-show" instead of "btrfs subvolume
|
||||||
show"). Useful for setting suid or file capabilities (setcap) on
|
show"). Useful for setting suid or file capabilities (setcap) on
|
||||||
specific btrfs commands, as implemented in
|
specific btrfs commands, as implemented in
|
||||||
<https://github.com/digint/btrfs-progs-btrbk>.
|
<https://github.com/digint/btrfs-progs-btrbk>.
|
||||||
|
|
||||||
btrfs-progs-sudo::
|
*btrfs-progs-sudo*::
|
||||||
btrfs commands are prefixed with "sudo -n" (e.g. "sudo -n btrfs
|
btrfs commands are prefixed with "sudo -n" (e.g. "sudo -n btrfs
|
||||||
subvolume show" instead of "btrfs subvolume show"). Make sure to
|
subvolume show" instead of "btrfs subvolume show"). Make sure to
|
||||||
have appropriate (root) permissions for the "btrfs" command groups
|
have appropriate (root) permissions for the "btrfs" command groups
|
||||||
as well as the "readlink" and "test" commands in /etc/sudoers.
|
as well as the "readlink" and "test" commands in /etc/sudoers.
|
||||||
|
|
||||||
|
If you want to set this option for local or remote hosts only, set
|
||||||
|
*backend_local* or *backend_remote* (e.g. "backend_remote
|
||||||
|
btrfs-progs-btrbk").
|
||||||
|
|
||||||
|
If you want to set this option for regular (non-root) user only, set
|
||||||
|
*backend_local_user*.
|
||||||
--
|
--
|
||||||
+
|
+
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue