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:59:12 +0200
commit0f25dea30d01d920443ab72b0c254560ec40e14c (patch)
tree54285e49f4bc837434bb1da0b5dfd9f0c6bb59da
parenta1c2e7ecab0d6457fa2227d92e3569c08516eac5 (diff)
downloadgvfs-0f25dea30d01d920443ab72b0c254560ec40e14c.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)