kinit
Debian Buster에서 Kerberos 인증 작동을 테스트했습니다. 이제 나는 그것을 결합하려고 노력합니다Kerberos를 사용하여 로그인하기 위한 PAM설치 libpam-krb5
하고 구성합니다 pam-auth-update
. 그러나 문서에는 다음과 /usr/share/doc/libpam-krb5/README.Debian.gz
같이 명시되어 있습니다.
이 구성에서는 사용자가 /etc/shadow에 나열되어야 합니다. 그렇지 않으면 pam_unix 계정 모듈이 실패합니다. 일반적으로 Kerberos 인증만 사용해야 하는 계정은 adduser --disabled-password를 사용하여 생성해야 합니다. 계정이 /etc/shadow에 전혀 나열되지 않도록 하려면(예를 들어 nsswitch 구성 파일이 아닌 다른 소스를 사용하는 경우) pam_unix를 실행하지 않는 데 필요한 대신 pam_krb5 계정 모듈을 충분한 것으로 표시할 수 있습니다. 즉, 로컬에서 계정을 비활성화할 수 없습니다.
/etc/shadow
Kerberos 데이터베이스 외에 계정을 로컬로 다시 나열하고 싶지 않습니다. 왜냐하면 그것은 나에게 중복되는 작업이기 때문입니다. 기본 설정을 사용하여 로그인을 시도했는데 다음 오류가 발생했습니다.
Debian GNU/Linux 10 deb10-base ttyS0
deb10-base login: ingo
Password:
Authentication failure
journalctl
내가 이것을 찾은 후 :
Oct 06 15:33:08 deb10-base login[374]: pam_krb5(login:auth): user ingo authenticated as [email protected]
Oct 06 15:33:08 deb10-base login[374]: pam_unix(login:account): could not identify user (from getpwnam(ingo))
Oct 06 15:33:08 deb10-base login[374]: Authentication failure
이것이 바로 위에 인용된 문서에서 기대하는 것입니다. 그런데 댓글에 PAM 구성 파일을 수정하는 위치와 내용이 이해가 되지 않습니다. 현재 구성 파일이 설명서와 일치하지 않습니다.
PAM 구성 파일의 어떤 항목을 수정해야 합니까?필수의도착하다적절한? 어쩌면 다른 할 일이 있을까요? 가능하다면 pam-auth-update 구성 부분을 유지하고 싶습니다.
고쳐 쓰다:pam-auth-update
옵션을 시작하고 확인했다는 사실을 잊어버렸습니다 .
[*] Kerberos authentication
[*] Unix authentication
[*] Create home directory on login
'를 선택 취소하려고 했습니다.유닉스 인증"하지만 이로 인해 로그인을 사용할 수 없게 됩니다. 루트로 로그인하지 않아도 다시 로그인할 수 없습니다. 스냅샷에서 복원해야 합니다.
답변1
여기에는 두 가지 불완전한 옵션이 있습니다.
- 결과 블록을 수정
/etc/pam.d/common-account
하고pam-auth-update
더 이상 건드리지 않는 것을 수락합니다. dpkg-divert
업데이트 수정/usr/share/pam-configs/krb5
, 재생성/etc/pam.d/common-account
및 수락libpam-krb5/usr/share/pam-configs/krb5
더 이상 영향을 미치지 않을 것입니다.
첫 번째 경우에는 OK required
로 변경하세요.sufficient
account required pam_krb5.so minimum_uid=1000
두 번째 경우에는 Account:
단락에서 동일한 작업을 수행합니다. 그러면 /etc/pam.d/common-account
재생성 후 위와 같은 변경이 발생합니다.
답변2
더 많은 조사를 해보니 Kerberos를 인증에만 사용하는 것이 일반적인 문제인 것 같습니다. 인증만 받고 승인은 받지 않습니다. 이 경우 비밀번호가 비활성화된 로컬 계정으로 인증이 부여됩니다. 따라서 다른 소스의 계정을 제공하지 않는 경우에는 다른 로컬 계정을 관리해야 합니다.
NSS를 사용하면 원격 소스, 특히 LDAP 서버에서 계정을 얻을 수 있습니다. 이러한 방식으로 LDAP 서버 또는 로컬 /etc/passwd
파일(주로 루트와 같은 시스템 계정)에 로그인할 때 항상 인증용 계정을 찾을 수 있습니다. LDAP 서버의 한 곳에서만 계정을 관리하면 됩니다.
저는 회계를 위해 LDAP 서버를 설정하고 있습니다.