Les utilisateurs ne disposant pas d'un principal Kerberos peuvent être automatiquement migrés vers un domaine Kerberos existant à l'aide de PAM. PAM vous personnalisez les fichiers de configuration par système sur le serveur le serveur de migration et du UNIX pour gérer et la reconnaissance des l'authentifier à nouveau les informations d'identification et de connexion dans le domaine Kerberos.
Pour plus d'informations sur le PAM, reportez-vous à la section Chapter 1, Utilisation de modules d'authentification enfichables et à la page de manuel pam.conf(4).
Dans cette procédure, les noms de service de connexion sont configurés en vue de l'utilisation de la migration. Cet exemple utilise les paramètres de configuration suivants :
Nom de domaine = EXAMPLE.COM
KDC maître = kdc1.example.com
Machine hébergeant le service de migration = server1.example.com
Principal du service de migration = host/server1.example.com
Avant de commencer
Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section A l’aide de vos droits administratifs attribués du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .
L'hôte principal de service dans le fichier keytab de server1 est utilisé pour authentifier le serveur auprès du KDC maître.
server1 # klist -k Keytab name: FILE:/etc/krb5/krb5.keytab KVNO Principal ---- ------------------------------------------------ 3 host/server1.example.com@EXAMPLE.COM ...
Pour plus d'informations sur les options de la commande, reportez-vous à la page de manuel klist(1).
Reportez-vous aux exemples dans la section Configuration des clients Kerberos pour connaître la procédure à suivre.
Pour plus d'informations, reportez-vous à la section Affectation d'une stratégie PAM par utilisateur.
% grep PAM_POLICY /etc/security/policy.conf # PAM_POLICY specifies the system-wide PAM policy (see pam_user_policy(5)) ... PAM_POLICY=krb5_first
server1 # cd /etc/security/pam_policy/; cp krb5_first krb5_firstmigrate server1 # pfedit /etc/security/pam_policy/krb5_firstmigrate. # login service (explicit because of pam_dial_auth) # login auth requisite pam_authtok_get.so.1 ... login auth required pam_unix_auth.so.1 login auth optional pam_krb5_migrate.so.1 # # rlogin service (explicit because of pam_rhost_auth) # rlogin auth sufficient pam_rhosts_auth.so.1 ... rlogin auth required pam_unix_auth.so.1 rlogin auth optional pam_krb5_migrate.so.1 # # Kerberized rlogin service # krlogin auth required pam_unix_cred.so.1 krlogin auth required pam_krb5.so.1 krlogin auth optional pam_krb5_migrate.so.1 # # rsh service (explicit because of pam_rhost_auth) # rsh auth sufficient pam_rhosts_auth.so.1 rsh auth required pam_unix_cred.so.1 rsh auth optional pam_krb5_migrate.so.1 # # Kerberized rsh service # krsh auth required pam_unix_cred.so.1 krsh auth required pam_krb5.so.1 krsh auth optional pam_krb5_migrate.so.1 # # Kerberized telnet service # ktelnet auth required pam_unix_cred.so.1 ktelnet auth required pam_krb5.so.1 ktelnet auth optional pam_krb5_migrate.so.1 # # PPP service (explicit because of pam_dial_auth) # ppp auth requisite pam_authtok_get.so.1 ... ppp auth required pam_unix_auth.so.1 ppp auth optional pam_krb5_migrate.so.1 # # GDM Autologin (explicit because of pam_allow). These need to be # here as there is no mechanism for packages to amend pam.conf as # they are installed. # gdm-autologin auth required pam_unix_cred.so.1 gdm-autologin auth sufficient pam_allow.so.1 gdm-autologin auth optional pam_krb5_migrate.so.1 # # Default definitions for Authentication management # Used when service name is not explicitly mentioned for authentication # OTHER auth requisite pam_authtok_get.so.1 ... OTHER auth required pam_unix_auth.so.1 OTHER auth optional pam_krb5_migrate.so.1 # # passwd command (explicit because of a different authentication module) # passwd auth required pam_passwd_auth.so.1 # # cron service (explicit because of non-usage of pam_roles.so.1) # cron account required pam_unix_account.so.1 # # cups service (explicit because of non-usage of pam_roles.so.1) # cups account required pam_unix_account.so.1 # # GDM Autologin (explicit because of pam_allow) This needs to be here # as there is no mechanism for packages to amend pam.conf as they are # installed. #modified gdm-autologin account sufficient pam_allow.so.1 # . . .
Pour les nouveaux comptes Kerberos, définissez le délai d'expiration du mot de passe à l'heure actuelle en ajoutant l'option –expire_pw aux entrées pam_krb5_migrate. Pour plus d'informations, reportez-vous à la page de manuel pam_krb5_migrate(5).
service-name auth optional pam_krb5_migrate.so.1 expire_pw
# Definition for Account management # Used when service name is not explicitly mentioned for account management # Re-ordered pam_krb5 causes password expiration in Kerberos to block access # OTHER account requisite pam_roles.so.1 OTHER account required pam_krb5.so.1 OTHER account required pam_unix_account.so.1 OTHER account required pam_tsol_account.so.1 # OTHER account required pam_krb5.so.1 # . . .
server1 # pfedit /etc/security/policy.conf ... # PAM_POLICY=krb5_first PAM_POLICY=krb5_firstmigrate
Pour plus d'informations, consultez le fichier policy.conf.
Les entrées suivantes accordent des privilèges de consultation et de migration au principal de service host/server1.example.com pour tous les utilisateurs à l'exception de l'utilisateur root. Utilisez le privilège U pour dresser la liste des utilisateurs ne devant pas faire l'objet d'une migration. Ces entrées doivent précéder l'entrée "permit all" ou ui. Pour plus d'informations, reportez-vous à la page de manuelkadm5.acl(4).
kdc1 # pfedit /etc/krb5/kadm5.acl host/server1.example.com@EXAMPLE.COM U root host/server1.example.com@EXAMPLE.COM ui * */admin@EXAMPLE.COM *
Si un fichier de service k5migrate ne figure pas dans le répertoire /etc/pam.d, ajoutez le fichier de service au répertoire. Pour plus d'informations, reportez-vous à la page de manuel pam.d(4).
La validation de cette modification UNIX permet au mots de passe utilisateur pour les comptes qui nécessitent une migration.
kdc1 # pfedit /etc/pam.d/k5migrate ... # Permits validation of migrated UNIX accounts auth required pam_unix_auth.so.1 account required pam_unix_account.so.1