5.3. 암호 만료 후 일정 시간 자동 비활성화


28일 이상 암호를 변경하지 않는 dc=example,dc=com 항목에서 사용자를 비활성화하는 시간 기반 잠금 정책을 구성하려면 다음 절차를 따르십시오.

사전 요구 사항

  • 사용자는 해당 항목에 passwordExpirationTime 속성이 설정되어 있어야 합니다.

절차

  1. 암호 만료 기능을 활성화합니다.

    # dsconf -D "cn=Directory Manager" ldap://server.example.com config replace passwordExp=on
  2. 계정 정책 플러그인을 활성화합니다.

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin account-policy enable
  3. 플러그인 구성 항목을 구성합니다.

    # dsconf -D "cn=Directory Manager" ldap://server.example.com plugin account-policy config-entry set "cn=config,cn=Account Policy Plugin,cn=plugins,cn=config" --always-record-login yes --always-record-login-attr lastLoginTime --state-attr non_existent_attribute --alt-state-attr passwordExpirationTime --spec-attr acctPolicySubentry --limit-attr accountInactivityLimit

    이 명령은 다음 옵션을 사용합니다.

    • --always-record-login yes: 로그인 시간 로깅을 활성화합니다. 이는 acctPolicySubentry 특성이 설정되어 있지 않은 경우에도 COS(Class of Service) 또는 역할을 계정 정책과 함께 사용해야 합니다.
    • --always-record-login-attr lastLoginTime: 계정 정책 플러그인이 사용자의 lastLoginTime 속성에 마지막 로그인 시간을 저장하도록 구성합니다.
    • --state-attr non_existent_attribute: 존재하지 않는 dummy 속성 이름으로 계정 정책을 평가하는 데 사용되는 기본 시간 속성을 설정합니다.
    • --Alt-state-attr passwordExpirationTime: 확인할 대체 속성으로 passwordExpirationTime 속성을 사용하도록 플러그인을 구성합니다.
    • --spec-attr acctPolicySubentry: acctPolicySubentry 특성이 설정된 항목에 정책을 적용하도록 Directory Server를 구성합니다. CoS 항목에서 이 속성을 구성합니다.
    • --limit-attr accountInactivityLimit: 계정 정책 항목의 accountInactivityLimit 속성이 마지막 암호가 변경된 후 계정이 비활성화된 시간을 저장하도록 구성합니다.
  4. 인스턴스를 다시 시작합니다.

    # dsctl instance_name restart
  5. 계정 비활성화 정책 항목을 생성합니다.

    # ldapadd -D "cn=Directory Manager" -W -H ldap://server.example.com -x
    
    dn: cn=Account Inactivation Policy,dc=example,dc=com
    objectClass: top
    objectClass: ldapsubentry
    objectClass: extensibleObject
    objectClass: accountpolicy
    accountInactivityLimit: 2419200
    cn: Account Inactivation Policy

    accountInactivityLimit 속성의 값은 암호가 변경된 후 Directory Server가 계정 2419200 초(28일)를 비활성화합니다.

  6. CoS 템플릿 항목을 생성합니다.

    # ldapadd -D "cn=Directory Manager" -W -H ldap://server.example.com -x
    
    dn: cn=TemplateCoS,dc=example,dc=com
    objectClass: top
    objectClass: ldapsubentry
    objectClass: extensibleObject
    objectClass: cosTemplate
    acctPolicySubentry: cn=Account Inactivation Policy,dc=example,dc=com

    이 템플릿 항목은 계정 비활성화 정책을 참조합니다.

  7. CoS 정의 항목을 생성합니다.

    # ldapadd -D "cn=Directory Manager" -W -H ldap://server.example.com -x
    
    dn: cn=DefinitionCoS,dc=example,dc=com
    objectClass: top
    objectClass: ldapsubentry
    objectclass: cosSuperDefinition
    objectclass: cosPointerDefinition
    cosTemplateDn: cn=TemplateCoS,dc=example,dc=com
    cosAttribute: acctPolicySubentry default operational-default

    이 정의 항목은 CoS 템플릿 항목을 참조하고 acctPolicySubentry 속성이 cn=Account Inactivation Policy,dc=example,dc=com 으로 설정된 값을 사용하여 각 사용자 항목에 표시되도록 합니다.

검증

  1. 사용자의 passwordExpirationTime 속성을 구성한 비활성 시간보다 오래된 값으로 설정합니다.

    # ldapmodify -H ldap://server.example.com -x -D "cn=Directory Manager" -W
    
    dn: uid=example,ou=People,dc=example,dc=com
    changetype: modify
    replace: passwordExpirationTime
    passwordExpirationTime: 20210101000000Z
  2. 다음 사용자로 디렉터리에 연결을 시도합니다.

    # ldapsearch -H ldap://server.example.com -x -D "uid=example,ou=People,dc=example,dc=com" -W -b "dc=example,dc=com"
    ldap_bind: Constraint violation (19)
    	additional info: Account inactivity limit exceeded. Contact system administrator to reset.

    Directory Server에서 액세스를 거부하고 이 오류를 반환하는 경우 계정 비활성이 작동합니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동