summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Holy <oholy@redhat.com>2019-05-23 10:29:08 +0200
committerOndrej Holy <oholy@redhat.com>2019-06-04 08:55:12 +0200
commitcf2f9c4020bbdd895485244b70e9442a80062cbe (patch)
tree33b5853cb94ad8af0a0b67257d49f1163c9e9ec3
parent464bbc7e4e7fdfc3cb426557562038408b6108c5 (diff)
downloadgvfs-cf2f9c4020bbdd895485244b70e9442a80062cbe.tar.gz
admin: Allow changing file owner
CAP_CHOWN is dropped together with other privilages and thus the backend can't change file owner. This might be probably e.g. in case of copy operation when G_FILE_COPY_ALL_METADATA is used. Let's keep CAP_CHOWN to fix this.
-rw-r--r--daemon/gvfsbackendadmin.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/daemon/gvfsbackendadmin.c b/daemon/gvfsbackendadmin.c
index c4e4dac2..2d949ae0 100644
--- a/daemon/gvfsbackendadmin.c
+++ b/daemon/gvfsbackendadmin.c
@@ -968,7 +968,8 @@ g_vfs_backend_admin_init (GVfsBackendAdmin *self)
#define REQUIRED_CAPS (CAP_TO_MASK(CAP_FOWNER) | \
CAP_TO_MASK(CAP_DAC_OVERRIDE) | \
- CAP_TO_MASK(CAP_DAC_READ_SEARCH))
+ CAP_TO_MASK(CAP_DAC_READ_SEARCH) | \
+ CAP_TO_MASK(CAP_CHOWN))
static void
acquire_caps (uid_t uid)