Class UGIResolver
java.lang.Object
org.apache.hadoop.hdfs.server.namenode.UGIResolver
- Direct Known Subclasses:
FsUGIResolver,SingleUGIResolver
Pluggable class for mapping ownership and permissions from an external
store to an FSImage.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final longstatic final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract voidprotected voidabstract voidprotected voidprotected final longbuildPermissionStatus(String owner, String group, short permission) Permission is serialized as a 64-bit long. [0:24):[25:48):[48:64) (in Big Endian).longgetPermissionsProto(FileStatus remoteStatus, AclStatus remoteAcl) Get the serialized, local permissions for the externalFileStatusorAclStatus.protected Stringprotected voidlongugiMap()protected String
-
Field Details
-
USER_STRID_OFFSET
public static final int USER_STRID_OFFSET- See Also:
-
GROUP_STRID_OFFSET
public static final int GROUP_STRID_OFFSET- See Also:
-
USER_GROUP_STRID_MASK
public static final long USER_GROUP_STRID_MASK- See Also:
-
-
Constructor Details
-
UGIResolver
public UGIResolver()
-
-
Method Details
-
buildPermissionStatus
Permission is serialized as a 64-bit long. [0:24):[25:48):[48:64) (in Big Endian). The first and the second parts are the string ids of the user and group name, and the last 16 bits are the permission bits.- Parameters:
owner- name of ownergroup- name of grouppermission- Permission octects- Returns:
- FSImage encoding of permissions
-
ugiMap
-
addUser
-
addUser
-
addGroup
-
addGroup
-
resetUGInfo
protected void resetUGInfo() -
resolve
-
user
-
group
-
permission
-
getPermissionsProto
Get the serialized, local permissions for the externalFileStatusorAclStatus.remoteAclis used when it is not null, otherwiseremoteStatusis used.- Parameters:
remoteStatus- FileStatus on remote store.remoteAcl- AclStatus on external store.- Returns:
- serialized, local permissions the FileStatus or AclStatus map to.
-