한국어

개발자 도구 · Chmod 계산기

네 번째 chmod 숫자: setuid, setgid 및 고정 비트 작동 방식

· 작동 방식

chmod 유닉스 개발자 워크플로

고유한 Unix 권한 비트 다이어그램으로 표시된 특수 비트
원본 ToolAcre 벡터 일러스트레이션

4755 및 2775과 같은 모드에는 프로그램이 실행되는 사람 또는 새 파일을 소유하는 사람을 변경하는 선행 숫자가 있습니다. 이 게시물에서는 세 가지 특수 비트와 해당 비트가 ls -l에 표시되는 방법을 설명합니다.

drwxrwsr-x의 s — 공유 프로젝트 디렉토리가 다르게 동작하고 ls 출력에 기본 치트시트에 없는 문자가 있습니다.

rwxrwsr-x의 s는 한 위치에 두 가지 사실을 기록합니다. 즉, setgid가 활성화되고 그룹 실행도 활성화됩니다. 구현에서는 setgid를 8진수 2000로 저장한 다음 s를 그룹 실행 문자로 대체합니다. 디렉터리 유형 표시를 선택하면 모드 2775이 drwxrwsr-x로 표시되는 반면 4자리 요약에는 선행 특수 비트 숫자가 유지됩니다.

해당 출력은 파일 시스템 관찰이 아니라 변환입니다. 대상 선택기는 페이지에서 비트를 설명하는 방법을 변경하지만 디렉터리를 열거나 소유권을 검사하지는 않습니다. 디렉터리의 경우 구현된 설명에 따르면 새로 생성된 파일이 디렉터리 그룹을 상속한다고 나와 있습니다. 특정 스토리지 시스템이 해당 동작을 적용하는지 아니면 다른 정책이 액세스에 영향을 미치는지 여부는 이 계산기 이상의 증거가 필요합니다.

네 번째 숫자와 문자 — 친숙한 모드의 접두사인 4, 2 및 1(실행 위치에서 s 및 t로 표시됨, 아래 실행 비트가 꺼져 있으면 대문자)

선행 8진수는 세 개의 독립적인 마스크를 결합합니다. setuid는 4000, setgid는 2000, 고정은 1000입니다. 해당 문자는 9개 위치 디스플레이에 문자를 추가하는 대신 기존 실행 위치를 차지합니다. Setuid는 소유자 위치를 사용하고, 그룹 위치는 setgid, 다른 위치는 고정합니다. 매트릭스는 일반적인 읽기, 쓰기, 실행과 별도로 세 가지를 모두 노출합니다.

케이스는 기본 실행 비트를 나타냅니다. 4755 모드는 소유자 실행이 setuid와 함께 제공되므로 rwsr-xr-x를 렌더링합니다. 4644은 rwSr--r--을 렌더링하지 않습니다. 파서는 두 형식을 모두 해당 특수 비트와 실행 비트로 다시 읽습니다. 동일한 하위 대 상위 규칙은 setgid에 대해 s 또는 S를 생성하고 스티키에 대해 t 또는 T를 생성하여 왕복 중에 모든 조합을 유지합니다.

실행 파일의 setuid — /usr/bin/passwd이 파일 소유자의 권한으로 실행되는 방법 및 Linux가 해석된 스크립트에서 setuid를 무시하는 이유

일반 파일의 경우 구현된 setuid 설명은 소유자 실행에 따라 다릅니다. 두 비트가 모두 존재하면 페이지에서는 파일 실행 시 호출자가 아닌 파일 소유자의 ID를 사용한다고 표시됩니다. 소유자 실행 없이 setuid가 존재하는 경우 디스플레이는 대문자 S를 사용하고 실행할 것이 없음을 설명합니다. 이는 섹션의 수정된 소스 지원 범위입니다.

계산기는 특정 실행 파일을 식별하거나 실행하거나 플랫폼이 스크립트를 처리하는 방식을 검사하지 않습니다. 그 증거는 제공된 모드와 대상 선택입니다. 4755 모드는 setuid와 rwxr-xr-x로 분해될 수 있으며 할당 미리 보기에서는 일반 절 뒤에 u+s를 추가합니다. 이는 렌더링과 설명만 확인합니다. 프로그램 적합성과 실제 실행은 외부 문제로 남아 있습니다.

일반 파일에 대한 setuid 렌더링 및 설명

디렉토리의 Setgid는 일반 그룹 권한과 독립적으로 표시됩니다. 2775 모드는 2000 마스크를 소유자 및 그룹 7 및 기타 5과 결합합니다. 디스플레이 rwxrwsr-x는 표시되는 x를 s로 바꾸는 동안 그룹 읽기, 쓰기 및 실행을 유지합니다. 디렉토리 설명은 특수 비트를 새로 생성된 파일에 대한 디렉토리 그룹 상속과 연관시킵니다.

setgid를 유지하면서 그룹 실행을 제거하면 그룹 위치 문자가 대문자 S로 변경됩니다. 해당 표시 경고는 대상 문구에 관계없이 렌더러에서 직접 따릅니다. 페이지에서는 완료된 값을 비교하고 어떤 확인란이 변경되었는지 표시할 수 있지만 공유 디렉터리, 현재 그룹 또는 항목을 생성하는 ID를 검사할 수는 없습니다. 견해 간의 합의는 산술적 증거이지 운영 승인이 아닙니다.

디렉터리의 고정 비트 — /tmp에서 제한된 삭제 및 1777이 777와 동일하지 않은 이유

Sticky는 다른 실행 위치를 차지하고 8진수 1000에 기여합니다. 디렉터리 모드 1777의 경우 모든 일반 권한은 활성화된 상태로 유지되며 마지막 기호 문자는 t가 됩니다. 구현된 디렉터리 설명은 삭제 및 이름 바꾸기 제한을 추가하는 반면, 777 설명은 고정되지 않은 쓰기 가능한 디렉터리에 대해 경고합니다. 따라서 변환기는 기본 rwx 트리플을 변경하지 않고 1비트 차이를 표시합니다.

다른 실행 없이 스티키가 존재하는 경우 마지막 문자는 대신 대문자 T입니다. 파서와 렌더러는 양방향에서 이러한 구별을 유지합니다. 이 페이지는 실제 공유 디렉터리, 항목 소유자 또는 삭제 시도를 검사하지 않습니다. 신뢰할 수 있는 결론은 더 좁습니다. 제공된 정수에는 고정이 포함되어 있고 실행 동반자는 대소문자를 통해 표시되며 디렉터리 지향 설명 텍스트가 선택됩니다.

작업 예: 공유 디렉터리에 대한 2775 구축 — 숫자 및 이에 상응하는 기호 chmod g+s,a+rwx,o-w 파생

2775를 4개의 표시 구성 요소로 빌드합니다. setgid의 경우 특수 숫자 2, rwx의 경우 소유자 숫자 7, rwx의 경우 그룹 숫자 7, r-x의 경우 기타 숫자 5입니다. 완성된 값을 입력하면 rwxrwsr-x가 생성됩니다. 매트릭스는 setgid를 별도로 선택하는 반면 요약에서는 해당 특수 비트와 함께 소유자, 그룹 및 기타 권한을 지정합니다.

생성된 할당 목록은 u=rwx,g=rwx,o=rx,g+s입니다. 이는 9자 디스플레이와 다르지만 동일한 12비트 값을 나타냅니다. 디렉토리를 선택하면 구현된 그룹 상속 문구에 대한 설명이 변경됩니다. 파일을 선택하면 2775을 변경하지 않고 문구가 변경됩니다. 계산기는 대상 그룹을 확인하거나 파일을 생성하지 않으므로 예제는 배포 처방이 아닌 모델로 유지됩니다.

작업 예: 공유 디렉터리 모델에 대한 2775 빌드 및 읽기

마운트 동작, 기능 및 추가 플랫폼 의미는 모델링되지 않습니다. 페이지에 마운트 입력, 기능 세트, 커널 쿼리 또는 파일 시스템 프로브가 없습니다. 이는 setuid, setgid 및 Sticky를 나타낼 수 있으며 일반 파일과 디렉터리 간에 설명이 다를 수 있습니다. 외부 규칙이 실제 대상에서 해당 비트를 다르게 무력화, 확장 또는 해석하는지 여부를 설정할 수 없습니다.

소스의 모퉁이 문구라도 인터페이스 이상으로 일반화해서는 안 됩니다. 유효한 특수 비트 모드는 파서, 렌더러, 매트릭스, 요약 및 생성된 할당이 일치함을 증명합니다. 실행, 상속 또는 삭제 행위가 발생했음을 증명하지는 않습니다. 지원되지 않는 정책 주장을 진단에서 제외하고 별도로 검사된 환경에서 누락된 컨텍스트를 제공할 때까지 복사된 명령을 비활성 텍스트로 처리합니다.

마운트 정책, 기능 및 구현되지 않은 코너 의미는 외부에 남아 있습니다.

구현된 테이크어웨이는 위치적 의미를 지닌 왕복 여행입니다. Setuid는 소유자 실행 위치에 매핑되고, setgid는 그룹 실행에 매핑되며, 다른 실행에는 고정됩니다. 소문자는 관련 실행 비트가 켜져 있음을 의미합니다. 대문자는 꺼져 있음을 의미합니다. 선행 8진수와 전용 확인란은 동일한 정보를 유지하므로 산문만으로는 특별한 비트를 유추할 필요가 없습니다.

모든 표현을 비교하여 특수 모드를 테스트합니다. 2775의 경우 선행 2, 그룹 위치 s, 확인된 setgid 상자 및 생성된 g+s 추가를 예상합니다. 불일치로 인해 변환 문제가 발생할 수 있습니다. 계약은 단 하나의 일관성 모드를 설정합니다. 소유권, 마운트 정책, 기능, 애플리케이션 규칙 및 chmod 실행 결과는 브라우저 계산기의 증거를 넘어서는 것입니다.