gpt4 book ai didi

Java - 无法创建具有 777 权限的目录(取而代之的是 775)

转载 作者:搜寻专家 更新时间:2023-10-30 23:02:00 24 4
gpt4 key购买 nike

<分区>

我正在尝试创建具有公共(public)写入权限的目录。为了简化事情,我希望它具有 777 权限。这是我的代码:

private static FileAttribute<Set<PosixFilePermission>> DIR_PERMISSIONS;
static {
Set<PosixFilePermission> perms = new HashSet<>();
perms.add(PosixFilePermission.OWNER_WRITE);
perms.add(PosixFilePermission.OWNER_READ);
perms.add(PosixFilePermission.OWNER_EXECUTE);
perms.add(PosixFilePermission.GROUP_WRITE);
perms.add(PosixFilePermission.GROUP_READ);
perms.add(PosixFilePermission.GROUP_EXECUTE);
perms.add(PosixFilePermission.OTHERS_WRITE);
perms.add(PosixFilePermission.OTHERS_READ);
perms.add(PosixFilePermission.OTHERS_EXECUTE);
DIR_PERMISSIONS = PosixFilePermissions.asFileAttribute(perms);
}

private Path ensurePath(LocalDate localDate) throws IOException {
String year = String.valueOf(localDate.getYear());
String month = String.format("%02d", localDate.getMonthValue());
Path path = Paths.get(rootDirectory, year, month);
return Files.createDirectories(path, DIR_PERMISSIONS);
}

使用 rootDirectory=/tmp/data 这应该创建类似 /tmp/data/2016/01 的文件夹,每个文件夹都具有 777 权限。相反,文件夹具有 775 权限 (drwxrwxr-x.),因此它们缺少公共(public)写入。为什么它以这种方式工作?也许 JVM 需要特殊的参数才能设置这样的权限?我的系统是Fedora 24,app是标准的Spring Boot应用,通过maven插件启动。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com