Linux

22.02.21

가로선 2022. 2. 21. 16:23

 

   목차   

 

1. /etc/shadow 분석

2. 관련 명령어

 - chage

3. /etc/default/useradd 분석

4. /etc/login.defs 분석


 

   /etc/shadow 분석   

 

/etc/shadow 중 aa 사용자 계정에 대해 분석

 - aa:  : ID
 - $6$bK21hsrm~: : 암호화된 패스워드(SHA512 암호화 방식 사용)
    - !! : passwd 세팅 되있지 않다는 표시(패스워드 지정하지 않았다면 기본값)
 - 19044: : 마지막으로 패스워드 변경한 날짜
    - 1970.1.1이 기준 + 19044 = 오늘 날짜
 - 3: : 패스워드 최소 사용기간(이 기간동안은 패스워드 변경 불가)

    - 0이 기본값
 - 30: : 패스워드 최대 사용기간, 개인정보보호법 통상 45일, 최대 6개월이내 변경

    - 99999는 무제한(기본값)
 - 4: : 경고 메세지 출력일
 - 10: : 유예기간
 - 19092: : 계정 만료일

 

 

   관련 명령어   

 

   chage   

 

 - -l : list 보기

    - 정보 출력

 

chage -l 옵션을 사용하여 test1 사용자에 대한 암호 관련 리스트 출력

 - -m : 패스워드 최소 사용일

    - 2로 설정했다면 2일동안은 패스워드 변경 불가

    ex) chage -m 2 '사용자 계정'

 

chage -m옵션을 사용하여 패스워드 최소 사용일 변경

 

패스워드 최소 사용일 동안 pw 변경 요청시 오류

    - 패스워드 최소 사용일 안에 pw 변경 요청시 오류가 난다(최소 사용일 지난 후에 가능)

 

패스워드 최소 사용일 지난 후 pw 변경 가능

    - windows cmd에서 접속하려면 ssh프로토콜을 사용해서 linux에 접근 가능

 

 - -M : 패스워드 최대 사용일

    - 40으로 설정했다면 40일 후에는 패스워드 변경해야함

    ex) chage -M 40 '사용자 계정'

 

chage -M 옵션을 통해 패스워드 최대 사용일 변경

    - 마지막 암호를 바꾼 날을 기준으로 암호 만료기간 설정

 

 - -W : 경고 메세지 출력일

    - 7로 설정했다면 PW 만료일 7일전부터 만료일을 알리는 메세지가 login시 출력됨

    ex) chage -W 7 '사용자 계정'

 

chage -W 옵션을 통해 경고 메세지 출력일 변경

 

암호 만료 3일전 로그인 시 메세지

    - date의 -s 옵션을 통해 날짜를 변경해서 테스트 해봄

        ex) date -s 2022/03/31 

 

- -I : 유예기간

    - 10일로 설정했다면 패스워드 만료후 10일동안은 login시 패스워드 변경 가능 
    - 패스워드 변경 사용가능함을 알리는 메세지 출력 

    - 출장 등의 이유로 변경을 못할 수 있으므로 무조건 만료시키면 안됨

    ex) chage -I 10 '사용자 계정'

 

chage -I 옵션을 통해 암호 유예기간 설정

 

유예기간 남았을 시 pw 변경 가능 / 메세지

 

유예기간 지났을 시 pw 변경 불가능(접속 불가능) / 메세지

 

 - -E : 계정 만료일

    - 모두 패스워드와 관련된 사항이지만 이 부분만 계정과 연관됨. 

    - 패스워드를 변경하는 패스워드 변경일일로부터 모든 설정이 다시 Reset된다

    - 그러나, 이 계정 만료일 부분은 Reset 되지 않음
    - 명확한 기일이 정해진 프로젝트 인력 등에게 설정 / 내부 직원 x

    ex) chage -E 2022/04/20 '사용자 계정'

 

chage -E 옵션을 통해 계정 만료일 설정

 

계정 만료일이 지난 후에는 접속 불가 / 메세지

 

유예 기간일 시 암호 변경 가능 / 비밀번호는 어렵게 지정해야 설정이 된다

 

암호 변경 후, 계정 만료일을 제외하고는 전부 날짜가 수정된다

 

암호 만료가 5/19 이여도, 계정 만료일인 4/20이 넘어가면 접속 x

 

옵션 한개씩이 아닌 여러개 주어도 설정이 가능하다

 

 

   /etc/default/useradd 분석   

 

vi /etc/default/useradd

 

 - GROUP=100 : 그룹 설정(100번은 users 그룹)

 

useradd -N 옵션을 통해 group 설정

    - useradd -N 옵션을 통해 /etc/default/useradd의 그룹으로 조인 가능

 

 - HOME=/home : 홈 디렉터리 수정 가능

 

홈 디렉터리를 /home_1로 수정

 

사용자 계정 생성시, 기본 홈디렉터리가 /home_1로 바뀌어짐

 

 - INACTIVE=-1 : 유예기간 설정(-1은 설정 안되있는 것)

 - EXPIRE = : 암호 만료날짜

 

유예기간=5, 암호만료날짜 4월1일로 변경

 

따로 옵션을 통해 설정해 주지 않아도 설정값 변경

 

 - SHELL=/bin/sh : 사용자 shell 변경(/bin/bash가 기본값)

 

사용자 shell 변경

 

/sbin/nologin으로 shell을 변경하여 접속하지 못한다는 메세지 출력

 

 - SKEL=/etc/skel : 사용자 계정을 생성하면 자신의 홈 디렉터리에 /etc/skel의 파일들을 가져옴

                         즉, 사용자 계정을 만들때마다 배포되는 파일들 저장 디렉터리 수정 가능

 

skel 디렉터리 변경

 

/etc/skel_1 디렉터리에 mytest.txt라는 파일 생성

 

새로운 사용자 mytest5의 skel 디렉터리가 /etc/skel_1이므로 그 안에있는 mytest.txt가 mytest5의 홈 디렉터리로 옮겨짐

 

 - CREATE_MAIL_SPOOL=yes : /var/spool/mail 디렉터리에 사용자 계정 사서함 만드는 것

    - yes or no로 수정 가능

 

메일 사서함 만들지 x

 

새로운 사용자 mytest6의 사서함이 /var/spool/mail에 만들어지지 않음

 

 

   /etc/login.defs 분석   

 

메일 사서함 위치 / password 설정

    - 패스워드 최대 사용기간, 최소 사용기간, 최소 길이, 경고 메세지 출력일 설정 가능

 

패스워드 최대 사용기간 = 30일, 최소 사용기간 = 3일, 경고 메세지 출력일 =5일로 변경

 

아무런 옵션 없이 retest라는 사용자를 만들어도 암호 설정 기본값들이 변해져있다

 

UID, GID 설정 / 처음 만들었을 때 기본 UID, GID가 1000인 이유

 

암호화 방식 SHA-512 사용