한국어

개발자 도구 · Chmod 계산기

chmod 8진수가 rwx 권한 비트(4, 2, 1)에 매핑되는 방식

· 작동 원리

chmod 유닉스 개발자 워크플로

소유자, 그룹 및 기타 rwx 비트로 분할된 8진수 권한 숫자
원본 ToolAcre 벡터 일러스트

각 8진수는 위장된 세 개의 이진 플래그입니다. 이 게시물은 7을 rwx로, 5를 r-x로 바꾸는 산술을 보여줍니다. 따라서 조회 테이블 없이 모든 모드를 읽고 쓸 수 있습니다.

계속 붙여넣는 숫자 — chmod 755는 작동하지만 5가 무엇을 부여하는지, 누구에게 부여하는지 말할 수 없습니다.

포럼 답변에 따르면 chmod 755를 실행하면 애플리케이션에 필요한 것보다 더 많은 액세스 권한이 부여될 수 있습니다. Unix 모드는 파일을 읽고, 쓰고, 실행할 수 있는 사람을 압축적으로 인코딩한 것입니다. 숫자는 권한이 거부될 때마다 붙여넣기 위한 임의의 설정이 아닙니다. 변경하기 전에 파일을 소유한 ID, 프로세스가 실행되는 그룹, 실제로 실패한 작업을 물어보세요. 구문적으로 유효한 모드는 잘못된 소유자 또는 누락된 상위 디렉토리 실행 권한을 해결하지 않습니다.

3개 클래스, 3자리 - 소유자, 그룹 및 기타 각각은 고정된 순서로 1개의 8진수를 얻습니다.

세 개의 8진수는 소유자, 그룹, 기타의 세 가지 클래스를 순서대로 설명합니다. 640에서는 소유자가 6개, 그룹이 4개, 그 외 모든 사람이 0개를 얻습니다. "기타"는 루트나 서비스 계정을 의미하지 않습니다. 이는 일반 모드 비트 검사에서 소유자나 파일 그룹과 일치하지 않는 ID를 의미합니다. 선택적 선행 네 번째 숫자는 setuid, setgid 및 Sticky와 같은 특수 모드를 처리합니다. 이는 별도의 주제이며 후행 3개에서 추론해서는 안 됩니다.

4번 읽기, 2번 쓰기, 1번 실행 — 가중치가 2의 거듭제곱인 이유와 가중치가 0에서 7까지의 값에 어떻게 추가되는지

각 클래스에는 읽기=4, 쓰기=2, 실행=1의 가중치를 갖는 3개의 비트가 있습니다. 허용되는 가중치(7=4+2+1(rwx), 6=4+2(rw-), 5=4+1(r-x) 및 0=---)만 추가합니다. 이는 2의 거듭제곱이므로 세 개의 독립 플래그를 조합해도 다른 플래그와 동일한 합계가 생성되지 않습니다. 디렉터리 실행은 "이 폴더 실행"이 아니라 탐색을 의미합니다. 파일 자체에 읽기 권한이 있는 경우에도 사용자가 내부 파일에 액세스하려면 디렉터리에 이 정보가 필요한 경우가 많습니다.

실제 예: 640과 751을 손으로 디코딩 — 각 숫자를 이진 삼중으로 변환한 다음 rwx 문자로 변환

클래스별로 640을 디코딩합니다: 6 -> 바이너리 110 -> rw-; 4 -> 100 -> r--; 0 -> 000 -> ---. 9개의 허가서는 rw-r----입니다. 751을 디코딩합니다: 7 -> rwx, 5 -> r-x, 1 -> --x, rwxr-x--x 제공. 751의 "other"가 어떻게 읽거나 쓰지 않고도 탐색하거나 실행할 수 있는지 확인하세요. 디렉토리에 대해서는 의도적인 것일 수 있지만 민감한 파일에 대해서는 검토할 가치가 있습니다. 예제를 외우기보다는 Chmod 계산기를 사용하여 8진수와 기호 출력을 비교하세요.

다른 방법으로 진행: ls -l에서 8진수로 — rwxr-x---를 읽고 클래스당 가중치를 추가합니다.

rwxr-x---와 같은 기호 모드에서 거꾸로 작업합니다. 소유자는 4+2+1=7, 그룹은 4+1=5, 기타는 0입니다. 결과는 755가 아니라 750입니다. 긴 ls -l 디스플레이에는 선행 파일 유형 문자도 있고 ACL에 대해 후행 +가 표시될 수 있으므로 전체 디스플레이 문자열을 3자리 산술 연산에 제공하지 마십시오. 디렉터리의 경우 인접한 파일의 모드를 복사하는 대신 클래스별로 읽기/쓰기/실행을 별도로 계획합니다.

여기에 포함되지 않는 내용 — setuid, setgid 및 Sticky의 첫 번째 네 번째 숫자와 더하기 기호로 표시되는 ls ACL

7개 섹션으로 구성된 이 연습에서는 일반적인 9개 권한 비트를 다룹니다. setuid, setgid 및 Sticky에 대해 선행 4, 2 또는 1을 설명하지 않습니다. 이러한 비트는 프로그램이나 디렉터리의 작동 방식을 변경하고 기호 출력에서 ​​s/S 또는 t/T로 표시됩니다. 액세스 제어 목록은 이 단순한 그림 이상의 액세스를 허용하거나 거부할 수 있습니다. ToolAcre 계산기는 추가 특수 비트를 지원하지만 프로덕션 시스템에서 활성화하기 전에 별도의 설명을 읽어야 합니다.

요점: 모드는 계산할 수 있는 9비트이며 Chmod 계산기를 사용하면 브라우저에서 어느 방향으로든 변환을 확인할 수 있습니다.

모드는 주문이 아니라 계산할 수 있는 9개의 깃발입니다. Chmod 계산기는 브라우저에서 8진수 및 기호 형식을 변환하므로 chmod 명령을 직접 실행하기 전에 제안된 모드를 테스트할 수 있습니다. 이 도구는 컴퓨터의 권한을 변경하지 않습니다. 즉, 문자열과 추론을 제공하는 반면 셸과 파일 시스템은 사용자가 제어할 수 있습니다.