본문 바로가기
OS/리눅스

[리눅스] 특수 권한이란?

by 연습장이 2023. 6. 17.
728x90
반응형

  이번에 ISMS 심사 사전 조치 관련해서 리눅스 OS 영역 피드백을 전달받았다. 물론 role만 따지면 시스템인프라팀이라던가 시스템엔지니어팀에서 관리하는게 맞겠지만 회바회이기 때문에 해당 서버의 관리자(서버 신청자라서)인 내가 조치를 하게 되었다.

 

  확인 사항으로는 아래와 같았다.

 

setuid가 설정된 파일이 감지됨. 필요한 권한인지 확인 및 불필요시 제거

 

리눅스를 안해본 건 아니지만(사실 검은 화면이 더 편한 상태다) 처음 보는 기능이었다. 어서 리눅스마스터1급을 따야.. 여하튼 제거를 할지 판단하기 전에 해당 기능이 무엇을 의미하는지, 필요하다면 왜 필요한지부터 조사해야 했다. 해당 기능이 무엇인지는 아래와 같다.

 

setuid : 실 사용자(프로그램을 실제 사용하는 사용자)에서 프로그램 소유자의 id(계정)으로 유효사용자(euid)가 변경되는 권한

 

그렇다면 이 권한은 언제 필요할까? 아래 예시를 들 수 있을 것이다.

 

  • 내 계정을 변경(/usr/bin/passwd 파일을 통해)하고자 할 때
  • 일반 사용자지만 파일시스템에 마운트(/usr/bin/mount 파일을 통해)하고자 할때

이제 특수 권한이 걸린 파일을 전수 조사해야 한다. 혹시 모르니까 말이다. 명령어는 아래와 같다.

 

  • find / -user root -perm -4000 -print

다음으로 해당 파일의 권한을 변경해줘야 한다. 아래 2가지 중에 하나를 실행한다.

  • chmod 0411 /경로/파일명 (411부분은 기존 파일과 동일, 0 부분이 권한을 제거한다는 의미)
  • chmod u-s /경로/파일명

어떻게 보면 보안 쪽에 더 가까운 내용이기는 하다. 실제 취약점 공격(CVE) 사례도 있으니 귀찮다고 미루지 말고 한번 쯤 체크해보는 것도 좋을 듯하다.

728x90
반응형