"file [%s] primary group.\n",
fsp_str_dbg(fsp));
- set_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ become_root();
sret = SMB_VFS_SYS_ACL_SET_FD(fsp,
the_acl_type,
the_acl);
- drop_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ unbecome_root();
if (sret == 0) {
ret = true;
}
if (has_take_ownership_priv || has_restore_priv) {
status = NT_STATUS_OK;
- set_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ become_root();
ret = SMB_VFS_FCHOWN(fsp, uid, gid);
if (ret != 0) {
status = map_nt_error_from_unix(errno);
}
- drop_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ unbecome_root();
return status;
}
}
}
status = NT_STATUS_OK;
- set_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ become_root();
/* Keep the current file gid the same. */
ret = SMB_VFS_FCHOWN(fsp, uid, (gid_t)-1);
if (ret != 0) {
status = map_nt_error_from_unix(errno);
}
- drop_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ unbecome_root();
return status;
}
if (acl_perms && file_ace_list) {
if (set_acl_as_root) {
- set_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ become_root();
}
ret = set_canon_ace_list(fsp, file_ace_list, false,
&fsp->fsp_name->st, &acl_set_support);
if (set_acl_as_root) {
- drop_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ unbecome_root();
}
if (acl_set_support && ret == false) {
DEBUG(3,("set_nt_acl: failed to set file acl on file "
if (acl_perms && acl_set_support && fsp->fsp_flags.is_directory) {
if (dir_ace_list) {
if (set_acl_as_root) {
- set_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ become_root();
}
ret = set_canon_ace_list(fsp, dir_ace_list, true,
&fsp->fsp_name->st,
&acl_set_support);
if (set_acl_as_root) {
- drop_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ unbecome_root();
}
if (ret == false) {
DEBUG(3,("set_nt_acl: failed to set default "
*/
if (set_acl_as_root) {
- set_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ become_root();
}
sret = SMB_VFS_SYS_ACL_DELETE_DEF_FD(fsp);
if (set_acl_as_root) {
- drop_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ unbecome_root();
}
if (sret == -1) {
if (acl_group_override_fsp(fsp)) {
"Override delete_def_acl\n",
fsp_str_dbg(fsp)));
- set_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ become_root();
sret =
SMB_VFS_SYS_ACL_DELETE_DEF_FD(fsp);
- drop_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ unbecome_root();
}
if (sret == -1) {
if (acl_set_support) {
if (set_acl_as_root) {
- set_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ become_root();
}
store_inheritance_attributes(fsp,
file_ace_list,
dir_ace_list,
psd->type);
if (set_acl_as_root) {
- drop_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ unbecome_root();
}
}
fsp_str_dbg(fsp), (unsigned int)posix_perms));
if (set_acl_as_root) {
- set_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ become_root();
}
sret = SMB_VFS_FCHMOD(fsp, posix_perms);
if (set_acl_as_root) {
- drop_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ unbecome_root();
}
if(sret == -1) {
if (acl_group_override_fsp(fsp)) {
"Override chmod\n",
fsp_str_dbg(fsp)));
- set_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ become_root();
sret = SMB_VFS_FCHMOD(fsp, posix_perms);
- drop_effective_capability(DAC_OVERRIDE_CAPABILITY);
+ unbecome_root();
}
if (sret == -1) {