Tôi đã định cấu hình xác thực PAM để sử dụng Kerberos và có thể xác thực chính xác với hiệu trưởng của mình bằng thông tin xác thực Kerberos của họ.
Tôi gặp rắc rối khi cố gắng tạo hiệu trưởng với mật khẩu đã hết hạn:
kadmin: addprinc +needchange test_principal
Khi tôi thử đăng nhập (từ VT hoặc trình chào đồ họa), sau khi nhập đúng mật khẩu, tôi nhận được thông báo dự kiến rằng mật khẩu đã hết hạn và hệ thống nhắc tôi tạo mật khẩu mới. Sau khi tôi đã làm điều đó, xác thực thất bại với lỗi này trong kdc.log
:
krb5kdc[...](info): TGS_REQ (4 etypes {18 17 16 23}) 192.168.0.200: NO PREAUTH: authtime 0, test_principal@MY.REALM for host/server.my.realm@MY.REALM, Generic error (see e-text)
và lỗi sau (không đáng ngạc nhiên) trong /var/log/auth.log
:
pam_krb5(gdm3:auth): (user test_principal) credential verfication failed: KDC returned error string: NO PREAUTH
Một số lưu ý
- Bảng liệt kê các thuộc tính của hiệu trưởng (thông qua
getprinc
trongkadmin.local
) show 0 thất bại trong nỗ lực đăng nhập - Nếu tôi tạo tài khoản mà không có
+needchange
cờ, tôi có thể xác thực chính xác. - Nếu tôi thêm các
+needchange
lá cờ (thông quamodprinc
trongkadmin.local
) sau khi người dùng đã xác thực thành công một lần, tôi nhận được hành vi dự kiến; cụ thể là, người dùng được nhắc thay đổi mật khẩu và sau đó xác thực của họ thành công. - Hiệu trưởng này không có mục tương đương
/etc/passwd
nhưng được hỗ trợ bởi mục LDAP. Như đã đề xuất ở nơi khác, tôi đã thử tạo hiệu trưởng của mình như thế này:
kadmin: addprinc -requires_preauth +needchange test_principal
Điều này làm cho không có sự khác biệt.
Trường hợp sử dụng của tôi
Tôi đang di chuyển từ một hệ thống NIS cũ và tôi muốn cung cấp tính liên tục cho người dùng của mình. Tôi muốn cho họ nhập mật khẩu cũ của họ nhưng sau đó buộc phải thay đổi chúng để tuân thủ các quy tắc chính sách mật khẩu chặt chẽ hơn mà tôi dự định thực thi thông qua Kerberos.
Tôi đang chạy MIT Kerberos V trên Debian Wheezy.