한 집합씩 입력
CapEff: 0000000000000003처럼 필드 한 줄을 쓰거나 숫자만 넣을 수 있습니다. 숫자로만 된 10도 16진수이므로 10진수로는 16입니다. 여러 Cap 집합을 한 번에 합치지 않습니다.
Linux & Shell
16진수 하나 또는 /proc Cap 필드 한 줄을 넣고, 설정된 능력을 읽거나 체크박스로 조합을 바꿉니다.
유효한 결과가 있어야 선택할 수 있습니다. 한 비트의 변경을 미리 보여 주며 이름 없는 비트는 유지합니다.
붙여 넣은 값은 브라우저 안에서만 처리하며 시스템을 읽거나 서버로 보내지 않습니다.
고정된 UAPI 이름 표입니다. 실행 중인 커널을 감지하거나 권한 검사를 재현하지 않습니다.
결과가 오래되었습니다. 다시 해독한 뒤 비트를 변경하거나 내보내세요.
capability 디코딩은 프로세스 정보에 긴 16진수만 표시될 때 이름과 위치를 확인하는 데 쓰입니다. CapEff와 CapBnd가 같은 값이더라도 서로 다른 집합이므로 원래 필드 이름을 함께 보관하세요.
예제에는 이름이 있는 비트 14개가 켜져 있습니다. 내 컴퓨터의 권한을 읽은 값이나 모든 컨테이너의 공통 기본값이 아닙니다. 리눅스 capabilities를 확인할 때는 수치의 출처가 먼저입니다.
숫자 자체와 이름 표의 해석을 따로 살펴봅니다.
capability 디코딩은 켜진 비트마다 CAP_* 이름과 짧은 설명을 보여 줍니다. 체크박스를 누르면 바뀔 한 비트와 전후 마스크가 먼저 나오며, 적용하기 전에는 원본을 바꾸지 않습니다.
3.16 표에서는 알 수 없던 위치가 5.9 표에서는 이름을 얻을 수 있습니다. 표를 바꿔도 원래 숫자는 유지됩니다. 63번까지의 비트를 보존하므로 이름이 없다는 이유로 정보가 사라지지 않습니다.
CapEff: 0000000000000003처럼 필드 한 줄을 쓰거나 숫자만 넣을 수 있습니다. 숫자로만 된 10도 16진수이므로 10진수로는 16입니다. 여러 Cap 집합을 한 번에 합치지 않습니다.
3.16은 37번, 5.8은 39번, 5.9는 40번까지 이름이 있습니다. 이 선택은 UAPI 사전을 고르는 기능이며 실제 커널 감지가 아닙니다. 배포판의 백포트 여부는 대상 환경에서 확인해야 합니다.
유효하고 최신인 결과에서만 체크박스를 쓸 수 있습니다. 적용은 입력과 결과를 함께 갱신하고, 되돌리기는 원래 라벨과 문자열까지 복원합니다. 수동 해독에는 Ctrl/Cmd + Enter를 사용할 수 있습니다.
16진수 비트마스크를 부호 없는 정수로 계산합니다. 출력은 소문자 16진수 16자리와 2진수 64자리로 맞춥니다. JSON의 마스크와 10진수는 문자열이므로 큰 값이 반올림되지 않습니다.
인식한 능력에는 번호와 용도 요약이 붙습니다. CAP_NET_BROADCAST는 현재 사용하지 않는 능력으로 표시합니다. 표에 없는 위치는 이름을 추측하지 않고 별도의 숫자 목록으로 보여 줍니다.
보고서는 이름 표 버전과 CapEff 등의 원본 필드 이름을 보관합니다. capsh 결과와 대조할 때도 어떤 집합인지 확인할 수 있습니다. 텍스트 출력은 분석 자료이며 setcap 명령에 넘기는 표현식이 아닙니다.
대상 Linux 호스트의 /proc/PID/status에서 Cap 필드를 읽거나 사용 가능한 getpcaps를 이용하세요. 여기에는 그중 한 줄만 붙여 넣습니다. 브라우저에서 원격 프로세스 상태를 읽거나 계속 추적하지는 않습니다.
현재 보유한 집합이 반드시 필요한 최소 집합은 아닙니다. 프로그램 문서와 수행 작업을 검토하고 통제된 환경에서 대표적인 작업을 관찰해야 합니다. 이 도구는 시스템 호출을 추적하거나 최소 권한을 추천하지 않습니다.
permitted는 스레드가 effective에 넣을 수 있는 능력의 상한입니다. 실제 능력 검사는 effective를 사용합니다. 따라서 스레드는 permitted 능력을 유지하면서도 현재 활성화하지 않을 수 있습니다.
libcap의 p는 permitted를, e는 effective 상태를 나타냅니다. 파일 능력에는 실행 규칙에 영향을 주는 effective 플래그가 있습니다. cap_net_raw+ep는 단일 16진수 집합이 아니므로 이 입력 형식에는 맞지 않습니다.
capsh --print는 capsh가 실행되는 문맥을 보여 줍니다. 다른 프로세스는 해당 PID의 status 등을 확인해야 합니다. 파일 능력과 스레드 집합을 구별하고, 설치된 libcap이 새 능력 이름을 아는지도 확인하세요.
더 궁금한 점이 있나요?