You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by sm...@apache.org on 2014/07/25 20:01:21 UTC
[3/3] git commit: SLIDER-250. Slider AppMaster does not start on
Windows
SLIDER-250. Slider AppMaster does not start on Windows
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/a2521c01
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/a2521c01
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/a2521c01
Branch: refs/heads/develop
Commit: a2521c01195e7d59eb7630681fc2da22b675e908
Parents: ce5dd10
Author: Sumit Mohanty <sm...@hortonworks.com>
Authored: Fri Jul 25 10:36:12 2014 -0700
Committer: Sumit Mohanty <sm...@hortonworks.com>
Committed: Fri Jul 25 10:36:12 2014 -0700
----------------------------------------------------------------------
.../server/services/security/SecurityUtils.java | 22 +++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/a2521c01/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java
----------------------------------------------------------------------
diff --git a/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java b/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java
index 109843a..8ea6119 100644
--- a/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java
+++ b/slider-core/src/main/java/org/apache/slider/server/services/security/SecurityUtils.java
@@ -18,6 +18,7 @@ package org.apache.slider.server.services.security;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.RandomStringUtils;
+import org.apache.commons.lang.SystemUtils;
import org.apache.slider.common.SliderKeys;
import org.apache.slider.core.conf.MapOperations;
import org.slf4j.Logger;
@@ -141,11 +142,17 @@ public class SecurityUtils {
File newCertsDir = new File(dbDir, "newcerts");
newCertsDir.mkdirs();
try {
+ if(SystemUtils.IS_OS_WINDOWS) {
+ setFilePermissionForWindows(Paths.get(secDirFile.toURI()));
+ setFilePermissionForWindows(Paths.get(dbDir.toURI()));
+ setFilePermissionForWindows(Paths.get(newCertsDir.toURI()));
+ } else {
Set<PosixFilePermission> perms =
PosixFilePermissions.fromString("rwx------");
-// Files.setPosixFilePermissions(Paths.get(secDirFile.toURI()), perms);
-// Files.setPosixFilePermissions(Paths.get(dbDir.toURI()), perms);
-// Files.setPosixFilePermissions(Paths.get(newCertsDir.toURI()), perms);
+ Files.setPosixFilePermissions(Paths.get(secDirFile.toURI()), perms);
+ Files.setPosixFilePermissions(Paths.get(dbDir.toURI()), perms);
+ Files.setPosixFilePermissions(Paths.get(newCertsDir.toURI()), perms);
+ }
File indexFile = new File(dbDir, "index.txt");
indexFile.createNewFile();
@@ -160,6 +167,15 @@ public class SecurityUtils {
securityDir = secDirFile.getAbsolutePath();
}
+ private static void setFilePermissionForWindows(Path secDirFilePath) {
+ secDirFilePath.toFile().setReadable(false, false);
+ secDirFilePath.toFile().setExecutable(false, false);
+ secDirFilePath.toFile().setWritable(false, false);
+ secDirFilePath.toFile().setReadable(true, true);
+ secDirFilePath.toFile().setExecutable(true, true);
+ secDirFilePath.toFile().setWritable(true, true);
+ }
+
private static String getKeystorePassword(File secDirFile) {
File passFile = new File(secDirFile, SliderKeys.CRT_PASS_FILE_NAME);
String password = null;