diff --git a/pom.xml b/pom.xml
index bf88a2e..f28f523 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
com.bwssystems.HABridge
ha-bridge
- 3.0.0a
+ 3.1.0
jar
HA Bridge
diff --git a/src/main/java/com/bwssystems/HABridge/BridgeSettings.java b/src/main/java/com/bwssystems/HABridge/BridgeSettings.java
index 633ed9d..1aca392 100644
--- a/src/main/java/com/bwssystems/HABridge/BridgeSettings.java
+++ b/src/main/java/com/bwssystems/HABridge/BridgeSettings.java
@@ -13,11 +13,14 @@ import java.nio.file.attribute.AclEntry;
import java.nio.file.attribute.AclEntryPermission;
import java.nio.file.attribute.AclEntryType;
import java.nio.file.attribute.AclFileAttributeView;
+import java.nio.file.attribute.PosixFilePermission;
import java.nio.file.attribute.UserPrincipal;
import java.nio.file.attribute.UserPrincipalLookupService;
import java.util.Collections;
import java.util.EnumSet;
import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Set;
import org.apache.http.conn.util.InetAddressUtils;
import org.slf4j.Logger;
@@ -230,17 +233,17 @@ public class BridgeSettings extends BackupHandler {
Files.write(filePath, content.getBytes(), StandardOpenOption.CREATE);
// set attributes to be for user only
- UserPrincipalLookupService upls = filePath.getFileSystem().getUserPrincipalLookupService();
- UserPrincipal user = upls.lookupPrincipalByName(System.getProperty("user.name"));
- AclEntry.Builder builder = AclEntry.newBuilder();
- builder.setPermissions( EnumSet.of(AclEntryPermission.READ_DATA, AclEntryPermission.EXECUTE,
- AclEntryPermission.READ_ACL, AclEntryPermission.READ_ATTRIBUTES, AclEntryPermission.READ_NAMED_ATTRS,
- AclEntryPermission.WRITE_ACL, AclEntryPermission.DELETE
- ));
- builder.setPrincipal(user);
- builder.setType(AclEntryType.ALLOW);
- AclFileAttributeView aclAttr = Files.getFileAttributeView(filePath, AclFileAttributeView.class);
- aclAttr.setAcl(Collections.singletonList(builder.build()));
+ // using PosixFilePermission to set file permissions
+ Set perms = new HashSet();
+ // add owners permission
+ perms.add(PosixFilePermission.OWNER_READ);
+ perms.add(PosixFilePermission.OWNER_WRITE);
+
+ try {
+ Files.setPosixFilePermissions(filePath, perms);
+ } catch(UnsupportedOperationException e) {
+ log.info("Cannot set permissions for config file on this system as it is not supported. Continuing");
+ }
if(target != null)
Files.delete(target);
} catch (IOException e) {