AWS
리눅스 계정 및 그룹 관리 가이드: /etc/shadow, /etc/group, /etc/default/useradd 파일 분석
H.S-Backend
2024. 9. 27. 11:51
반응형

1. /etc/shadow 파일 분석: 계정 보안의 핵심
/etc/shadow 파일은 리눅스 시스템에서 사용자 계정의 패스워드 및 기타 중요한 정보가 저장된 파일입니다. 이 파일은 보안이 중요한 정보들을 포함하고 있으며, 일반 사용자에게는 접근 권한이 제한되어 있습니다.
예시
a:$6$hwky6:20023:3:30:5:5:20032:
필드 분석
- a: 사용자 ID (계정명).
- $6$hwky6: 암호화된 패스워드 (SHA-512 알고리즘 사용).
- $6$: SHA-512 알고리즘을 사용하여 패스워드가 암호화되었습니다.
- hwky6: Salt 값으로, 동일한 비밀번호라도 다른 해시 값이 생성되도록 합니다.
- 20023: 패스워드를 마지막으로 수정한 날짜 (1970년 1월 1일을 기준으로 한 일수).
- 3: 패스워드 최소 사용일 (chage -m 명령어로 설정 가능).
- 30: 패스워드 최대 사용일 (chage -M 명령어로 설정 가능).
- 5: 패스워드 만료 전에 경고 메시지를 출력하는 기간 (chage -W 명령어로 설정 가능).
- 5: 패스워드 만료 후 계정 비활성화까지의 유예 기간 (chage -I 명령어로 설정 가능).
- 20032: 계정 만료일 (chage -E 명령어로 설정 가능, yyyy/mm/dd 형식으로 표시).
추가 정보
- 패스워드 필드의 특수 기호 (!, *):
- !: 계정이 잠긴 상태로, 사용자가 로그인할 수 없습니다.
- *: 패스워드가 설정되지 않았거나, 패스워드가 비활성화된 상태입니다.
- 패스워드 만료일 계산: date -d "1970-01-01 +20032 days" 명령어로 특정 날짜를 계산할 수 있습니다.
2. /etc/group 파일 분석: 그룹 관리의 중심
/etc/group 파일은 리눅스 시스템에서 그룹 정보를 관리합니다. 그룹은 사용자의 파일 및 디렉토리에 대한 접근 권한을 설정하는 중요한 역할을 합니다.
예시
a:x:10000:b
필드 분석
- a: 그룹명.
- x: 그룹 패스워드 필드 (/etc/gshadow 파일에 실제 패스워드가 저장됨).
- 10000: 그룹 ID (GID).
- b: 그룹에 속한 사용자들.
추가 정보
- /etc/gshadow 파일: 그룹 패스워드와 관련된 보안 정보가 저장된 파일로, /etc/group 파일의 보안을 강화한 버전입니다.
- GID 범위:
- 0~99: 시스템 예약 그룹.
- 100~999: 시스템에서 사용하는 그룹.
- 1000 이상: 일반 사용자 그룹.
그룹 관리 명령어
- 그룹 생성: groupadd 그룹명
- 그룹 삭제: groupdel 그룹명
- 그룹 정보 수정: groupmod 옵션 그룹명
- 사용자를 그룹에 추가: usermod -aG 그룹명 사용자명
3. /etc/default/useradd 파일 분석: 계정 생성의 기본 설정
/etc/default/useradd 파일은 새 사용자 계정을 생성할 때의 기본 설정을 정의합니다. 이 설정들은 새 계정이 생성될 때 자동으로 적용됩니다.
예시
GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
필드 분석
- GROUP=100: 기본 그룹 ID. 사용자명과 동일한 그룹을 생성하지 않은 경우 이 그룹에 소속됩니다.
- HOME=/home: 홈 디렉토리의 기본 경로.
- INACTIVE=-1: 패스워드 만료 후 계정 비활성화 기간 (-1은 비활성화되지 않음을 의미).
- EXPIRE=: 계정 만료일 (yyyy/mm/dd 형식).
- SHELL=/bin/bash: 기본 셸.
- SKEL=/etc/skel: 새로 생성된 사용자의 홈 디렉토리에 복사되는 파일 및 디렉토리의 위치.
- CREATE_MAIL_SPOOL=yes: 사용자 계정 생성 시 메일 스풀 파일 생성 여부.
추가 설정 옵션
- UMASK=022: 새로 생성되는 파일 및 디렉토리의 기본 권한 설정 (022는 파일을 644, 디렉토리를 755로 설정).
- USERGROUPS_ENAB=yes: 사용자가 삭제될 때 해당 사용자가 소속된 그룹도 함께 삭제할지 여부를 설정합니다.
반응형