diff options
Diffstat (limited to 'source3/locking')
-rw-r--r-- | source3/locking/locking.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/source3/locking/locking.c b/source3/locking/locking.c index e9826ba5bd..6f1bc8cf8a 100644 --- a/source3/locking/locking.c +++ b/source3/locking/locking.c @@ -1441,6 +1441,16 @@ bool set_delete_on_close(files_struct *fsp, bool delete_on_close, const UNIX_USE return False; } + if (fsp->conn->admin_user) { + tok_copy = copy_unix_token(lck, tok); + if (tok_copy == NULL) { + TALLOC_FREE(lck); + return false; + } + tok_copy->uid = (uid_t)0; + tok = tok_copy; + } + set_delete_on_close_lck(lck, delete_on_close, tok); if (fsp->is_directory) { |