pam의 비밀번호 요구 사항을 비활성화하거나 수정하려면 어떻게합니까? 화려합니다. 인터넷이나 인터넷에 연결되지 않은 내부

Fedora 19를 사용하고 있습니다. 기본적으로 “password”와 같은 잘못된 암호를 비활성화하기 위해 pam으로 설정되어 있습니다. 이거 좋다 이 기본값을 변경하려고하면 화려합니다. 인터넷이나 인터넷에 연결되지 않은 내부 물건을 테스트하기위한 상자입니다. 암호가 틀리면 테스트 프로세스가 쉬워집니다. 또는 도대체 어떻게 암호 요구 사항을 변경합니까?

시스템 인증

man pam_cracklib다른 비밀번호 요구 사항을 설정하는 좋은 예가 있습니다. 그래서 나는 /etc/pam.d/system-auth다음과 같은 줄을 보게됩니다.

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
password    requisite     pam_pwquality.so try_first_pass retry=3 authtok_type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    required      pam_deny.so

* headdesk *. 내 경험상 이와 같은 경고는 패키지 관리자가 실행되거나 무작위로 실행될 때마다 변경 사항이 지워진다는 것을 의미합니다.

authconfig

authconfig다음 단계는 … “authconfig”라는 이름의 모든 파일을 찾습니다. /etc/sysconfig/authconfig유망 해 보인다. 그리고 변덕스러운 편집 내용을 파괴하는 것에 대한 경고는 없습니다. 이 줄을 찾아서 USEPWQUALITY=yes바꿉니다. 이제 나는 달린다.

# authconfig --test
<snip>
pam_pwquality is enabled (try_first_pass retry=3 authtok_type=)
<snip>

wtf. man authconfig조금 더 자세히 읽어 봅시다 . 오! 해당 파일 을 authconfig에서 읽지 않은 것 같습니다 . 변경되었습니다 . 그렇다면 … authconfig를 어떻게 구성합니까? 매뉴얼에서는을 system-config-authentication설치하고 pam_pwquality를 비활성화하는 확인란과 유사한 것을 제공하지 않습니다. 매뉴얼에서 다음 제안은 명령 행 옵션입니다. 큰! 나는 커맨드 라인 도구를 좋아한다. 문서화 된 명령 행 옵션 중 어느 것도 pam_pwquality를 비활성화하지 않습니다.

pwquality.conf

아론의 대답 덕분에, 나는 페도라 전에 몇 년이하기로 결정 사실을 알게 구성 암호 품질 요구 사항에 장소. 불행히도 파일 및에 문서화 된 바와 같이 (1) 사전 검사를 비활성화하는 방법이 없으며 (2) 허용되는 암호 길이를 6 미만으로 설정할 수 없습니다./etc/security/pwquality.conf man 5 pwquality.conf



답변

의 소스 코드를 대충 살펴 후 /usr/sbin/authconfig/usr/share/authconfig/authinfo.py:

  • 매뉴얼 페이지가 불완전하고 스크립트가 허용하는 전체 옵션 목록이 authconfig --help
  • pwquality 자체를 제외한 모든 것을 명령 줄에서 무시할 수 있습니다 ( /etc/security/pwquality.conf비밀번호 최소 길이와 같은 설정 포함) . IMHO, 이것은 버그 이며보고해야합니다.
  • authinfo.py2489 및 2156 행 에서 :

    def read(self):
      self.readSysconfig()
      ...
      self.readPAM(ref)
      ...

    먼저 readSysconfig읽습니다 /etc/sysconfig/authconfig. 그런 다음 거기에 넣은 readPAM내용이 /etc/pam.d/*(특히 password_auth*system_auth*) 내용으로 덮어 씁니다 .

      if module.startswith("pam_cracklib") or module.startswith("pam_pwquality"):
         self.setParam("enablePWQuality", True, ref)

TL; DR : 무시되지 않거나 옵션이 아닌 옵션의 경우 자동 생성 태그가 지정된 파일을 포함 하여 현재 구성에서 설정을 가져옵니다 . 작동하게하려면 다음 /etc/sysconfig/authconfig 같이 표시된 행을 편집 하고 제거하십시오.grep -E pwq\|crack /etc/pam.d/*


편집 : 위의 조언이 여전히 작동하지 않는 두 번째 버그가 있습니다 : 라인 2248 :

    # Special handling for pam_pwquality and pam_passwdqc: there can be
    # only one.
    if self.enablePWQuality and self.enablePasswdQC:
            self.setParam("enablePasswdQC", False, ref)
    if not self.enablePWQuality and not self.enablePasswdQC:
            self.setParam("enablePWQuality", True, ref)

품질 관리의 두 가지 구현 중 하나를 선택해야합니다. 그렇지 않으면 하나가 선택됩니다! 첫 번째 버그와 결합하면 비활성화 할 수 없습니다.


답변

system-auth파일 을 수동으로 제어 할 수 있습니다. 새 파일을 작성하고 (복사하여 시작할 수 있음 system-auth-ac) system-auth새 파일을 가리 키 도록 symlink를 변경 하십시오.

authconfig는 더 이상 symlink 또는 가리키는 파일을 건드리지 않으므로 PAM 구성의이 부분을 업데이트해야합니다. 그러나 authconfig는 여전히 system-auth-ac파일을 업데이트 하므로 필요할 경우 계속해서 참조로 사용할 수 있습니다. 약간의 영리함을 가지고, 당신은 include그것을 당신의 로컬 카피에 넣을 수도 있습니다 .

같은 다른 심볼릭 링크도 확인해야합니다 password-auth. 그들에게 동일한 치료를 제공해야 할 수도 있습니다.


로부터 authconfig(8)맨 아래 Files:

/etc/pam.d/system-auth
    Common PAM configuration for system services which include it using
    the include directive. It is created as symlink and not relinked if
    it points to another file.

/etc/pam.d/system-auth-ac
    Contains the actual PAM configuration for system services and is the
    default target of the /etc/pam.d/system-auth symlink. If a local
    configuration of PAM is created (and symlinked from system-auth
    file) this file can be included there.

따라서 system-auth파일 인 경우 authconfig는로 링크되도록 변경합니다 system-auth-ac. 그러나 system-auth심볼릭 링크 인 경우 authconfig는이를 그대로 둡니다.


답변

그것은 통해 구성 가능한 것으로 보인다 /etc/security/pwquality.conf

출처 : https://fedoraproject.org/wiki/Features/PasswordQualityChecking


답변

여전히 명령 행에서 변경할 수 있습니다. 경고 메시지가 표시되지만 암호가 너무 짧고 복잡도 규칙을 충족하지 않는 암호를 설정할 수 있습니다.


답변

방금 관련 검색을 바탕으로이 질문을 찾았으며 답이 있다고 생각합니다.

Fedora는 authconfig 생성 파일에 대한 심볼릭 링크를 만듭니다. 즉. system-auth에 링크합니다 system-auth-ac. system-auth자체 파일 을 만드는 경우 이론적으로 향후 변경 사항 auth-config은 계속 업데이트 system-auth-ac되지만 수정 된 파일은 변경되지 않습니다.

실제로 매우 우아하지만 *-ac파일이 무엇을했는지 궁금 할 때만 발견했습니다 .