Cargando...
 

SID de Samba

REGENERACIÓN DE LOS SID DE SAMBA

 

Versiones
- LliureX 15.05

 

1. Problema


Debido a algunos cambios en el sistema, es posible que los SID de Samba se vuelvan inconsistentes y, como consecuencia, es posible que:

  1. Los clientes pesados no monten /net.
  2. No se puedan montar los recursos que ofrece Samba mediante el usuario y la contraseña de los usuarios de LDAP.

 
El fallo del sambaSID consiste, básicamente, en que algunos usuarios no pueden montar los recursos disponibles en samba con su usuario y contraseña. Para comprobar si estamos en esta situación podemos ejecutar el siguiente comando, indicando el nombre y la contraseña del usuario con el que se tiene problemas desde el mismo servidor. Para ello tendremos que tener instalado en el servidor el paquete cifs-utils mediante la ejecución del siguiente código:

sudo apt-get install cifs-utils
sudo mount -t cifs //server/home /mnt -o username=NONBREDEUSUARIO,password=CONTRASEÑADEUSUARIO
mount error(5): Input/output error
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

 

Si al ejecutar el código anterior recibimos el mensaje de error input/output es probable que tengamos este problema. También podemos comprobarlo mediante el siguiente comando:

if [ `ldapsearch -x sambaSID | grep sambaSID | cut -d " " -f2 | cut -d "-" -f -7 | sort -u | sed -n "/S\(-[0-9]\+\)\{6,\}/p" | wc -l` -gt 1 ]; then  echo "SambaSID inconsistente" ; else echo "SambaSID correcto"; fi

 

 

2. Réplica del problema


Replicar lo ocurrido es tan fácil como seguir los pasos que se detallan a continuación:

  • Inicializar el servidor
  • Crear usuarios
  • Modificar el fichero /etc/hostname con otro nombre
  • Modificar el fichero /etc/hosts y cambiar el nombre correspondiente con la ip 127.0.1.1 y poner el mismo que se ha puesto en el fichero /etc/hostname
  • Reiniciar

A partir de este momento los usuarios que se hayan generado no podrán montar.

 

 

3. Solución del problema


Para solucionar el error debemos tener instalado el paquete n4d-samba en la versión 0.25.4. Una vez instalado se realizará una tarea repetitiva cada 8 horas que comprobará que todo es consistente. Además de eso, 10 minutos después de reiniciarse el servicio n4d hará una comprobación. De forma alternativa también se podría llegar a ejecutar la funcion run del plugin SambaSIDFixer de n4d mediante el siguiente código:

n4d-client -h ipdelservidor -u usuarioAdministrador -p contraseñaAdministrador -m run -c SambaSIDFixer

 
En caso de que la base de datos fuera inconsistente, se mostraría el mensaje "SambaSID inconsistente. Se han unificado todos los sambaSID del dominio" . Por otro lado, si todo fuera correcto devolvería el mensaje "SambaSID are ok".