diff --git a/src/main/java/tv/mangrana/worker/FileCopier.java b/src/main/java/tv/mangrana/worker/FileCopier.java index 674eef9..60e0038 100644 --- a/src/main/java/tv/mangrana/worker/FileCopier.java +++ b/src/main/java/tv/mangrana/worker/FileCopier.java @@ -5,10 +5,15 @@ import tv.mangrana.config.ConfigLoader; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; +import java.nio.file.attribute.FileAttribute; +import java.nio.file.attribute.PosixFilePermissions; import static tv.mangrana.config.ConfigLoader.ProjectConfiguration.UPLOADS_PATHS; class FileCopier { + + public static final String UNIX_ALL_PERMISSIONS = "rwxrwxrwx"; + void hardLink(Path source, Path destination) { try { createDestinationFolderIfApply(destination); @@ -27,7 +32,7 @@ class FileCopier { if (isTemporaryDestination(destinationFolder) && !Files.exists(destinationFolder)) { System.out.printf("** destination folder %s will be created%n", destinationFolder); if (!ConfigLoader.isTestMode()) - Files.createDirectories(destinationFolder); + Files.createDirectories(destinationFolder, getAllPermissionsAttribute()); } } @@ -38,4 +43,9 @@ class FileCopier { return destination.toString() .contains(temporaryFolderName); } + + private FileAttribute getAllPermissionsAttribute() { + var allPermitted = PosixFilePermissions.fromString(UNIX_ALL_PERMISSIONS); + return PosixFilePermissions.asFileAttribute(allPermitted); + } }