명령어/Linux

[RHEL] restorecon 기본 컨텍스트로 복원

jykim23 2026. 8. 7. 21:47
반응형

부제: 어긋난 파일 라벨을 정책상 기본값으로 되돌린다

restorecon -v /srv/demo.txt     # 한 파일 복원(변경 내역 출력)
restorecon -Rv /srv             # 디렉터리 이하 재귀 복원
Relabeled /srv/demo.txt from unconfined_u:object_r:httpd_sys_content_t:s0 to unconfined_u:object_r:var_t:s0

restorecon은 file_contexts 정책이 정한 기본 컨텍스트로 파일 라벨을 다시 맞춘다. chcon으로 잘못 바꿨거나, 파일을 엉뚱한 위치에서 복사·이동해 라벨이 틀어졌을 때 이걸로 고친다. -v는 실제로 바뀐 파일을 보여주고, -n은 바꾸지 않고 무엇을 바꿀지 미리 보여준다. "서비스가 갑자기 파일을 못 읽는다" 문제의 상당수가 라벨 틀어짐이고 restorecon 한 방으로 풀린다.

내부적으로 matchpathcon과 같은 규칙을 참조한다. 그래서 기본 라벨 규칙이 없는 /tmp 같은 경로에서는 "no default label" 경고를 내며 건드리지 않는다. 데비안 AppArmor에는 파일 라벨이 없어 이런 복원 개념 자체가 없다.

이렇게도 쓴다

바꾸기 전에 무엇이 바뀔지 먼저 확인만 한다(-n은 변경 없음).

restorecon -nv /srv/demo.txt

 

복원 후 실제 라벨을 ls -Z로 검증한다(조합용).

restorecon -v /srv/demo.txt; ls -Z /srv/demo.txt

 

웹 루트 전체를 재귀로 정상 라벨로 되돌린다.

restorecon -Rv /var/www/html

 

라벨이 틀어진 파일만 골라 개수를 센다(조합용).

restorecon -nRv /srv | grep -c Relabeled
반응형