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
- Si queremos tener acceso a los recursos sin control de
usuarios/contraseñas, debemos crear un recurso compartido (Ver
ejemplos al final de smb.conf) y modificar el valor de security al
principio de smb.conf para
que quede así:
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)
- Si por el contrario queremos tener
control por usuario, debemos poner "security
= user" y crear usuarios locales y usuarios samba. Para ello
crearemos usuarios sin shell:
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