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.py
2489 및 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
파일이 무엇을했는지 궁금 할 때만 발견했습니다 .