Este procedimiento muestra cómo agregar, proteger y probar un nuevo módulo del PAM. Los nuevos módulos pueden ser necesarios para políticas de seguridad específicas del sitio o para admitir aplicaciones de terceros. Para crear un módulo del PAM, consulte Capítulo 3, Writing PAM Applications and Services de Developer’s Guide to Oracle Solaris 11 Security .
Antes de empezar
Complete Planificación de una configuración del PAM específica del sitio.
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 .
Asegúrese de que la propiedad y los permisos protejan los archivos del módulo con la propiedad de root y los permisos de 444.
# cd /opt/pam_modules # ls -lR .: total 4 -r--r--r-- 1 root root 4570 Nov 27 12:34 pam_app1.so.1 drwxrwxrwx 2 root root 3 Nov 27 12:38 sparcv9 ./64: total 1 -r--r--r-- 1 root root 4862 Nov 27 12:38 pam_app1.so.1
El módulo de 32 bits está en el directorio /opt/pam_modules y el módulo de 64 bits en el subdirectorio 64.
En el ejemplo siguiente, el módulo es para una aplicación nueva, app1. Su nombre de servicio es el mismo nombre que el de la aplicación. Cree un archivo de nombre de servicio app1 en el directorio /etc/pam.d. La primera entrada en el archivo permite al servicio app1 ser asignado a usuarios individuales.
# cd /etc/pam.d # pfedit app1 ... # PAM configuration # # app1 service # auth definitive pam_user_policy.so.1 auth required /opt/pam_modules/$ISA/pam.app1.so.1 debug
El token $ISA en la ruta del módulo dirige la estructura del PAM a la versión correspondiente de la arquitectura de 32o 64 bits del módulo de servicio para la aplicación de llamada. Para las aplicaciones de 32 bits, /a/b/$ISA/module.so se convierte en /a/b/module.so. y para las aplicaciones de 64 bits, se convierte en /a/b/64/module.so. En este ejemplo, instaló el módulo de servicio de 32 bits pam.app1.so.1 service en el directorio /opt/pam_modules y el módulo de 64 bits, en el directorio /opt/pam_modules/64.
Si desea obtener más información, consulte las páginas del comando man pfedit(1M) y pam.conf(4).
Para limitar la política del PAM app1 a usuarios seleccionados, consulte Example 1–2.
Inicie sesión directamente mediante login o ssh. A continuación, ejecute los comandos que se ven afectados por el nuevo módulo. Pruebe los usuarios que tienen permitido y prohibido el uso de los comandos afectados. Para obtener ayuda con la resolución de problemas, consulte Cómo solucionar problemas de errores de configuración del PAM.
En este ejemplo, el servicio app1 no es utilizado por todos los usuarios, de modo que el administrador agrega la política como un servicio por usuario.
# cd /etc/pam.d # cp app1 /opt/local_pam/app1-conf # pfedit /opt/local_pam/app1-conf ## app1 service ## app1 auth definitive pam_user_policy.so.1 app1 auth required /opt/pam_modules/$ISA/pam_app1.so.1 debug
El administrador suprime el archivo app1 del directorio pam.d.
# rm /etc/pam.d/app1
A continuación, el administrador agrega la política app1-conf a la política del PAM del administrador del sistema.
# rolemod -K pam_policy=/opt/local_pam/app1-conf sysadminEjemplo 1-3 Configuración de la política del PAM por usuario mediante un perfil de derechos
En este ejemplo se utiliza el atributo de seguridad pam_policy para permitir que los usuarios de diferentes servicios de nombres se autentiquen. El archivo de política del PAM any se proporciona en el directorio /etc/security/pam_policy. Los comentarios en el archivo describen esta política.
No modifique los archivos de este directorio.
# profiles -p "PAM Per-User Policy of Any" \ 'set desc="Profile which sets pam_policy=any"; set pam_policy=any; exit;'
Para asignar este perfil de derechos, consulte Cómo asignar una política del PAM modificada.