如何从java中设置掩码?
2022-09-04 21:01:04
我是Java的新手。掩码在api中的什么地方暴露?
你不能直接摆弄umask,因为Java是一个抽象的,而umask是POSIX实现特定的。但是您有以下 API:
File f;
f.setExecutable(true);
f.setReadable(false);
f.setWritable(true);
还有更多可用的API,请查看文档。
如果您必须直接访问掩码,请通过 JNI 和 syscall 执行此操作,或者使用 生成一个新进程。chmod()
exec("chmod")
import java.nio.file.Files
import java.nio.file.attribute.PosixFilePermission
File file = new File("/some/path")
Files.setPosixFilePermissions(file.toPath(), [
PosixFilePermission.OWNER_READ,
PosixFilePermission.OWNER_WRITE
].toSet())