访问控制和对象删除

如果具有以下访问权限之一,Active Directory 域服务允许删除对象:

  • 删除对对象本身的访问
  • ADS_RIGHT_DS_DELETE_CHILD父容器上该对象类型的访问

请注意,在拒绝删除之前,系统会验证对象及其父级的安全描述符。 这意味着,如果用户对父级具有DELETE_CHILD访问权限,则显式拒绝对用户的 DELETE 访问的 ACE 将不起作用。 同样,如果对象本身允许 DELETE 访问,则可以重写拒绝父级DELETE_CHILD访问的 ACE。

若要执行树删除操作,例如使用 IADsDeleteOps::D eleteObject 方法,必须具有对对象的ADS_RIGHT_DS_DELETE_TR企业版访问权限。 如果具有此访问权限,则可以删除对象和任何子对象,而不考虑子对象的保护。 若要删除树(如果没有ADS_RIGHT_DS_DELETE_TR企业版访问权限,则必须以递归方式遍历树,逐个删除每个对象。 在这种情况下,必须对树中的每个对象具有必要的 DELETE 或DELETE_CHILD访问权限。

警告

如果用户对某个对象具有ADS_RIGHT_DS_DELETE_TR企业版访问权限,则这使用户可以删除整个子树,包括所有子对象。 因此,可以考虑撤消父容器上所有用户的“删除子树”访问权限。