학습 가이드
#실무 9일 과정

Day 3. passwd/group 기반 운영 계정 감사 기초

학습 목표

운영 서버에서 계정 상태를 점검할 때 /etc/passwd, /etc/group, /etc/shadow를 어떻게 읽는지 학습합니다.

계정 감사는 보안 점검의 출발점입니다. 누가 로그인할 수 있고, 어떤 그룹 권한을 갖는지 알아야 합니다.


왜 계정 감사가 필요한가

오래된 계정, 퇴사자 계정, 임시 계정이 남아 있으면 서버 접근 경로가 늘어납니다.

권한이 높은 그룹에 불필요한 사용자가 포함되어 있으면 작은 실수가 큰 장애로 이어질 수 있습니다.


1) 로그인 가능한 계정 추출

awk -F: '($7=="/bin/bash" || $7=="/bin/sh"){print $1, $3, $7}' /etc/passwd

/etc/passwd

/etc/passwd는 계정 기본 정보를 저장하는 파일입니다.

각 줄은 :로 구분되며, 사용자명, UID, GID, 홈 디렉터리, 로그인 셸 같은 정보가 들어 있습니다.

awk -F:

awk -F:는 콜론을 구분자로 사용하겠다는 의미입니다.

/etc/passwd의 포맷을 보면 $1은 사용자명, $3은 UID, $7은 로그인 셸입니다.

/bin/bash 또는 /bin/sh

로그인 셸이 /bin/bash 또는 /bin/sh이면 대화형 로그인 가능성이 있습니다.

반대로 /sbin/nologin이나 /bin/false이면 일반적으로 로그인 목적 계정이 아닙니다.


2) 그룹 소속 확인

id appuser

id

id는 특정 사용자의 UID, GID, 보조 그룹 목록을 보여줍니다.

운영에서 중요한 것은 보조 그룹입니다. 예를 들어 wheel, docker, adm 같은 그룹은 권한이 강할 수 있으므로 포함 여부를 주의해서 봐야 합니다.


3) 패스워드 상태와 만료 정책 확인

passwd -S appuser
chage -l appuser

passwd -S

passwd -S는 계정의 패스워드 상태를 요약해서 보여줍니다.

잠김 상태인지, 패스워드가 설정되어 있는지 확인할 때 사용합니다.

chage -l

chage -l은 패스워드 만료일, 최소 사용일, 최대 사용일, 경고일을 보여줍니다.

운영 계정은 패스워드 정책이 없으면 장기간 같은 비밀번호를 사용할 수 있어 위험합니다.


신규직원 실습 절차

  1. 로그인 가능한 계정을 추출합니다.

  2. UID와 셸 기준으로 이상 계정을 분류합니다.

  3. 그룹 소속과 패스워드 정책을 확인합니다.

  4. 조치 대상 목록을 파일로 저장합니다.


연계실습

  • 연계실습 텍스트: passwd/group 기반 계정 감사

  • 실습 바로 시작: 문제 215 실습 시작하기 →



연계 실습

이 글에서 다룬 내용을 직접 명령어로 쳐 보면 훨씬 오래 남습니다.

  • 리눅스마스터 2급 실기 계정 관리 문제 →
  • RHCSA 사용자·권한 실습 →

댓글 0

아직 댓글이 없습니다. 궁금한 점이나 풀이 경험을 남겨 보세요.