Anterior Siguiente Inicio

3. Servidor Samba

La configuración de samba en debian es relativamente sencilla ya que el fichero /etc/samba/smb.conf viene muy bien comentado.
Los paquetes que necesitaremos para utilizar samba son los siguientes:

samba smbfs smbclient

Una de las cosas que no viene en la configuración por defecto atañe al comportamiento de los caracteres acentuados y las "ñ" cuando se visualizan recursos desde equipos windows y linux. Añadiendo esta opción nos aseguraremos de que se visualicen correctamente estos caracteres:

unix charset = ISO8859-15

security = share

Con este modelo de seguridad, podremos asignar contraseñas a determinados recursos (public = no), pero a la hora de validarnos no podremos proporcionar el nombre de usuario. Éste será el usuario con que el cliente acceda al recurso, y se comprobará su clave contra la base de datos local de usuarios. (/etc/passwd)


adduser --shell /bin/false fulanito
smbpasswd -a fulanito

Para crear un PDC, usaremos el esquema de seguridad "user", crearemos los usuarios del mismo modo, pero además ahora tenemos que crear cuentas para los equipos y añadir un par de líneas en smb.conf:

domain logons = yes
domain master = yes
preferred master = yes
time server = yes   # Actuamos como servidor horario

Para agregar ordenadores al dominio nos pedirá una clave con autorización. Por defecto solo vale la clave de root (que debe existir también en samba; podemos crearla con smbpasswd -a root), pero puede ser interesante crear una cuenta administrador para que se parezca más al estilo de un PDC bajo windows server.  Además muchas distribuciones deshabilitan la cuenta de root para samba. Añadiremos unas líneas en samba para decirle que permitimos a cualquier usuario del grupo sysadmin administrar samba.

domain admin group = @sysadmin
admin users = @sysadmin
printer admin = @sysadmin

- Ahora creamos una cuenta samba administrador

adduser --no-create-home --shell /bin/false --disabled-password --ingroup sysadmin administrador
smbpasswd -a administrador


- Para añadir las cuentas de máquina usaremos los comandos:

groupadd samba-clients   (solo la primera vez)
/usr/sbin/useradd -g samba-clients -d /dev/null -s /bin/false machine_name$
passwd -l machine_name$
smbpasswd -a -m machine_name

- Creación dinámica de las cuentas de equipos
Es el método recomendado. Debemos crear el grupo samba-clients, igual que en el paso anterior., y añadir en smb.conf lo siguiente, en la sección [global]

add machine script = /usr/sbin/useradd -d /dev/null -g samba-clients -s /bin/false -M %u

Ahora añadiremos los equipos al dominio como de costumbre

Si no nos deja añadir el usuario con el $ al final, lo añadimos sin $ y lo corregimos en /etc/passwd
En el comando smbpasswd no se debe poner el $ al final del usuario.
Debemos crear el recurso [homes] (Figura por defecto en smb.conf) y darle permisos de escritura.  Si queremos evitar que los clientes usen perfiles móviles, debemos iniciar sesión en el dominio e ir a propiedades del sistema->avanzado->perfiles de usuario, donde le indicaremos que use perfil local. Tras indicarle que use perfil local a todos los usuarios, podemos eliminar el recurso [homes] y las carpetas personales de dichos usuarios. Si no lo hacemos en este orden, windows no nos dejará usar perfil local.
Resumen:

Primero debe crearse el perfil móvil, meter todos los datos en el servidor al iniciar sesión por primera vez, y entonces Windows ya permite usar perfil local. Una vez especificado que use perfil local, se pueden borrar los datos que se copiaron previamente al servidor y descompartir [homes]. Uséase, dolor de cabeza si no aciertas con el orden en que tienes que hacer las cosas. Windows = antilógica

Netlogon: En este recurso compartido se pondrán los scripts que se deben cargar cuando inicien sesión los usuarios. Estos scripts tendrán la forma "usuario.bat"

[global]
...
logon script = %U.bat

[netlogon]
path = /home/samba/netlogon
guest ok = Yes
hide unreadable = yes   # Así impedimos que se puedan ver los scripts de los demás usuarios.

- Añadir usuarios al dominio:

 useradd -g 100 usuario1 -d /home/samba/profile/usuario1 -m

- Eliminar usuarios:

smbpasswd -x $usuario

userdel -r usuario   (el parámetro -r fuerza que se borre su carpeta home)

Eliminar contraseña de un usuario (por ejemplo para un equipo que se dedique exclusivamente a fichajes)

smbpasswd -n $usuario

Para que funcione debemos además, añadir la opción null passwords = yes en la sección global de smb.conf

Podemos crear recursos compartidos para un grupo de usuarios. Para ello creamos la carpeta que deseamos compartir, la ponemos en el grupo elegido, añadimos usuarios a dicho grupo y configuramos el recurso en samba.

mkdir -p /home/samba/grupo-comerciales
addgrp comerciales
chown root:comerciales /home/samba/grupo-comerciales
adduser usuario1 comerciales
adduser usuario2 comerciales
.
.
.

En samba creamos un recurso

[comerciales]
path = /home/samba/grupo-comerciales
valid users = @comerciales

Configuración en los clientes

Windows puede decir que no se encuentra el usuario si la cuenta de equipo no existe en el servidor. La cuenta que creemos en el servidor debe ser la que use el equipo en el momento de iniciarse windows, independientemente de que especifiquemos otra en la ventana de unirse al dominio (usará la cuenta con que se inició windows, y no la que especifiquemos)
Por defecto seremos usuarios estándar, con lo que no podremos entre otras cosas, compartir carpetas del equipo cliente. Para poder hacerlo, debemos añadir al equipo cliente una cuenta de usuario de dominio. Creamos una cuenta desde el panel de control pero buscamos el usuario en la lista de usuarios del dominio, y le damos los permisos que necesitemos.

Anterior Siguiente Inicio