Acabo de instalar un servidor samba en la red de unos colegas (una
asociación sin ánimo de lucro) En el proceso me he encontrado con
algunos problemillas. Lo he comentado en
http://www.esdebian.org/article.php?story=2002111316445913 y ha llegado
un comentario en que se viene a decir (entre otras cosas) que el
comportamiento de Samba es errático y que no hay manera de hacerlo
funcionar. No comparto esa opinión, pero lo cierto es que yo hubiera
querido encontrar una guía sencilla para instalar y solventar esos
problemillas: creo que la mejor manera es escribir una receta.Espero que
le resulte útil a alguien.
Decir desde ya que no he conseguido que funcionen los passwords
encriptados, de modo que he modificado el registro de los clientes win9X
para habilitar passwords en claro.OJO que esto no es seguro! Lo he
dejado así -entre otras cosas- por que los colegas tienen un
cortafuegos. El servidor usa Woody con shadow y passwords MD5.Si hubiera
sabido lo que ahora sé, no habría activado los passwords MD5, ya que es
esto lo que impide que funcionen los passwords encriptados.Sólo el
primer Win95 y NT 4 por debajo de servipack 3 envían passwords en claro;
de ahí en adelante todos los usan encriptados.
Antes de nada, debemos crear una cuenta de usuario en la máquina Debian
por cada usuario windows.
A continuación hay que activar los perfiles de usuario en windows. Para
ello vamos al panel de control -> contraseñas -> perfiles de usuario.
Escogemos "los usuarios pueden personalizar sus preferencias..." y
activamos "Incluir iconos de escritorio y entorno de red" También
activamos "incluir el menú inicio y grupos de programas" Luego empezamos
a entrar en windows cambiando cada vez el usuario y la contraseña, y
aceptando que cree una cuenta nueva en cada ocasión. Conviene que el
nombre de los usuarios sea idéntico al de los usuarios linux (máximo 8
caracteres, en minúsculas, sin espacios en blanco) Las contraseñas
también deben coincidir, si usas MD5 pueden tener más de 8 caracteres.
Voy a suponer que la red de windows está ya funcionando (hay un grupo de
trabajo, el nombre del workgroup es el mismo en todas las máquinas,
tienes activado "Compartir archivos e impresoras", las propiedades de
TCP/IP para tu tarjeta de red están correctamente configuradas, etc,
etc) A partir de aquí:
1- Ejecutamos dselect, buscamos samba y lo marcamos para instalar
2- Cuando avise que hay dependencias, pulsamos enter para aceptarlas sin
molestarnos más.
3- dselect baja los paquetes.(samba y samba-common)
4-debconf muestra pantallas preguntando
a) Usar debconf para configurar smb.conf? - YES
b) Nombre del workgroup o del dominio windows? -el que sea
c) Use password encription? NO porque con MD5 no funcionará. Si no
usamos MD5 respondemos YES
d) Informa cuál sera el archivo log (/var/log/samba) OK
e) Ejecutar como daemon? OK
f) Generar /etc/samba/smbpasswd YES Terminamos la instalación y salimos
de dselect.
5- Si ahora vamos al entorno de red, puede ocurrir que veamos la máquina
samba en un workgroup llamado debian_fans, o que no la veamos en
absoluto. Supongo que por algún motivo debconf no modifica realmente el
archivo /etc/samba/smb.conf
6- Modificamos smb.conf: cambiamos debian_fans por el nombre del grupo
de trabajo de la red windows.Reiniciamos los demonios samba con
/etc/init.d/samba restart
7- Modificamos el registro de windows: en win9X vamos a Inicio
-Ejecutar, escribimos "regedit", pulsamos Aceptar. Aparece el registro
como si fuera el explorador de windows, abrimos HKEY_LOCAL_MACHINE ->
System ->CurrentControlSet -> Services -> VxD y por último abrimos
VNETSETUP. Vamos al menú Edición y escojemos Nuevo -> Valor DWORD. En la
parte derecha de la ventana aparece un icono resaltado que se llama
"Nuevo valor #1". Lo renombramos como "EnablePlainTextPassword" (sin
comillas, y asegúrate que lo escribes exactamente así) Pulsamos enter
para aceptar el cambio de nombre y a continuación hacemos doble clic en
el nuevo icono. Aparece una ventana en que se le asigna por defecto el
valor 0 hexadecimal. Cambiamos el 0 por un 1, también hexadecimal.
Aceptamos. Cerramos regedit y reiniciamos.
9- Ya estás funcionando. Deberías ver la máquina samba en el entorno de
red de los clientes windows. Deberías poder ver las impresoras que haya
instaladas en la máquina Samba y acceder a tu directorio /home/usuario.
10- Puedes colgar las impresoras del servidor samba e instalar los
drivers habituales para ellas en los clientes windows. Esto funciona sin
problemas, cosa que no ocurre con otros métodos mencionados en la
documentación de samba. Además de esta manera los usuarios ven lo que
están acostumbrados a ver. Puedes instalar el driver de una impresora
incluso sin tenerla conectada.Una vez instalado el driver, cuando
intentes acceder a la impresora de samba en el entorno de red te dirá
que tienes que instalarla. Le dices que sí. Aparece el asistente par
instalar impresoras. El asistente preguntará si quieres utilizar el
driver que ya instalaste antes. Le dices que sí de nuevo, te aparecerá
una copia2 de la impresora en inicio -> configuracion -> impresoras.
Puedes borrar el driver original y renombrar la que queda para quitar
las palabras "Copia 2" Ya lo tienes todo en marcha.
nota: estoy suponiendo que ya imprimías correctamente desde tu woody, es
decir, que tienes bien configurado /etc/printcap
Algunas ideas aún sin comprobar:
- Si los passwords encriptados son absolutamente necesarios,
probablemente lo más sencillo sea no usar passwords MD5 en la máquina
samba. En ese caso, probablemente tendremos que añadir a mano la línea
"encrypt passwords = yes" en la sección [global] de
/etc/samba/smb.conf
- Si quieres que los passwords encriptados funcionen con MD5 en la
máquina samba, al parecer debes bajarte las fuentes de Samba, parchear
y recompilar con la opción --with-pam. Esto sería debido a un bug que
impide que Samba instale el módulo pam_smbpass.so en /lib/security.
Una vez recompilado Samba, deberíamos editar /etc/pam.d/samba para
usar /lib/security/pam_smbpass.so en vez de pam_unix.so. Por último,
en smb.conf deberíamos tener una línea "obey pam restrictions = yes"
En este caso, no debería existir la línea "encrypt paswords = true"
A ver si todos estos bugs se solucionan pronto... de momento he optado
por usar passwords en claro. A fin de cuentas la red windows de mis
colegas tenía todos los passwords en blanco...
|