Java - File Owner 이름 확인

By JS | Last updated: October 10, 2021

Java에서 파일의 owner가 누구인지 확인하는 방법을 소개합니다.

1. File Owner ?

파일의 소유자를 File Owner라고 합니다.

Linux의 경우, ls 명령어로 파일의 owner가 누구인지 확인할 수 있습니다. 아래 결과를 보시면, 이 파일의 Owner 이름은 mjs이고, Group 이름은 mjs입니다.

$ ls -al sample.txt
-rwxrwxrwx 1 mjs mjs 0 10월 10 12:06 sample.txt

Owner, Group라는 개념이 있고, 이것에 해당하지 않는 것을 Others라고 합니다. 시스템은 Owner, Group, Others에 각각 다른 파일 접근 권한을 부여할 수 있습니다.

2. Java에서 File Owner 확인

Java에서 Files.getOwner()로 파일의 Owner 정보를 확인할 수 있습니다. 인자로 파일에 대한 Path 객체를 전달해야 합니다.

다음은 어떤 파일의 Owner를 확인하는 예제입니다. 먼저 파일에 대한 Path 객체를 가져오고, 그것을 getOwner()에 전달하여 UserPrincipal 객체를 가져옵니다. UserPrincipal는 파일 owner에 대한 정보를 갖고 있습니다.

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.attribute.UserPrincipal;

public class FileOwnership {

    public static void main(String[] args) throws IOException {

        Path path = Paths.get("/var/tmp/sample.txt");

        UserPrincipal owner = Files.getOwner(path);

        System.out.println("Owner: " + owner.getName());
    }
}

Output:

Owner: mjs

Shell에서 실제 파일의 owner를 확인해보면, 위의 정보와 일치하는 것을 확인할 수 있습니다.

$ ls -al sample.txt
-rwxrwxrwx 1 mjs mjs 0 10월 10 12:06 sample.txt

References

댓글을 보거나 쓰려면 이 버튼을 눌러주세요.
codechachaCopyright ©2019 codechacha