Samba: los clientes conectados no se ven afectados por los cambios de acceso de usuario / grupo / compartir

2

Estamos tratando de resolver lo que percibimos como un problema con el comportamiento de nuestro servidor Samba. Por favor entiendan que no estamos diciendo que esto es un error en Samba. Es simplemente diferente del comportamiento que queremos.

Nuestro servidor Samba es la versión 3.5.4 (versión 68.el6) y se ejecuta bajo CentOS 6.0 (x86_64). Resulta que usamos Active Directory (AD) para autenticarnos, pero no estoy convencido de que este comportamiento sea específico de AD.

Lo que sigue es una declaración generalizada del comportamiento no deseado, con el contexto proporcionado primero como una secuencia de eventos:

  1. Un cliente CIFS establece (y mantiene) una conexión a un CIFS Comparte en nuestro servidor Samba.
  2. Después de que se haya establecido esa conexión, un cambio de configuración está hecho (ejemplos proporcionados como viñetas a continuación) que creemos que deberían revocar inmediatamente el acceso del cliente CIFS al CIFS conectado compartir. Por ejemplo:
    • El usuario de Active Directory se elimina del dominio (a través del Centro de administración de Active Directory en el controlador de dominio).
    • El usuario de Active Directory se elimina de la lista de usuarios permitidos de CIFS (en el servidor host de Samba).
    • El recurso compartido de CIFS se elimina (en el host del servidor Samba).

Aquí está el comportamiento indeseable. Mientras el cliente CIFS mantenga la conexión existente con el recurso compartido CIFS, el acceso a ese recurso compartido no se revoca. Es decir, el usuario sigue teniendo el mismo acceso al recurso compartido que cuando se estableció la conexión por primera vez. FWIW, creemos que este comportamiento es por diseño.

El comportamiento deseado es que el acceso se revoque tan pronto como se finalice el "cambio de configuración" pertinente a los derechos de acceso. La desconexión de la (s) sesión (s) de cliente afectada es aceptable y apropiada, pero la desconexión de otras sesiones es indeseable.

Me gustaría obtener sus ideas hacia un enfoque que produzca el comportamiento deseado. Quizás esto sea tan simple como cambiar la configuración de nuestro servidor Samba; No hemos encontrado ningún parámetro de configuración que parezca relevante para este comportamiento. Parece que el arte de detectar que el acceso ha sido revocado es la parte más difícil de todo esto.

Steve Tice
fuente

Respuestas:

0

Estoy bastante seguro de que esto no es posible en este momento, al menos no utilizando la funcionalidad incorporada en Samba.

Una solución podría ser algo así como un cronjob que verifica regularmente que todos los procesos smbd en una máquina son de usuarios válidos, al analizar la salida de la smbstatus utilidad para comprobar qué usuarios están conectados y qué procesos los están sirviendo, y verificar esos procesos en comparación con los usuarios en AD. Luego, puede usar esa información para eliminar cualquier proceso para los usuarios que ya no son válidos.

jelmer
fuente