linux-setuid-files
리눅스 시스템에서 root 소유이며 SETUID 비트가 설정된 파일 목록을 조회합니다. SETUID가 설정된 파일은 실행 시 파일 소유자의 권한으로 동작하므로, 보안 점검 시 비인가 SETUID 파일 존재 여부를 확인하는 데 사용합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 드라이버 쿼리 |
| 필요 권한 | 클러스터 관리자 |
| 라이선스 사용량 | 집계함 |
| 병렬 실행 | 미지원 |
| 분산 실행 | 수집 노드에서 실행 (mapper) |
문법
옵션
md5=BOOL- 파일의 MD5 해시값을 계산하여
md5필드에 할당할지 여부 (기본값:f)
출력 필드
| 필드 | 타입 | 설명 |
|---|---|---|
file_path | 문자열 | 파일의 절대 경로 |
file_name | 문자열 | 파일 이름 |
file_type | 문자열 | 파일 유형. file 또는 directory |
permissions | 문자열 | 파일 권한 문자열 (예: rws------). SETUID 비트가 s로 표시됩니다 |
file_size | 64비트 정수 | 파일 크기 (바이트) |
file_ctime | 날짜 | 파일 생성 시각 |
file_mtime | 날짜 | 파일 최종 수정 시각 |
file_atime | 날짜 | 파일 최종 접근 시각 |
md5 | 문자열 | 파일의 MD5 해시값. md5=t 옵션을 지정한 경우에만 출력됩니다 |
owner_read | 불리언 | 소유자 읽기 권한 여부 |
owner_write | 불리언 | 소유자 쓰기 권한 여부 |
owner_execute | 불리언 | 소유자 실행 권한 여부 |
group_read | 불리언 | 그룹 읽기 권한 여부 |
group_write | 불리언 | 그룹 쓰기 권한 여부 |
group_execute | 불리언 | 그룹 실행 권한 여부 |
others_read | 불리언 | 기타 사용자 읽기 권한 여부 |
others_write | 불리언 | 기타 사용자 쓰기 권한 여부 |
others_execute | 불리언 | 기타 사용자 실행 권한 여부 |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 95040 | no-read-permission | 관리자 권한 없이 실행한 경우 |
런타임 오류
해당 사항 없음
설명
linux-setuid-files 명령어는 find / -user root -perm -4000 -print 명령을 실행하여 root 소유이며 SETUID 비트가 설정된 파일을 검색합니다. 검색된 각 파일의 메타데이터를 수집하여 파일 경로, 크기, 시간 정보, 권한 정보를 출력 필드에 할당합니다.
permissions 필드는 소유자 실행 권한 위치에 s를 표시하여 SETUID 비트가 설정되어 있음을 나타냅니다. 예를 들어 rwxr-xr-x 권한을 가진 SETUID 파일의 경우 rws r-xr-x로 표시됩니다.
md5=t 옵션을 지정하면 각 파일의 MD5 해시값을 계산합니다. 파일 수가 많거나 파일 크기가 큰 경우 실행 시간이 길어질 수 있습니다.
이 명령어는 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요하며, 접근 가능한 파일 경로가 제한됩니다. 자세한 내용은 파일 접근 제한을 참고하세요.
사용 예
각 사용 예의 파일 경로는 ALLOWED_FILE_SCAN_PATHS 설정에 포함되어 있다고 가정합니다.
-
SETUID 파일 목록 조회
linux-setuid-files시스템의 모든 SETUID 파일 목록을 조회합니다.
-
MD5 해시값을 포함하여 조회
linux-setuid-files md5=t각 SETUID 파일의 MD5 해시값을 함께 조회합니다. 파일 무결성 검증에 활용할 수 있습니다.
-
특정 디렉터리의 SETUID 파일 필터링
linux-setuid-files | search file_path == "/usr/bin/*"/usr/bin디렉터리에 있는 SETUID 파일만 필터링합니다.
호환성
linux-setuid-files 명령어는 소나 4.0 이전 버전부터 제공되었습니다. 4.0.2511.0 버전부터 클러스터 관리자 권한이 필요합니다.