파일 디스크립터 id로 파일 권한 가져오기
글쓴이: ljh30633 / 작성시간: 목, 2014/08/21 - 5:10오후
c함수에 보면 path를 이용해서 chmod로 파일 permission 세팅하고
fchmod로 파일 디스크립터를 사용해서 permission세팅 하는 걸로 알고 있습니다.
해당 파일 path나 파일 디스크립터를 읽어 와서 현재 세팅 되어 있는 파일 퍼미션을 가져 올 수 있는 방법이 있나요?
chmod("a.txt", 0644); 이렇게 0644로 세팅 하는것처럼
머 예를 들면 getchmod라는 함수가 있을 때, int mode = getchmod("a.txt")를 실행 하면
mode값이 0644로 리턴되어 가져 올수 있다던지 제공하는 함수 또는
가져올수 있는 방법이 있나요?;;
구글링 실력이 부족해서 그런지 딱 이거다 하는게 안나오네요..
도움좀 부탁드립니다.
Forums:
stat, lstat, fstat 참고하세요.
위 함수들을 이용하면 stat 구조체를 통하여 파일과 관련된 정보를 얻을 수 있는데, 여기서 st_mode 변수를 참고하시면 됩니다. man 페이지 살펴보시면 아래 설명을 찾으실 수 있을겁니다.
The following flags are defined for the st_mode field:
S_IFMT 0170000 bit mask for the file type bit fields
S_IFSOCK 0140000 socket
S_IFLNK 0120000 symbolic link
S_IFREG 0100000 regular file
S_IFBLK 0060000 block device
S_IFDIR 0040000 directory
S_IFCHR 0020000 character device
S_IFIFO 0010000 FIFO
S_ISUID 0004000 set-user-ID bit
S_ISGID 0002000 set-group-ID bit (see below)
S_ISVTX 0001000 sticky bit (see below)
S_IRWXU 00700 mask for file owner permissions
S_IRUSR 00400 owner has read permission
S_IWUSR 00200 owner has write permission
S_IXUSR 00100 owner has execute permission
S_IRWXG 00070 mask for group permissions
S_IRGRP 00040 group has read permission
S_IWGRP 00020 group has write permission
S_IXGRP 00010 group has execute permission
S_IRWXO 00007 mask for permissions for others (not in group)
S_IROTH 00004 others have read permission
S_IWOTH 00002 others have write permission
S_IXOTH 00001 others have execute permission
답변 감사합니다~
답변 감사합니다. 답변 완료 된거는 옆에 메일 표시가 불이 들어 오는거 같은데 어떻게 하는지 모르겠네요;;;
댓글 달기