명령어/Linux

[RHEL] chcat SELinux 보안 카테고리 부여

jykim23 2026. 8. 4. 22:53
반응형

부제: 파일과 사용자에 MCS/MLS 카테고리 라벨을 붙인다

chcat -- +Confidential report.pdf   # 파일에 카테고리 부여
chcat -l -- +Confidential juser     # 사용자에게 카테고리 허용
chcat -L                            # 정의된 카테고리 목록
chcat -d report.pdf                 # 파일의 카테고리 제거
용법 /usr/bin/chcat [[+ | -] CATEGORY], ...] 파일 ...
용법 /usr/bin/chcat -l [[+ | -] CATEGORY], ...] 사용자 ...
사용량 /usr/bin/chcat -d 파일 ...
사용량 /usr/bin/chcat -L

chcat은 SELinux 컨텍스트의 마지막 필드인 카테고리(MCS/MLS)를 손보는 도구다. type이 "무엇에 접근하느냐"를 정한다면 카테고리는 "같은 등급 안에서도 이 라벨끼리만"이라는 격벽을 세운다. 앞에 +는 부여, -는 회수, --는 옵션 파싱을 끝내 카테고리 이름이 옵션으로 오해받지 않게 막는 구분자다. 파일에는 그냥, 사용자에는 -l을 붙여 적용한다.

데비안 AppArmor에는 대응물이 없다. 경로 기반 프로파일에는 라벨 카테고리라는 개념 자체가 없어서, 이런 다중 카테고리 격리는 SELinux MCS에서만 성립한다.

이렇게도 쓴다

부여 전에 현재 컨텍스트를 확인한다(조합).

ls -Z report.pdf && chcat -- +Secret report.pdf

 

여러 파일에 한 번에 같은 카테고리를 건다.

chcat -- +Secret /docs/plans/*.pdf

 

사용자에게 카테고리 두 개를 동시에 허용한다.

chcat -l -- +Secret,+Internal juser

 

카테고리를 지운 뒤 기본 컨텍스트로 되돌린다(조합).

chcat -d report.pdf && restorecon -v report.pdf

 

semanage로 등급/카테고리 정의를 확인하고 부여한다(조합).

semanage category -l; chcat -- +Secret report.pdf
반응형