보안/시스템보안

[시스템 보안] 패스워드 계정 관리

antoroong 2025. 2. 3. 23:22

[2002.06.13]

  1. 계정 생성 시 관련 파일
    1. /etc/login.defs ← 기본 사용자 정보 정의
    2. /etc/skel ←사용자 셸 환경 설정 파일
  2. 사용자 정보 변경

#usermod [옵션] [설정값] [계정명]

<옵션>

-l : 사용자 계정

-u : UID

-g : GID

-c : 설명

-d : 사용자의 홈디렉토리

-s : 셸 종류

  1. 패스워드 정보 변경

#chage [옵션] [설정값] [계정명]

<옵션>

-l : 사용자 패스워드 설정 정보 출력 소문자(l(엘)임)

-m : 최소 변경일

-M : 최대 유효기간

-W : 만료 경고일

-I : 비활성화 기간 (대문자 I(아이) 임

-E : 계정 만료 기간

<login.defs>

PASS_MAX_DAYS 999 ← 패스워스 최대유효기간

PASS_MIN_DAYS 1 ← 패스워드 최소 변경가능일(1이면 24시간이후 변경 가능 , 0이면 언제든 가능)

PASS_MIN_LEN 5 ← 패스워드 최소 길이

PASS_WARN_AGE 10 ← 패스워드 만료 경고일

 


패스워드 계정 관리 /etc/passwd

Account : 계정

Password : 패스워드 지정

User ID : 사용자 ID

Group ID : 그룹 ID

Commnet : 설명

Home DIr : 사용자 홈

Shell : 셸 종류

 


패스워드 계정 관리 /etc/shadow

대부분 /etc/login.defs 에서 설정값 확인 가능

 

 

6이 SHA-512라고 했다

 

vi /etc/shadow 보면

$6을 볼 수 있는데 이것이 SHA-512로 암호화 되었따는 의미 그 다음 $이하는 random salt값

그 이하 $는 암호화된 password 값이다

 

해쉬함수의 비트값이 높아질 수록 충돌확률이 낮아진다

값은 갑이여도 결과값이 다른값이 나올 확률이 높아지기도 한다

→생일 역설

 

 

그리고 mysql들어가서 어떤 해시함수를 쓰는지 보자