chmod 액세스를 정수에 매핑하는 방법

chmod 액세스를 정수에 매핑하는 방법

chmod 권한이 정수로 매핑된 코드를 발견했습니다.

33204 // -rw-rw-r--
36863 // -rwsrwsrwt
36855 // -rwsrwSrwt
36799 // -rwSrwsrwt
36351 // -rwsrwsrwx
36343 // -rwsrwSrwx

이러한 권한은 정수에 어떻게 매핑됩니까?

33261, 41453이 숫자가 어떤 권한에 매핑되는지 찾으려고 합니다 . 다양한 링크를 살펴보았지만 권한을 숫자로 변환하는 링크를 찾았습니다. 전환하는 데 도움을 줄 수 있는 사람이 있나요? 미리 감사드립니다!

답변1

8진수로만 "의미가 있습니다". 이것은 사용하는 첫 번째 줄입니다.내 쇼 중 하나변환:

$ hex 33204
33204: 33204 0100664 0x81b4 text "\201\264" utf8 \350\206\264

이것0100664이는 읽기/쓰기(사용자), 읽기/쓰기(그룹) 및 읽기 전용(기타)이 있는 일반 파일임을 의미합니다. 매뉴얼 chmod페이지에서는 이에 대해 언급해야 하지만 첫 번째 비트( S_IFREG값)는 언급하지 않습니다.POSIX- 다른 플래그만큼 자주. 제목의 예는 다음과 같습니다.

#define S_IFMT  00170000
#define S_IFSOCK 0140000
#define S_IFLNK  0120000
#define S_IFREG  0100000
#define S_IFBLK  0060000
#define S_IFDIR  0040000
#define S_IFCHR  0020000
#define S_IFIFO  0010000
#define S_ISUID  0004000
#define S_ISGID  0002000
#define S_ISVTX  0001000

추가 자료:

관련 정보