Solaris: atributos adicionales para usuarios LDAP (no /etc/user_attr…)

En Solaris, y para los usuarios locales, los atributos adicionales de usuario se almacenan en el archivo /etc/user_attr. Pero, ¿qué sucede cuando un usuario no es local, sino que está almacenado en LDAP? Cualquier atributo adicional que se almacene en ese archivo no tendrá efecto, ya sea la modificación de atributos de auditoría, políticas de pam, roles, etc.

Si el usuario es de LDAP, esta información se debe almacenar directamente como un atributo extra de LDAP en el DN de ese usuario. El atributo a utilizar es SolarisAttrKeyValue, con una sintaxis similar a la utilizada en el fichero de configuración local. El siguiente ejemplo muestra como deshabilitar con ldapmodify la auditoría para un determinado usuario de LDAP:

dn: uid=foo,ou=people,dc=bar,dc=es
changetype: modify
add: objectClass
objectClass: SolarisUserAttr
-
add: SolarisAttrKeyValue
SolarisAttrKeyValue:  audit_flags=no\:no

Tras hacer el cambio efectivo en el servidor de LDAP, se confirma la activación de los nuevos atributos:

root@bar:/var/audit# userattr audit_flags foo
no:no