Skip to content

Commit 85108b8

Browse files
committed
HADOOP-19031. Enhance access control for RunJar.
1 parent 99a59ae commit 85108b8

File tree

1 file changed

+10
-0
lines changed
  • hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util

1 file changed

+10
-0
lines changed

hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/RunJar.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,13 @@
2828
import java.net.URL;
2929
import java.net.URLClassLoader;
3030
import java.nio.file.Files;
31+
import java.nio.file.attribute.PosixFilePermission;
3132
import java.util.ArrayList;
3233
import java.util.Arrays;
3334
import java.util.Enumeration;
35+
import java.util.HashSet;
3436
import java.util.List;
37+
import java.util.Set;
3538
import java.util.jar.JarEntry;
3639
import java.util.jar.JarFile;
3740
import java.util.jar.JarInputStream;
@@ -303,6 +306,13 @@ public void run(String[] args) throws Throwable {
303306
}
304307
ensureDirectory(workDir);
305308

309+
// Make sure that the workDir is only accessible by the current user.
310+
Set<PosixFilePermission> perms = new HashSet<>();
311+
perms.add(PosixFilePermission.OWNER_READ);
312+
perms.add(PosixFilePermission.OWNER_WRITE);
313+
perms.add(PosixFilePermission.OWNER_EXECUTE);
314+
Files.setPosixFilePermissions(workDir.toPath(), perms);
315+
306316
ShutdownHookManager.get().addShutdownHook(
307317
new Runnable() {
308318
@Override

0 commit comments

Comments
 (0)