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
추가 자료: