TÍTULO: Receta del servidor de ficheros e impresoras Samba
VERSIÓN LFS: 3.0-RC1
AUTOR: Patrick Kirk < patrick@kirks.net >
TRADUCTOR: Proyecto LFS-ES
Introducción
Samba te permite realizar algunas de las funciones típicamente
reservadas a Windows 2000 Server Edition, por ejemplo actuar como
Controlador Primario de Dominio para un Dominio Win2k, actuar como
controlador de Copias de Seguridad de Dominio o simplemente como un
servidor de ficheros que permita la compartición de archivos con otros
PCs de una manera segura y protegida. En todas estas capacidades,
Samba espera ahorrar un montón de licencias siendo más segura que
cualquier otra alternativa.
Esta receta sirve para instalar y configurar samba como servidor de
ficheros e impresoras en una máquina en la que es importante la
seguridad. El énfasis se hace en la seguridad del servidor y en el
uso por parte de los usuarios. Por ejemplo, uso estas opciones en la
máquina que comparte mi conexión ADSL.
1. Instalación
Puedes descargar Samba de www.samba.org. La instalación por omisión
crea un directorio llamado samba en /usr/local y coloca todo el
programa ahí. Si como yo quieres ser capaz de hacer una copia de
seguridad de tus ficheros de configuración haciendo tan sólo una
copia de seguridad del directorio /etc necesitarás hacer cambios en
la instalación. Además, para no tener que estar cambiando tu ruta de
búsqueda de binarios (path), es mejor colocar los ejecutables en
/usr/local/bin y sbin de manera apropiada.
Como administrador (root) ejecuta los siguientes comandos:
cd /usr/src &&
tar xzvf samba*.tar.gz &&
mkdir -p /etc/samba &&
mkdir -p /var/lock/samba &&
cd samba-2.2.1a/source &&
/configure --prefix=/usr/local --bindir=/usr/local/bin \
--sbindir=/usr/local/sbin --libdir=/etc/samba --sysconfdir=/etc/samba \
--with-smbmount && make && make install
2. Configurando la compartición
Crea en /etc/samba un fichero llamado smb.conf que contenga lo siguiente:
[global]
workgroup = KIRKS.NET # Pon el nombre de tu propio dominio aquí
netbios name = ENTERPRISE # Pon el nombre de tu máquina
server string = %h server (Samba %v)
encrypt passwords = Yes
smb passwd file = /etc/samba/sambapasswd #Facilitar las copias de seguridad
syslog = 0 #Nivel de registro de syslog. Mantenlo bajo
max log size = 1000
log file = /var/log/samba/samba.log.%m # fichero de registro
log level = 2 #Registra únicamente la información interesante
# Optimizando el rendimiento - esto funciona.
# Lee el p*** manual (RTFM) antes de hacer cambios
socket options = IPTOS_LOWDELAY \
TCP_NODELAY SO_SNDBUF=4096 SO_RCVBUF=4096
dns proxy = No #Una herramienta para cada trabajo. Utiliza bind como DNS.
#Seguridad
#Estas líneas son esenciales.
invalid users = root
#De otra manera cualquiera puede hacer un ataque con tan sólo navegar por
# nuestros ficheros compartidos
# Especifica el rango de IP de tu red local y las tarjetas ethernet que
# utilizas para acceder a ella
# Quita la dirección 127.0.0.1 para hacer diagnósticos
interfaces = eth0 192.168.0.0/255.255.255.0 127.0.0.1/24
# Aun si un atacante remoto consigue descifrar una clave, seguirá sin
# poder entrar
bind interfaces only = yes
[homes]
# Permite a los usuarios almacenar información en sus cuentas del servidor
comment = Directorios Home
read only = No
create mask = 0700
directory mask = 0700
browseable = Yes
[data]
# Crea una carpeta para compartir ficheros bases de datos, listas de
# teléfonos, etc.
comment = Ficheros de datos y copias de seguridad
# Necesitas establecer el directorio. El mio es...
path = /home/data
read only = No
create mask = 0775
directory mask = 0775
browseable = Yes
[system]
# Copia aquí la carpeta i386 del CD del Win2k.
# Te evitará un montos de tiempo de instalación de controladores (drivers)!
# Y otros CDs que uses frecuentemente.
#
comment = Ficheros de instalación y sistemas
# Necesitas establecer el directorio. El mio es...
path = /home/system
read only = No
create mask = 0775
directory mask = 0775
browseable = Yes
[printers]
comment = Todas las impresoras
path = /tmp
create mask = 0700
printable = Yes
browseable = No
# Fin del fichero
3. Añadir usuarios
smbpasswd -a john añade al usuario john y solicita su clave. A no ser
que tengas un montos de usuarios, repite esta acción para cada uno de
ellos. Si tienes tantos que imposibilita esta acción, configura SWAT
que permite manejar usuarios remotamente desde un navegador web. SWAT
es muy fácil de utilizar pero si lo necesitas puedes encontrar
información detallada en un libro de O'Reilly en formato html en
http://sunsite.dk/samba/docs
4. Configuración de las máquinas clientes
Las maquinas con Windows 2000 podrán trabajar si el nombre de usuario
en la máquina es el mismo que el de las cuentas que has creado en el
servidor samba. Si no es el mismo deberás mapear la compartición de
archivos como unidades de red y configurarlos para que utilicen el
usuario y la clave que hayas establecido en el servidor.
Deberías considerar crear un fichero de procesamiento por lotes
llamado login.bat que se ejecute en los clientes que contenga lo
siguiente:
net use h: \\192.168.0.1\homes /persistent:no
net use i: \\192.168.0.1\data /persistent:no
net use j: \\192.168.0.1\system /persistent:no
5. Iniciando samba
Crea un fichero en /etc/init.d llamado samba y copia lo siguiente
en él:
#!/bin/sh
# Begin /etc/init.d/samba
#
# Incluye las funciones declaradas en el fichero /etc/init.d/functions
#
source /etc/init.d/functions
case "$1" in
start)
echo -n "Iniciando el demonio Samba..."
loadproc /usr/local/sbin/nmbd
echo -n "...demonio Samba iniciado."
loadproc /usr/local/sbin/smbd
;;
stop)
echo -n "Parando el demonio Samba..."
killproc smbd
echo -n "...demonio Samba parado."
killproc nmbd
;;
reload)
echo -n "Recargando la configuración del demonio Samba..."
reloadproc smbd
ireloadproc nmbd
;;
restart)
$0 stop
/usr/bin/sleep 1
$0 start
;;
status)
statusproc /usr/local/sbin/nmbd
statusproc /usr/local/sbin/smbd
;;
*)
echo "Uso: $0 {start|stop|reload|restart|status}"
exit 1
;;
esac
# Fin de /etc/init.d/samba
Para iniciar samba simplemente debes ejecutar /etc/init.d/samba start
Para que samba se inicie cada vez que enciendes tu ordenador ejecuta
los siguientes comandos:
chmod 754 /etc/init.d/samba &&
ln -s ../init.d/samba /etc/rc0.d/K400samba &&
ln -s ../init.d/samba /etc/rc1.d/K400samba &&
ln -s ../init.d/samba /etc/rc2.d/K400samba &&
ln -s ../init.d/samba /etc/rc3.d/S600samba &&
ln -s ../init.d/samba /etc/rc4.d/S600samba &&
ln -s ../init.d/samba /etc/rc5.d/S600samba &&
ln -s ../init.d/samba /etc/rc6.d/K400samba
6. Fin
Enhorabuena. Ya tienes un servidor de ficheros protegido, estable y
seguro.
|