passwd 로그인 계정 보고서 리눅스마스터›텍스트 처리·보통

추천
북마크
질문
AI 튜터 0
root@Learnix - bash
세션 연결 준비 중
문항 난이도 3
실습 서버를 준비하고 있습니다. 문제를 먼저 읽어 두세요.
</> 문제

보안 감사팀이 서버에 존재하는 계정 중 실제 로그인이 가능한 일반 사용자 계정 목록을 요구했습니다. 운영 서버에서 내려받은 /etc/passwd 사본(/home/exercise/acct3/passwd.bak)을 awk 로 파싱해, 시스템 계정과 로그인 불가 계정을 걸러낸 감사용 보고서와 집계 파일을 만드세요.

awk 의 필드 구분자 지정(-F)과 필드 비교, sort 의 구분자·키 지정, wc 조합으로 해결할 수 있습니다. UID 는 문자열이 아닌 숫자로 비교해야 하며, 원본 passwd.bak 은 읽기 전용으로만 사용하세요.

✓ 요구 사항

1. /home/exercise/acct3/passwd.bak 은 내용을 변경하거나 삭제하지 말고 그대로 두고, 가공 결과는 /home/exercise/acct3/user_report.txt 에 새로 저장하세요.
2. UID 가 1000 이상인 일반 사용자 계정만 골라 '계정명:UID:로그인셸' 형식으로 한 줄에 하나씩 기록하세요. 단 로그인 셸이 /sbin/nologin, /usr/sbin/nologin, /bin/false 인 계정은 로그인이 불가능하므로 제외합니다. (예: hong:1005:/bin/bash)
3. user_report.txt 의 줄 순서는 UID 값 기준 숫자 오름차순이어야 합니다(계정명 기준 사전순이 아님).
4. 보고서에 남은 계정 개수를 숫자만 한 줄로 /home/exercise/acct3/login_count.txt 에 저장하세요.

≡ 텍스트 처리 관련 실습 문제
리눅스마스터 문제 전체 보기
미제출
-