The New Cult of Dead Cow

Configurar tu Red Windows con Samba

Como parte de un proyecto de mejora de la gestion de los laboratorios de sistemas de la UNT, se me encargo implementar lo siguiente :

  • Un servidor que me permitiera loguearme en el desde cualquier maquina windows
  • Las maquinas clientes (80), no deben tener registrado ningun usuario ( 1000 ) aparte del administrador
  • Los usuarios deben poder trabajar con sus documentos en cualquier pc que se sienten

Reconozco que este esquema ya lo habia visto antes en una empresa, sin embargo habia sido implementado bajo un servidor windows, y como yo no trabajo con windows ( no estoy dispuesto a liarme con virus y bajas de rendimiento ) asi que la opcion mas viable era usar Samba.

Para aquellos que no lo conozcan aun, samba es un servidor de linux que nos permite compartir recursos linux con maquinas windows y viceversa.

Ahora vamos a lo que nos concierne, como implementamos esa estructura usando un servidor samba.

Nuestro primer paso es instalar el servidor, en un linux es bastante facil :

sudo aptitude install samba samba-doc

Para poder habilitar samba dentro de nuestra red, debemos configurarlo adecuadamente, esto se hace editando un archivo llamado smb.conf:

# nano /etc/samba/smb.conf

Este fichero se parece a los populares .ini del innombrable. En el smb.conf debemos editar la seccion global, la cual debera quedar de la siguiente manera:

[global]
# Debe ser el mismo de tus clientes windows
workgroup = (nombre de tu dominio)
netbios name = (nombre de tu servidor)
# Permite al servidor actuar como PDC
wins support = yes

# Esto le dice a las otras PC de la red, que esta
# computadora es una PC Jefe :P
os level = 64
# Este servidor es visualizador maestro de dominio
preferred master = yes
# Este servidor es maestro de dominio
domain master = yes
# Este servidor es maestro local
local master = yes
# Esto establece los permisos a los recursos de
# acuerdo al perfil del usuario
security = user

# Indica que los password viajaran por la red encriptados
encrypt passwords = yes

# Le indica a la red que este servidor es el PDC
domain logons = yes
# Cuando se loguea algun usuario se ejecuta el siguiente script
# No es necesario crear el script netlogon.bat
logon script = netlogon.bat

# En windows no existen los links simbolicos, con esto
# le decimos que samba lo emule o no
follow symlinks = yes
# Le decimos a samba que establesca como ficheros # ocultos para windows los ficheros que empiezan con punto
hid dot files = yes

Debemos crear un recurso llamado netlogon, el cual seria un servicio de samba que nos permitiria ejecutar el script netlogon.bat cuando se conecta alguna maquina a la red

[netlogon]
# Debemos asegurarnos que el path exista en nuestro sistema
path = /home/netlogon
read only = yes

Otra seccion que debemos definir en nuestro archivo de configuracion de samba, es la seccion homes, esta seccion indica un recurso especial que nos permite acceder a los documentos de cada usuario en el servidor.

[homes]
# Le da permisos de escritura a los documentos del usuario
writable = yes
read only = no
# No permite explorar en los recursos de otros usuarios
browsable = no
# Define la ruta donde se alojara los documentos del usuario
path=/home/%S

Ahora debemos reiniciar el servicio de samba para que se acepten los cambios :

# /etc/init.d/samba restart


Nuestro siguente paso es agregar las maquinas ( si, leyo bien las maquinas ) y los usuarios de nuestro sistema samba:

# Primero agregamos un grupo, este grupo debe ser el
# mismo que el grupo de nuestra red q definimos en global
groudadd (dominio)

# Ahora agregamos la maquina, este proceso se repite
# para cada mauqina en nuestra red
useradd --group (dominio) --home /dev/null --shell /dev/null (nombremaq)$

# Agregamos la maquina a nuestras cuentas e confianza de samba
smbpasswd -a -m (nombremaq)
# En useradd se debe agregar $ detras el nombre de la maquina
# Esto no es necesario en smbpasswd

# Cada usuario que necesite loguearse en samba debera tener una cuenta
# de usuario en nuestro sistema, asi como una cuenta en samba
useradd --group (Grupo) (nombreusuario)
smbpasswd -a (nombreusuario)
passwd:
retype passwd:

# Para poder configurar las maquinas clientes, debemos crear un usuario
# especial en samba, el usuario root. El cual un vez configurada nuestra
# red debera ser borrado de la configuracion de samba smbpasswd -a root
passwd:
retype passwd:

Ahora tenemos que hacer algunos cambios en la configuracion del cliente windows :

  • Panel de Control -> Herramientas Administrativas -> Directivas de Seguridad Local -> Directivas Locales -> Opciones de seguridad
  • Miembro de dominio: descrifrar o firmar digitalmente datos en un canal seguro (siempre): deshabilitar
  • Miembro de dominio: Deshabilitar cambios password en cuenta máquina: Deshabilitar
  • Miembro de dominio: Requerir clave de sesión protegida (W2000 o más reciente): Deshabilitar
  • Abrir el editor de registro (regedit ), y buscar la siguiente clave : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameter y cambiar el valor requiresignorseal asignandole 0
  • Abrir propiedades del sistema, cambiar a la pestaña Nombre del Equipo, hacer click en el el boton cambiar, elegimos la opcion dominio y pones el nombre del dominio definido en global en nuestro samba, Aceptar. Nos pedira una clave y contraseña, darle como usuario root, y como clave la clave del usuario root en samba

Comments ...