Realated branch debian13
Summary created with help of Claude AI (Sonnet 4.5)
Debian 13 (Trixie) Compatibility Changes for linuxmuster-linuxclient7
Summary
Debian 13 changes the Kerberos ticket handling in PAM/SSSD, breaking the existing Active Directory authentication workflow. These modifications restore full functionality.
Required Changes
-
/usr/lib/python3/dist-packages/linuxmusterLinuxclient7/ldapHelper.py
-
/usr/share/linuxmuster-linuxclient7/scripts/onLoginLogoutAsRoot
-
Problem:
PAM does not create Kerberos tickets for users during login.
-
Solution:
Create Kerberos tickets before the onLogin script runs.
-
Implementation:
Add ticket creation logic in the if pamType == "open_session" block:
- Check if valid ticket exists at
/tmp/krb5cc_<UID>
- Try to copy from SSSD cache (
/var/lib/sss/db/ccache_<username>)
- Try to copy from PAM-created tickets (
/tmp/krb5cc_<UID>_*)
- Fallback: Use machine account ticket for LDAP access
-
Critical for:
- LDAP queries with GSSAPI
- Mounting CIFS shares with
sec=krb5
- GPO processing
-
/etc/pam.d/common-auth
-
/etc/pam.d/common-session
-
/etc/sssd/sssd.conf
-
/etc/krb5.conf
-
Optional: /etc/krb5.conf.d/pam_krb5.conf
Installation Steps
-
Install required packages:
bash
-
Apply changes to Python files (ldapHelper.py, onLoginLogoutAsRoot)
-
Update PAM configuration files (common-auth, common-session)
-
Update SSSD and Kerberos configuration
-
Restart services:
bash
systemctl restart sssd
systemctl restart gdm # if using graphical login
Testing
bash
# Test domain join
sudo linuxmuster-linuxclient7 setup
# Test user login
su - username@linuxmuster.lan
# Verify Kerberos ticket
klist
# Should show:
# Ticket cache: FILE:/tmp/krb5cc_<UID>
# Default principal: username@LINUXMUSTER.LAN
# Test LDAP connectivity (in onLogin script logs)
# Should NOT show "Cannot talk to LDAP" errors
Realated branch debian13
Summary created with help of Claude AI (Sonnet 4.5)
Debian 13 (Trixie) Compatibility Changes for linuxmuster-linuxclient7
Summary
Debian 13 changes the Kerberos ticket handling in PAM/SSSD, breaking the existing Active Directory authentication workflow. These modifications restore full functionality.
Required Changes
/usr/lib/python3/dist-packages/linuxmusterLinuxclient7/ldapHelper.py
Problem:
User Kerberos tickets are not available when LDAP queries are needed.
Solution:
kinit -k HOSTNAME$@REALM)/tmp/krb5cc_<UID>)Key code:
python
/usr/share/linuxmuster-linuxclient7/scripts/onLoginLogoutAsRoot
Problem:
PAM does not create Kerberos tickets for users during login.
Solution:
Create Kerberos tickets before the onLogin script runs.
Implementation:
Add ticket creation logic in the
if pamType == "open_session"block:/tmp/krb5cc_<UID>/var/lib/sss/db/ccache_<username>)/tmp/krb5cc_<UID>_*)Critical for:
sec=krb5/etc/pam.d/common-auth
Problem:
PAM authentication stack does not trigger Kerberos ticket creation.
Solution:
Configure pam_krb5 as primary authentication method.
Configuration:
Key points:
/etc/pam.d/common-session
Problem:
Session setup does not maintain Kerberos tickets.
Solution:
Add pam_krb5 session handler.
Configuration:
/etc/sssd/sssd.conf
Problem:
SSSD does not store Kerberos tickets in expected location.
Solution:
Configure explicit credential cache settings.
Required parameters:
Critical settings:
/etc/krb5.conf
Problem:
Default Kerberos configuration does not create file-based tickets.
Solution:
Enforce FILE-based credential cache.
Configuration:
Optional: /etc/krb5.conf.d/pam_krb5.conf
Problem:
pam_krb5 needs explicit configuration for ticket storage.
Solution:
Create pam_krb5-specific configuration.
Content:
Installation Steps
Install required packages:
bash
Apply changes to Python files (ldapHelper.py, onLoginLogoutAsRoot)
Update PAM configuration files (common-auth, common-session)
Update SSSD and Kerberos configuration
Restart services:
bash
Testing
bash