有人可以解釋我,爲什麼沒有爲Ubuntu 13.04和Java 1.7(OpenJDK 64位)上的以下代碼片段設置其他人的寫權限。所有其他權限都設置正確,除了爲其他人寫文章外,我認爲這是可疑的。爲什麼在Java 7中文件寫入權限設置不正確?
public void testCreateFileWithPermissions() throws IOException {
Path target = Paths.get(TEST_FILE);
cadf.createFileWithPermissions(target, "rwxrwxrwx");
Set<PosixFilePermission> perms = Files.getPosixFilePermissions(target);
for (PosixFilePermission perm : perms) {
System.out.println(perm.toString());
}
}
public void createFileWithPermissions(Path target, String permissions)
throws IOException {
Set<PosixFilePermission> perms = PosixFilePermissions
.fromString(permissions);
FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions
.asFileAttribute(perms);
Files.createFile(target, attr);
}
我得到了以下的輸出:
OWNER_WRITE
OTHERS_EXECUTE
GROUP_READ
OWNER_READ
GROUP_EXECUTE
GROUP_WRITE
OWNER_EXECUTE
OTHERS_READ
這可能是umask的?......什麼的umask你在你的環境中有。 –
謝謝!你說得對,我的umask是'0002'。我不知道「umask」和它的功能。 – Quirin