[Linux] 계정 비밀번호 정책 설정

Austin·2024년 12월 10일

Linux

목록 보기
8/10

비밀번호 정책 설정하기

정책 변경 방법

  • sudo apt install libpam-pwquality
    libpam-pwquality 패키지 설치 한다.
    Linux 시스템에서 비밀번호 품질을 검사하고 강화하는 데 사용되는 PAM(Pluggable Authentication Module) 모듈이다.
  • sudo nano /etc/login.defs
    login.degs 파일에서 비밀번호 만료 경고 설정 변경한다.
    • PASS_MAX_DAYS 30
      비밀번호 만료일 : 30일
    • PASS_MIN_DAYS 2
      비밀번호 재변경 가능일 : 2일 이상
    • PASS_WARN_AGE 7
      비밀번호 만료 경고일 : 만료 7일 전
  • sudo nano /etc/pam.d/common-password
    common-password 파일에서 password requisite pam_pwquality.so retry=3 명령어를 찾아 비밀번호 복잡성, 품질 설정 변경한다
    • password requisite pam_pwquality.so retry=3 minlen=10 ucredit=-1 lcredit=-1 dcredit=-1 maxrepeat=2 reject_username difok=7

      password requisite pam_pwquality.so retry=3 minlen=10 ucredit=-1 lcredit=-1 dcredit=-1 maxrepeat=2 reject_username enforce_for_root

      이렇게 2줄을 나눠서 변경, 추가 했다.
      difok=7 명령어는 root 계정에 적용하지 않기때문에 일반사용자 정책과 root계정의 정책을 나눠 2줄로 작성 하게 됬다.

      • retry=3 : 비밀번호 입력 실패 시 다시 시도할 수 있는 횟수를 3회로 설정
      • minlen=10 : 최소 10자 길이
      • ucredit=-1 : 최소 한 개의 대문자 필요
      • lcredit=-1 : 최소 한 개의 소문자 필요
      • dcredit=-1 : 최소 한 개의 숫자 필요
      • maxrepeat=2 : 동일한 문자가 3회 이상 연속으로 사용 불가
      • reject_username : 비밀번호에 사용자 이름 포함 불가
      • difok=7 : 이전 비밀번호와 7자 이상 달라야 함 (root 계정 제외)
      • enforce_for_root : root 사용자에게도 정책 적용

모든 계정 비밀번호 변경하기

  • sudo passwd root
    root 계정 비밀번호 변경
  • passwd username
    사용자 계정 비밀번호 변경

위와 같은 명령어로 모든 계정의 비밀번호를 변경하면된다.

difok=7 명령어에는 enforce_for_root 명령어가 적용되지 않아 root계정의 비밀번호 변경, root 권한의 비밀번호 변경에는 적용되지 않는다.
만약, sudo passwd username으로 sudo로 root 권한을 주어 비밀번호를 변경하면 root 계정 비밀번호와 같은 정책만 적용받게 되어 difok=7의 값은 무시하게 된다.

0개의 댓글