En algunos escenarios en donde tenemos la validación de usuarios centralizada mediante un directorio LDAP (como por ejemplo OpenLDAP), es posible que cuando queramos bloquear a un usuario queramos que tenga efecto en varios servicios.
En este artículo no trataré de explicar que es Samba ni como se instala un servidor IMAP como Dovecot. Tampoco como hacer que los usuarios validen contra el LDAP. Lo que busco es explicar como una vez esto funcione, que algunos usuarios estén bloqueados.
Imaginemos que tenemos un usuario que se valida en LDAP y que tiene acceso al correo electrónico mediante Dovecot y acceso a un almacén de discos mediante Samba.
Samba
(ver Artículo anterior relacionado con Samba)Si tenemos Samba instalado nos hará falta el smbldap-tools para que interactue con el directorio ldap:
apt-get install smbldap-tools
Si por ejemplo queremos que no entre en un recurso samba y tenemos en nuestro directorio LDAP el samba3.schema, marcaremos el sambaAcctFlags con una D, es decir, desactivaremos la cuenta:
Flag | Description |
---|---|
D | Account is disabled. |
H | A home directory is required. |
I | An inter-domain trust account. |
L | Account has been auto-locked. |
M | An MNS (Microsoft network service) logon account. |
N | Password not required. |
S | A server trust account. |
T | Temporary duplicate account entry. |
U | A normal user account. |
W | A workstation trust account. |
X | Password does not expire. |
De esta manera al intentar entrar en el samba no le dejará.
Dovecot
En dovecot lo podemos hacer mediante el parámetro user_filter del archivo /etc/dovecot/dovecot-ldap.conf . Por ejemplo:
user_filter = (&(objectClass=posixAccount)(uid=%u)(!(|(sambaAcctFlags=[UD])(sambaAcctFlags=[DU]))))
Lo que hace este filtro es validar el uid del usuario y mirar que NO tenga el la bandera [UD] o [DU]. Muchas veces nos encontraremos el atributo sambaAcctFlags con 11 carácteres (casi todos ellos con espacios vacíos). Así que tendremos que tenerlo en cuenta en nuestras búsquedas.
No hay comentarios:
Publicar un comentario