apache/hadoop · error · AccessControlException

Permission denied: user={}, access={}, inode="{}":{}:{}:{}{}

Error message

Permission denied: user={}, access={}, inode="{}":{}:{}:{}{}

What it means

Error "Permission denied: user={}, access={}, inode="{}":{}:{}:{}{}" thrown in apache/hadoop.

Source

Thrown at hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSPermissionChecker.java:472

            .callerContext(CallerContext.getCurrent());

        accessControlEnforcer.checkPermissionWithContext(builder.build());
      } else {
        accessControlEnforcer.checkPermission(
            fsOwner, supergroup, callerUgi,
            iNodeAttr, // single inode attr in the array
            new INode[]{inode}, // single inode in the array
            pathComponents, snapshotId,
            null, -1, // this will skip checkTraverse() because
            // not checking ancestor here
            false, null, null,
            access, // the target access to be checked against the inode
            null, // passing null sub access avoids checking children
            false);
      }
    } catch (AccessControlException ace) {
      LOG.debug("Error while checking permission: ", ace);
      throw new AccessControlException(
          toAccessControlString(nodeAttributes, inode.getFullPathName(),
              access));
    }
  }

  @Override
  public void checkPermission(String fsOwner, String supergroup,
      UserGroupInformation callerUgi, INodeAttributes[] inodeAttrs,
      INode[] inodes, byte[][] components, int snapshotId, String path,
      int ancestorIndex, boolean doCheckOwner, FsAction ancestorAccess,
      FsAction parentAccess, FsAction access, FsAction subAccess,
      boolean ignoreEmptyDir)
      throws AccessControlException {
    for(; ancestorIndex >= 0 && inodes[ancestorIndex] == null;
        ancestorIndex--);

    try {
      checkTraverse(inodeAttrs, inodes, components, ancestorIndex);

View on GitHub (pinned to 2add963021)

Solutions

  1. Grant the user the required permission (chmod/chown or ACLs) or run as a user with sufficient privileges on the inode.

When it happens

Trigger: A user attempts to read, write, or execute a file or directory without the required POSIX/ACL permission.

Common situations: Accessing another user's files or a directory without execute/search permission on a parent.


AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22). Data as JSON: /api/errors/140ae06b5a6c2491. Report an issue: GitHub.