public class FSPermissionChecker extends Object implements INodeAttributeProvider.AccessControlEnforcer
FSNamesystem.readLock().| Modifier | Constructor and Description |
|---|---|
protected |
FSPermissionChecker(String fsOwner,
String supergroup,
org.apache.hadoop.security.UserGroupInformation callerUgi,
INodeAttributeProvider attributeProvider) |
| Modifier and Type | Method and Description |
|---|---|
void |
checkPermission(org.apache.hadoop.hdfs.server.namenode.CachePool pool,
org.apache.hadoop.fs.permission.FsAction access)
Whether a cache pool can be accessed by the current context
|
void |
checkPermission(String fsOwner,
String supergroup,
org.apache.hadoop.security.UserGroupInformation callerUgi,
org.apache.hadoop.hdfs.server.namenode.INodeAttributes[] inodeAttrs,
org.apache.hadoop.hdfs.server.namenode.INode[] inodes,
byte[][] components,
int snapshotId,
String path,
int ancestorIndex,
boolean doCheckOwner,
org.apache.hadoop.fs.permission.FsAction ancestorAccess,
org.apache.hadoop.fs.permission.FsAction parentAccess,
org.apache.hadoop.fs.permission.FsAction access,
org.apache.hadoop.fs.permission.FsAction subAccess,
boolean ignoreEmptyDir)
Checks permission on a file system object.
|
void |
checkSuperuserPrivilege()
Verify if the caller has the required permission.
|
INodeAttributeProvider |
getAttributesProvider() |
String |
getUser() |
boolean |
isMemberOfGroup(String group) |
boolean |
isSuperUser() |
protected FSPermissionChecker(String fsOwner, String supergroup, org.apache.hadoop.security.UserGroupInformation callerUgi, INodeAttributeProvider attributeProvider)
public boolean isMemberOfGroup(String group)
public String getUser()
public boolean isSuperUser()
public INodeAttributeProvider getAttributesProvider()
public void checkSuperuserPrivilege()
throws org.apache.hadoop.security.AccessControlException
org.apache.hadoop.security.AccessControlExceptionpublic void checkPermission(String fsOwner, String supergroup, org.apache.hadoop.security.UserGroupInformation callerUgi, org.apache.hadoop.hdfs.server.namenode.INodeAttributes[] inodeAttrs, org.apache.hadoop.hdfs.server.namenode.INode[] inodes, byte[][] components, int snapshotId, String path, int ancestorIndex, boolean doCheckOwner, org.apache.hadoop.fs.permission.FsAction ancestorAccess, org.apache.hadoop.fs.permission.FsAction parentAccess, org.apache.hadoop.fs.permission.FsAction access, org.apache.hadoop.fs.permission.FsAction subAccess, boolean ignoreEmptyDir) throws org.apache.hadoop.security.AccessControlException
INodeAttributeProvider.AccessControlEnforcercheckPermission in interface INodeAttributeProvider.AccessControlEnforcerfsOwner - Filesystem owner (The Namenode user)supergroup - super user geoupcallerUgi - UserGroupInformation of the callerinodeAttrs - Array of INode attributes for each path element in the
the pathinodes - Array of INodes for each path element in the pathcomponents - Array of byte arrays of the LocalNamesnapshotId - the snapshotId of the requested pathpath - Path StringancestorIndex - Index of ancestordoCheckOwner - perform ownership checkancestorAccess - The access required by the ancestor of the path.parentAccess - The access required by the parent of the path.access - The access required by the path.subAccess - If path is a directory, It is the access required of
the path and all the sub-directories. If path is not a
directory, there should ideally be no effect.ignoreEmptyDir - Ignore permission checking for empty directory?org.apache.hadoop.security.AccessControlExceptionpublic void checkPermission(org.apache.hadoop.hdfs.server.namenode.CachePool pool,
org.apache.hadoop.fs.permission.FsAction access)
throws org.apache.hadoop.security.AccessControlException
pool - CachePool being accessedaccess - type of action being performed on the cache poolorg.apache.hadoop.security.AccessControlException - if pool cannot be accessedCopyright © 2022 Apache Software Foundation. All rights reserved.