Los usuarios que no tienen un principal de Kerberos se pueden migrar automáticamente a un dominio Kerberos existente mediante PAM. Personaliza archivos de configuración del PAM por sistema en el servidor de migración y el servidor maestro para controlar el reconocimiento de credenciales UNIX y la nueva autenticación en el dominio Kerberos.
Para obtener información sobre PAM, consulte Chapter 1, Uso de módulos de autenticación conectables y la página del comando man pam.conf(4).
En este procedimiento, los nombres del servicio de inicio de sesión se configuran para usar la migración automática. Este ejemplo utiliza los siguientes parámetros de configuración:
Nombre de dominio = EXAMPLE.COM
KDC maestro = kdc1.example.com
Equipo que hospeda el servicio de migración = server1.example.com
Principal de servicio de migración = host/server1.example.com
Antes de empezar
Debe asumir el rol root. Para obtener más información, consulte Uso de sus derechos administrativos asignados de Protección de los usuarios y los procesos en Oracle Solaris 11.2 .
El principal de servicio de host en el archivo keytab de server1 se utiliza para autenticar el servidor en el KDC maestro.
server1 # klist -k Keytab name: FILE:/etc/krb5/krb5.keytab KVNO Principal ---- ------------------------------------------------ 3 host/server1.example.com@EXAMPLE.COM ...
Para obtener información sobre las opciones del comando, consulte la página del comando man klist(1).
Para conocer los pasos, consulte los ejemplos en Configuración de clientes Kerberos.
Para obtener más información, consulte Asignación de una política del PAM por usuario.
% 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 # . . .
Para las cuentas de Kerberos recientemente creadas, establezca el tiempo de caducidad de la contraseña a la hora actual agregando la opción –expire_pw a las entradas pam_krb5_migrate. Para obtener más información, consulte la página del comando man 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
Para obtener más información, lea el archivo policy.conf.
Las entradas siguientes otorgan privilegios de migración y consulta al principal de servicio host/server1.example.com para todos los usuarios, excepto el usuario root. Use el privilegio U para enumerar los usuarios que no se deben migrar. Estas entradas deben preceder a la entrada ui o permitir todo. Para obtener más información, consulte la página del comando man kadm5.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 archivo de servicio k5migrate no está en el directorio /etc/pam.d, agregue el archivo de servicio al directorio. Para obtener más información, consulte la página del comando man pam.d(4).
Esta modificación permite la validación de contraseñas de usuario de UNIX para las cuentas que necesitan migración.
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