인프라 & 클라우드 · 중급
Linux 파일 시스템에서 `SUID`, `SGID`, `Sticky Bit`의 역할과 각각의 보안적 의미를 설명하고, 실제 시스템에서 이들을 어떻게 활용하거나 주의해야 하는지 예를 들어 설명해 주세요.
힌트 · `SUID`는 실행 파일의 소유자 권한으로, `SGID`는 그룹 권한으로 실행하게 하며, `Sticky Bit`는 디렉토리 내 파일 삭제 권한을 제한합니다.
SUIDSGIDSticky Bit권한 상승최소 권한 원칙
모범답안
"SUID, SGID, Sticky Bit는 Linux 파일 시스템의 특별한 권한 설정입니다.
SUID는 실행 파일 실행 시, 실행하는 사용자 대신 파일 소유자의 권한으로 실행되게 합니다. 예를 들어, passwd 명령은 SUID가 설정되어 있어 일반 사용자가 root 권한으로 암호를 변경할 수 있게 합니다. 하지만 잘못 설정하면 권한 상승 공격에 취약해질 수 있습니다.
SGID는 실행 파일의 경우 그룹 권한으로 실행되게 하고, 디렉토리의 경우 생성되는 파일의 그룹을 디렉토리의 그룹으로 설정합니다. 공동 작업 환경에서 유용하지만, 역시 남용하면 보안 문제가 발생할 수 있습니다.
Sticky Bit는 디렉토리에 설정하면, 해당 디렉토리 내의 파일 삭제 권한을 파일 소유자, 디렉토리 소유자, root 사용자에게만 부여합니다. 공용 디렉토리(/tmp)에서 다른 사용자의 파일 삭제를 방지하는 데 사용됩니다.
이러한 권한들은 편리하지만, 최소 권한 원칙에 따라 신중하게 사용해야 합니다. 불필요한 SUID/SGID 설정은 제거하고, Sticky Bit는 필요한 경우에만 적용해야 합니다."
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Linux 면접 질문
- Linux에서 파일 내용을 확인하는 `cat`, `less`, `more` 명령어의 차이점과 각각의 적절한 사용 상황을 설명해주세요.
- Linux에서 `sudo` 명령어는 어떤 용도로 사용되며, 일반 사용자가 `sudo`를 사용할 때 어떤 이점을 얻을 수 있는지 설명해주세요.
- 백그라운드에서 실행 중인 프로세스를 관리하는 방법을 설명하고, `nohup`과 `&`의 차이점을 구체적인 사용 사례와 함께 설명해 주세요.
- Linux에서 하드 링크(Hard Link)와 심볼릭 링크(Symbolic Link, 소프트 링크)의 차이점을 inode 개념을 포함하여 설명하고, 각각 어떤 상황에서 사용하는 것이 적절한지 실제 시나리오를 들어 설명해 주세요.
- 시스템의 네트워크 연결 상태를 확인하기 위해 `netstat`과 `ss` 명령어를 사용할 수 있습니다. `ss` 명령어가 `netstat`에 비해 가지는 장점은 무엇이며, `ss` 명령어를 활용하여 특정 포트의 ESTABLISHED 연결만 필터링하는 방법을 보여주세요.
- LVM(Logical Volume Manager)의 개념과 일반적인 파티셔닝 방식에 비해 LVM이 가지는 장점을 설명해 주세요. 또한, LVM을 사용하여 기존 논리 볼륨의 크기를 확장하는 절차를 간략히 설명해 주세요.