명령어/Linux
[RHEL] secon 보안 컨텍스트 분해 출력
jykim23
2026. 8. 16. 16:31
반응형
부제: 컨텍스트 문자열을 user·role·type·level로 쪼개 보여준다
secon --self # 현재 프로세스 컨텍스트를 분해
secon --pid 1 # 특정 PID의 컨텍스트를 분해
user: system_u
role: system_r
type: init_t
sensitivity: s0
clearance: s0
mls-range: s0secon은 user:role:type:level 형태로 뭉쳐 있는 SELinux 컨텍스트를 항목별로 분해해 준다. --self는 현재 프로세스, --pid는 특정 프로세스, --file은 파일의 컨텍스트를 읽는다. 인자로 컨텍스트 문자열을 직접 넘겨도 된다. id -Z나 ls -Z가 컨텍스트를 한 줄로 뭉쳐 보여주는 반면, secon은 필드를 따로 떼어 어떤 type인지 콕 집어 확인할 때 편하다.
데비안 AppArmor에는 대응 명령이 없다. AppArmor는 프로세스에 라벨(컨텍스트)을 붙이지 않고 실행 파일 경로로 프로파일을 매칭하기 때문에, 애초에 분해할 컨텍스트 문자열이 존재하지 않는다. 라벨 기반 통제인 SELinux에서만 의미가 있는 도구다.
이렇게도 쓴다
역할과 타입만 골라 출력한다.
secon -r -t --self
컨텍스트 문자열을 직접 넘겨 파싱한다.
secon system_u:system_r:sshd_t:s0
id -Z로 얻은 현재 컨텍스트를 그대로 넘겨 분해한다(조합용).
secon "$(id -Z)"
특정 파일에 붙은 컨텍스트를 필드로 나눠 본다.
secon --file /etc/shadow
ps로 찾은 프로세스의 PID를 넘겨 타입을 확인한다(조합용).
secon --type --pid "$(pgrep -n sshd)"반응형