소개

유닉스 계열 운영체제에서 setuid(set user ID) 는 사용자가 파일 소유자의 권한으로 파일을 실행할 수 있게 해주는 특수한 파일 권한입니다. 특정 시스템 작업에는 유용할 수 있지만, 잘못 사용될 경우 보안 위험을 초래할 수도 있습니다. 이번 챌린지에서는 시스템 내의 모든 setuid 파일을 식별하고 목록을 만드는 방법을 배우게 됩니다. 이는 시스템 관리자와 보안 전문가에게 필수적인 기술입니다.

환경

LabEx 는 Red Hat Universal Base Image 9(UBI9) 를 사용하여 시험 환경을 시뮬레이션합니다. 실제 RHCSA 시험 환경과 완전히 동일하지는 않지만, 여러분이 접하게 될 작업들을 잘 보여줍니다.

환경에는 두 명의 사용자가 있습니다:

  • labex: sudo 권한을 가진 일반 사용자, 비밀번호: labex.
  • root: 시스템 관리자, 비밀번호: redhat.

이 챌린지는 실제 시험 문제와 함께 설명, 요구 사항 및 자동 검증 스크립트를 제공하여 작업 완료 여부를 확인할 수 있도록 돕습니다. RHCSA 시험에서 다루는 지식 영역을 효과적으로 시뮬레이션합니다.

이것은 챌린지 과제입니다. 가이드 랩과 달리, 학습 단계를 따라가는 것이 아니라 스스로 독립적으로 과제를 완수해야 합니다. 챌린지는 보통 난이도가 조금 높습니다. 어려움을 느낀다면 Labby 와 상의하거나 솔루션을 확인해 보세요. 통계 데이터에 따르면 이 과제는 중급 수준이며 합격률은 79%입니다. 학습자들로부터 99%의 긍정적인 평가를 받았습니다.

Setuid 파일 검색 및 목록 생성

이 단계에서는 find 명령어를 사용하여 전체 파일 시스템에서 setuid 파일을 검색하고 그 결과를 파일로 저장합니다.

작업 내용

  • 전체 파일 시스템에서 setuid 권한이 설정된 파일을 검색합니다.
  • 검색된 setuid 파일 목록을 홈 디렉토리에 setuid_list라는 이름의 파일로 저장합니다.

요구 사항

  • 모든 명령어는 /home/labex 디렉토리에서 labex 사용자로 실행해야 합니다.
  • setuid 파일을 찾기 위해 find 명령어를 사용하세요.
  • 출력 결과를 /home/labex 디렉토리의 setuid_list 파일에 저장하세요.

예시

작업을 완료한 후, setuid_list 파일에는 다음과 유사한 항목들이 포함될 수 있습니다:

/usr/bin/sudo
/usr/bin/passwd
/usr/bin/chage
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/su
/usr/bin/mount
/usr/bin/umount
/usr/bin/crontab
/usr/bin/pkexec

실제 목록은 시스템 설정에 따라 달라질 수 있습니다.

✨ 솔루션 확인 및 연습

요약

이 챌린지에서는 유닉스 계열 시스템에서 모든 setuid 파일을 찾아 목록화하는 방법을 배웠습니다. 이 작업은 시스템 관리자와 보안 전문가가 높은 권한을 가진 잠재적 위험 파일을 식별하는 데 매우 중요합니다. 특정 옵션이 포함된 find 명령어를 사용하여 setuid 비트가 설정된 파일을 찾고, 추가 분석을 위해 결과를 파일로 저장했습니다. 이 기술은 보안 감사 수행, 잠재적 취약점 식별 및 시스템 무결성 유지에 매우 유용합니다.