org.apache.hadoop.fs.permission.FsPermission#getOtherAction ( )源码实例Demo

下面列出了org.apache.hadoop.fs.permission.FsPermission#getOtherAction ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Before
public void setUp() throws IOException, InterruptedException {
  rmr(TMPDIR);
  LocalFileSystem localFS = FileSystem.getLocal(new Configuration());
  File testDirectory = new File(TMPDIR, "HdfsTraceStorageTest").getAbsoluteFile();
  testDirectory.mkdirs();

  Path directory = new Path(testDirectory.getPath());
  FsPermission dirPermissions = localFS.getFileStatus(directory).getPermission();
  FsAction userAction = dirPermissions.getUserAction();
  FsAction groupAction = dirPermissions.getGroupAction();
  FsAction otherAction = dirPermissions.getOtherAction();

  StringBuilder builder = new StringBuilder();
  builder.append(userAction.ordinal());
  builder.append(groupAction.ordinal());
  builder.append(otherAction.ordinal());
  String dirPermissionNum = builder.toString();
  System.setProperty("dfs.datanode.data.dir.perm", dirPermissionNum);

  configuration = new BlurConfiguration();
  configuration.set(BLUR_HDFS_TRACE_PATH, directory.makeQualified(localFS).toString());
  _storage = new HdfsTraceStorage(configuration);
  _storage.init(new Configuration());
}
 
源代码2 项目: hadoop   文件: FsDatasetImpl.java
@Override
public void setPinning(ExtendedBlock block) throws IOException {
  if (!blockPinningEnabled) {
    return;
  }

  File f = getBlockFile(block);
  Path p = new Path(f.getAbsolutePath());
  
  FsPermission oldPermission = localFS.getFileStatus(
      new Path(f.getAbsolutePath())).getPermission();
  //sticky bit is used for pinning purpose
  FsPermission permission = new FsPermission(oldPermission.getUserAction(),
      oldPermission.getGroupAction(), oldPermission.getOtherAction(), true);
  localFS.setPermission(p, permission);
}
 
源代码3 项目: incubator-retired-blur   文件: BlurSerDeTest.java
@BeforeClass
public static void startCluster() throws IOException {
  System.setProperty("hadoop.log.dir", "./target/tmp_BlurSerDeTest_hadoop_log");
  GCWatcher.init(0.60);
  LocalFileSystem localFS = FileSystem.getLocal(new Configuration());
  File testDirectory = new File(TMPDIR, "blur-SerDe-test").getAbsoluteFile();
  testDirectory.mkdirs();

  Path directory = new Path(testDirectory.getPath());
  FsPermission dirPermissions = localFS.getFileStatus(directory).getPermission();
  FsAction userAction = dirPermissions.getUserAction();
  FsAction groupAction = dirPermissions.getGroupAction();
  FsAction otherAction = dirPermissions.getOtherAction();

  StringBuilder builder = new StringBuilder();
  builder.append(userAction.ordinal());
  builder.append(groupAction.ordinal());
  builder.append(otherAction.ordinal());
  String dirPermissionNum = builder.toString();
  System.setProperty("dfs.datanode.data.dir.perm", dirPermissionNum);
  testDirectory.delete();
  miniCluster = new MiniCluster();
  miniCluster.startBlurCluster(new File(testDirectory, "cluster").getAbsolutePath(), 2, 3, true, externalProcesses);
  miniCluster.startMrMiniCluster();
}
 
源代码4 项目: big-c   文件: FSDownload.java
private static boolean checkPublicPermsForAll(FileSystem fs, 
      FileStatus status, FsAction dir, FsAction file) 
  throws IOException {
  FsPermission perms = status.getPermission();
  FsAction otherAction = perms.getOtherAction();
  if (status.isDirectory()) {
    if (!otherAction.implies(dir)) {
      return false;
    }
    
    for (FileStatus child : fs.listStatus(status.getPath())) {
      if(!checkPublicPermsForAll(fs, child, dir, file)) {
        return false;
      }
    }
    return true;
  }
  return (otherAction.implies(file));
}
 
源代码5 项目: big-c   文件: FsDatasetImpl.java
@Override
public void setPinning(ExtendedBlock block) throws IOException {
  if (!blockPinningEnabled) {
    return;
  }

  File f = getBlockFile(block);
  Path p = new Path(f.getAbsolutePath());
  
  FsPermission oldPermission = localFS.getFileStatus(
      new Path(f.getAbsolutePath())).getPermission();
  //sticky bit is used for pinning purpose
  FsPermission permission = new FsPermission(oldPermission.getUserAction(),
      oldPermission.getGroupAction(), oldPermission.getOtherAction(), true);
  localFS.setPermission(p, permission);
}
 
@BeforeClass
public static void startCluster() throws IOException {
  GCWatcher.init(0.60);
  LocalFileSystem localFS = FileSystem.getLocal(new Configuration());
  File testDirectory = new File(TMPDIR, "blur-cluster-test").getAbsoluteFile();
  testDirectory.mkdirs();

  Path directory = new Path(testDirectory.getPath());
  FsPermission dirPermissions = localFS.getFileStatus(directory).getPermission();
  FsAction userAction = dirPermissions.getUserAction();
  FsAction groupAction = dirPermissions.getGroupAction();
  FsAction otherAction = dirPermissions.getOtherAction();

  StringBuilder builder = new StringBuilder();
  builder.append(userAction.ordinal());
  builder.append(groupAction.ordinal());
  builder.append(otherAction.ordinal());
  String dirPermissionNum = builder.toString();
  System.setProperty("dfs.datanode.data.dir.perm", dirPermissionNum);
  testDirectory.delete();
  miniCluster = new MiniCluster();
  miniCluster.startBlurCluster(new File(testDirectory, "cluster").getAbsolutePath(), 2, 3, true);
  connectionStr = miniCluster.getControllerConnectionStr();

}
 
源代码7 项目: nifi   文件: GetHDFSFileInfo.java
protected String getPerms(final FsPermission permission) {

        final StringBuilder sb = new StringBuilder();
        for (FsAction action : new FsAction[]{permission.getUserAction(), permission.getGroupAction(), permission.getOtherAction()}) {
            if (action.implies(FsAction.READ)) {
                sb.append("r");
            } else {
                sb.append("-");
            }

            if (action.implies(FsAction.WRITE)) {
                sb.append("w");
            } else {
                sb.append("-");
            }

            if (action.implies(FsAction.EXECUTE)) {
                sb.append("x");
            } else {
                sb.append("-");
            }
        }

        return sb.toString();
    }
 
源代码8 项目: hadoop   文件: ClientDistributedCacheManager.java
/**
 * Checks for a given path whether the Other permissions on it 
 * imply the permission in the passed FsAction
 * @param fs
 * @param path
 * @param action
 * @return true if the path in the uri is visible to all, false otherwise
 * @throws IOException
 */
private static boolean checkPermissionOfOther(FileSystem fs, Path path,
    FsAction action, Map<URI, FileStatus> statCache) throws IOException {
  FileStatus status = getFileStatus(fs, path.toUri(), statCache);
  FsPermission perms = status.getPermission();
  FsAction otherAction = perms.getOtherAction();
  if (otherAction.implies(action)) {
    return true;
  }
  return false;
}
 
源代码9 项目: hadoop   文件: FSDirMkdirOp.java
private static PermissionStatus addImplicitUwx(PermissionStatus parentPerm,
    PermissionStatus perm) {
  FsPermission p = parentPerm.getPermission();
  FsPermission ancestorPerm = new FsPermission(
      p.getUserAction().or(FsAction.WRITE_EXECUTE),
      p.getGroupAction(),
      p.getOtherAction());
  return new PermissionStatus(perm.getUserName(), perm.getGroupName(),
      ancestorPerm);
}
 
源代码10 项目: hadoop   文件: FileUtil.java
/**
 * Set permissions to the required value. Uses the java primitives instead
 * of forking if group == other.
 * @param f the file to change
 * @param permission the new permissions
 * @throws IOException
 */
public static void setPermission(File f, FsPermission permission
                                 ) throws IOException {
  FsAction user = permission.getUserAction();
  FsAction group = permission.getGroupAction();
  FsAction other = permission.getOtherAction();

  // use the native/fork if the group/other permissions are different
  // or if the native is available or on Windows
  if (group != other || NativeIO.isAvailable() || Shell.WINDOWS) {
    execSetPermission(f, permission);
    return;
  }
  
  boolean rv = true;
  
  // read perms
  rv = f.setReadable(group.implies(FsAction.READ), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.READ) != user.implies(FsAction.READ)) {
    rv = f.setReadable(user.implies(FsAction.READ), true);
    checkReturnValue(rv, f, permission);
  }

  // write perms
  rv = f.setWritable(group.implies(FsAction.WRITE), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.WRITE) != user.implies(FsAction.WRITE)) {
    rv = f.setWritable(user.implies(FsAction.WRITE), true);
    checkReturnValue(rv, f, permission);
  }

  // exec perms
  rv = f.setExecutable(group.implies(FsAction.EXECUTE), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.EXECUTE) != user.implies(FsAction.EXECUTE)) {
    rv = f.setExecutable(user.implies(FsAction.EXECUTE), true);
    checkReturnValue(rv, f, permission);
  }
}
 
@BeforeClass
public static void setupTest() throws Exception {
  GCWatcher.init(0.60);
  JavaHome.checkJavaHome();
  LocalFileSystem localFS = FileSystem.getLocal(new Configuration());
  File testDirectory = new File(TMPDIR, "blur-cluster-test").getAbsoluteFile();
  testDirectory.mkdirs();

  Path directory = new Path(testDirectory.getPath());
  FsPermission dirPermissions = localFS.getFileStatus(directory).getPermission();
  FsAction userAction = dirPermissions.getUserAction();
  FsAction groupAction = dirPermissions.getGroupAction();
  FsAction otherAction = dirPermissions.getOtherAction();

  StringBuilder builder = new StringBuilder();
  builder.append(userAction.ordinal());
  builder.append(groupAction.ordinal());
  builder.append(otherAction.ordinal());
  String dirPermissionNum = builder.toString();
  System.setProperty("dfs.datanode.data.dir.perm", dirPermissionNum);
  testDirectory.delete();
  miniCluster = new MiniCluster();
  miniCluster.startBlurCluster(new File(testDirectory, "cluster").getAbsolutePath(), 2, 3, true, false);

  TEST_ROOT_DIR = new Path(miniCluster.getFileSystemUri().toString() + "/blur_test");
  System.setProperty("hadoop.log.dir", "./target/BlurOutputFormatTest/hadoop_log");
  try {
    fileSystem = TEST_ROOT_DIR.getFileSystem(conf);
  } catch (IOException io) {
    throw new RuntimeException("problem getting local fs", io);
  }

  FileSystem.setDefaultUri(conf, miniCluster.getFileSystemUri());

  miniCluster.startMrMiniCluster();
  conf = miniCluster.getMRConfiguration();

  BufferStore.initNewBuffer(128, 128 * 128);
}
 
源代码12 项目: big-c   文件: FSDirMkdirOp.java
private static PermissionStatus addImplicitUwx(PermissionStatus parentPerm,
    PermissionStatus perm) {
  FsPermission p = parentPerm.getPermission();
  FsPermission ancestorPerm = new FsPermission(
      p.getUserAction().or(FsAction.WRITE_EXECUTE),
      p.getGroupAction(),
      p.getOtherAction());
  return new PermissionStatus(perm.getUserName(), perm.getGroupName(),
      ancestorPerm);
}
 
源代码13 项目: lucene-solr   文件: FileUtil.java
/**
 * Set permissions to the required value. Uses the java primitives instead
 * of forking if group == other.
 * @param f the file to change
 * @param permission the new permissions
 * @throws IOException exception on setPermission
 */
public static void setPermission(File f, FsPermission permission
) throws IOException {
  FsAction user = permission.getUserAction();
  FsAction group = permission.getGroupAction();
  FsAction other = permission.getOtherAction();

  // use the native/fork if the group/other permissions are different
  // or if the native is available or on Windows
  if (group != other || NativeIO.isAvailable() || Shell.WINDOWS) {
    execSetPermission(f, permission);
    return;
  }

  boolean rv = true;

  // read perms
  rv = f.setReadable(group.implies(FsAction.READ), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.READ) != user.implies(FsAction.READ)) {
    rv = f.setReadable(user.implies(FsAction.READ), true);
    checkReturnValue(rv, f, permission);
  }

  // write perms
  rv = f.setWritable(group.implies(FsAction.WRITE), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.WRITE) != user.implies(FsAction.WRITE)) {
    rv = f.setWritable(user.implies(FsAction.WRITE), true);
    checkReturnValue(rv, f, permission);
  }

  // exec perms
  rv = f.setExecutable(group.implies(FsAction.EXECUTE), false);
  checkReturnValue(rv, f, permission);
  if (group.implies(FsAction.EXECUTE) != user.implies(FsAction.EXECUTE)) {
    rv = f.setExecutable(user.implies(FsAction.EXECUTE), true);
    checkReturnValue(rv, f, permission);
  }
}
 
源代码14 项目: jsr203-hadoop   文件: HadoopPosixFileAttributes.java
public HadoopPosixFileAttributes(HadoopFileSystem hdfs, Object fileKey,
    FileStatus fileStatus) throws IOException {
  super(fileKey, fileStatus);
  this.owner = hdfs.getUserPrincipalLookupService()
      .lookupPrincipalByGroupName(fileStatus.getOwner());
  this.group = hdfs.getUserPrincipalLookupService()
      .lookupPrincipalByGroupName(fileStatus.getGroup());
  FsPermission fsPermission = getFileStatus().getPermission();
  String perms = fsPermission.getUserAction().SYMBOL
      + fsPermission.getGroupAction().SYMBOL
      + fsPermission.getOtherAction().SYMBOL;
  this.permissions = PosixFilePermissions.fromString(perms);
}
 
源代码15 项目: incubator-retired-blur   文件: RunMiniCluster.java
public static void main(String[] args) throws IOException {
  // GCWatcher.init(0.60);
  LocalFileSystem localFS = FileSystem.getLocal(new Configuration());
  File testDirectory = new File(TMPDIR, "blur-cluster-test").getAbsoluteFile();
  testDirectory.mkdirs();

  Path directory = new Path(testDirectory.getPath());
  FsPermission dirPermissions = localFS.getFileStatus(directory).getPermission();
  FsAction userAction = dirPermissions.getUserAction();
  FsAction groupAction = dirPermissions.getGroupAction();
  FsAction otherAction = dirPermissions.getOtherAction();

  StringBuilder builder = new StringBuilder();
  builder.append(userAction.ordinal());
  builder.append(groupAction.ordinal());
  builder.append(otherAction.ordinal());
  String dirPermissionNum = builder.toString();
  System.setProperty("dfs.datanode.data.dir.perm", dirPermissionNum);
  testDirectory.delete();
  MiniCluster miniCluster = new MiniCluster();
  miniCluster.startBlurCluster(new File(testDirectory, "cluster").getAbsolutePath(), 2, 3, true, false);

  System.out.println("ZK Connection String = [" + miniCluster.getZkConnectionString() + "]");
  System.out.println("Controller Connection String = [" + miniCluster.getControllerConnectionStr() + "]");
  System.out.println("HDFS URI = [" + miniCluster.getFileSystemUri() + "]");

}
 
源代码16 项目: hadoop   文件: NativeAzureFileSystemBaseTest.java
private static FsPermission ignoreStickyBit(FsPermission original) {
  return new FsPermission(original.getUserAction(),
      original.getGroupAction(), original.getOtherAction());
}
 
源代码17 项目: big-c   文件: NativeAzureFileSystemBaseTest.java
private static FsPermission ignoreStickyBit(FsPermission original) {
  return new FsPermission(original.getUserAction(),
      original.getGroupAction(), original.getOtherAction());
}
 
static FsPermission addExecutePermissionToOwner(FsPermission fsPermission) {
  FsAction newOwnerAction = fsPermission.getUserAction().or(FsAction.EXECUTE);
  return new FsPermission(newOwnerAction, fsPermission.getGroupAction(), fsPermission.getOtherAction());
}
 
源代码19 项目: hadoop   文件: FSDownload.java
/**
 * Checks for a given path whether the Other permissions on it 
 * imply the permission in the passed FsAction
 * @param fs
 * @param path
 * @param action
 * @return true if the path in the uri is visible to all, false otherwise
 * @throws IOException
 */
private static boolean checkPermissionOfOther(FileSystem fs, Path path,
    FsAction action, LoadingCache<Path,Future<FileStatus>> statCache)
    throws IOException {
  FileStatus status = getFileStatus(fs, path, statCache);
  FsPermission perms = status.getPermission();
  FsAction otherAction = perms.getOtherAction();
  return otherAction.implies(action);
}
 
源代码20 项目: big-c   文件: FSDownload.java
/**
 * Checks for a given path whether the Other permissions on it 
 * imply the permission in the passed FsAction
 * @param fs
 * @param path
 * @param action
 * @return true if the path in the uri is visible to all, false otherwise
 * @throws IOException
 */
private static boolean checkPermissionOfOther(FileSystem fs, Path path,
    FsAction action, LoadingCache<Path,Future<FileStatus>> statCache)
    throws IOException {
  FileStatus status = getFileStatus(fs, path, statCache);
  FsPermission perms = status.getPermission();
  FsAction otherAction = perms.getOtherAction();
  return otherAction.implies(action);
}