Você está na página 1de 7

COMO INSTALAR Y CONFIGURAR UN SERVIDOR SAMBA BSICO

ACERCA DEL PROTOCOLO SMB SMB (acrnimo de Server Message Block) es un protocolo, del Nivel de Presentacin del modelo OSI de TCP/IP, creado en 1985 por IBM. Algunas veces es referido tambin como CIFS (Acrnimo de Common Internet File System, http://samba.org/cifs/) tras ser renombrado por Microsoft en 1998. Entre otras cosas, Microsoft aadi al protocolo soporte para enlaces simblicos y duros as como tambin soporte para archivos de gran tamao. SMB fue originalmente diseado para trabajar a travs del protocolo NetBIOS, el cual a su vez trabaja sobre NetBEUI (acrnimo de NetBIOS Extended User Interface, que se traduce como Interfaz de Usuario Extendida de NetBIOS), IPX/SPX (acrnimo de Internet Packet Exchange/Sequenced Packet Exchange, que se traduce como Intercambio de paquetes inter-red/Intercambio de paquetes secuenciales) o NBT, aunque tambin puede trabajar directamente sobre TCP/IP. ACERCA DE SAMBA SAMBA es un conjunto de programas, originalmente creados por Andrew Tridgell, y actualmente mantenidos por The SAMBA Team, bajo la Licencia Publica General GNU, y que implementan en sistemas basados sobre UNIX el protocolo SMB. Sirve como reemplazo total para Windows NT, Warp, NFS o servidores Netware. EQUIPAMIENTO LGICO NECESARIO Los procedimientos descritos en este manual han sido probados para poder aplicarse en sistemas con CentOS 5 o Red Hat Enterprise Linux 5, o equivalentes o versiones posteriores, y al menos Samba 3.0.33 o versiones posteriores. Necesitar tener instalados los siguientes paquetes: samba: Servidor SMB. samba-client: Diversos clientes para el protoclo SMB. samba-common: Archivos necesarios para cliente y servidor. INSTALACIN A TRAVS DE YUM Si utiliza CentOS 5 o Red Hat Enterprise Linux 5, slo se necesita ejecutar el siguiente comando YUM para instalar los componentes necesarios:

[root@localhost]$yum -y install samba samba-client samba-common

En la distribucin Red Hat Enterprise Linux 5, se instalar Samba 3.0.33, sin embargo para poder tener soporte para el sistema operativo Windows 7, necesitaremos tener instalada la versin 3.3.4 o superior de SAMBA; por lo que procederemos a crear un repositorio especial para poder realizar la instalacin con la versin de SAMBA correspondiente para ofrecer soporte a los escritorios del sistema operativo Windows 7. Por lo que para realizar nuestra instalacin satisfactoriamente procederemos a realizar los siguientes pasos: Paso 1: Crear una carpeta en nuestro Sistema Linux en donde descargaremos las dependencias y paquetes actualizados de la versin de Samba 3.5 para Red Hat Enterprise Linux 5. La direccin para descargar los paquetes y dependencias es la siguiente: http://ftp.sernet.de/pub/samba/3.5/rhel/5/i386/
[root@localhost]$mkdir /usr/local/src/download/samba

Paso 2.- Una vez creado el directorio del paso anterior, solo se necesita ejecutar createrepo sobre dicho directorio a fin de generar los depsitos yum:
[root@localhost]$createrepo /usr/local/src/download/samba

Paso 3.- Utilizar el editor vi para crear el archivo de configuracin del nuevo repositorio de software denominado samba.
[root@localhost]$vi /etc/yum.repos.d/samba.repo

Paso 4.- Desde el editor vi pulse la tecla <Insert> para agregar el siguiente texto en el archivo creado (samba.repo)
[SAMBA] name=Repositorio SAMBA baseurl=file:///usr/local/src/download/samba enabled=1 gpgcheck=0

Paso 5.- Deshabilitar el repositorio de software denominado CDROM. Esto se hace editando el archivo cdrom.repo y modificando la variable enabled=0
[root@localhost]$vi /etc/yum.repos.d/cdrom.repo [CDROM] name=Repositorio local baseurl=file:///mnt/cdrom/Server enabled=0 gpgcheck=0

Paso 6.- Instalar SAMBA utilizando el siguiente comando:


[root@localhost]$yum -y install samba samba-client samba-common

Paso 7.- A fin de que SELinux permita al servicio smb las siguientes funciones: Escritura como usuario annimo Funcionar como Controlador Primario de Dominio (PDC, Primary Domain Controler) Compartir los directorios de inicio de los usuarios locales del sistema Desactivar la proteccin para los directorios de inicio de los usuarios Compartir todos los recursos en modo de slo lectura Compartir todos los recursos en modo lectura y escritura Debemos ejecutar los siguientes comandos:
[root@localhost]$ setsebool -P allow_smbd_anon_write 1 [root@localhost]$ setsebool -P samba_domain_controller 1 [root@localhost]$ setsebool -P samba_enable_home_dirs 1 [root@localhost]$ setsebool -P use_samba_home_dirs 1 [root@localhost]$ setsebool -P samba_export_all_ro 1 [root@localhost]$ setsebool -P samba_export_all_rw 1

Paso 8.- Para definir que un directorio ser compartido a travs del servicio smb, como por ejemplo /var/samba/public, y que se debe considerar como contenido tipo Samba, se utiliza el siguiente mandato:
Crear directorio [root@localhost]$ mkdir -p /var/samba/public Marcar directorio como directorio Samba [root@localhost]$ chcon -t samba_share_t /var/samba/public

ALTA DE CUENTAS DE USUARIO. Paso9.- Asigne una clave de acceso al usuario root. sta puede ser distinta a la utilizada en el sistema.
[root@localhost]$smbpasswd -a root

Es importante sincronizar las cuentas entre el servidor Samba y las estaciones Windows. Es decir, si en una mquina con Windows ingresamos como el usuario fulano con clave de acceso 123qwe, en el servidor Samba deber existir tambin dicha cuenta con ese mismo nombre y la misma clave de acceso. Como la mayora de las cuentas de usuario que se utilizarn para acceder hacia Samba no requieren acceso al intrprete de mandatos del sistema, no es necesario asignar clave de acceso con el mandato passwd y se deber definir /sbin/nologin o bien /bin/false como intrprete de mandatos para la cuenta de usuario involucrada.
[root@localhost]$useradd -s /sbin/nologin usuario-windows [root@localhost]$ smbpasswd -a usuario-windows

Es opcional asignar clave de acceso con el mandato passwd. Si se necesita que las cuentas se puedan utilizar para acceder hacia otros servicios como seran Telnet, SSH, etc, es decir, que se permita acceso al intrprete de mandatos, ser necesario especificar /bin/bash como intrprete de mandatos y adems se deber asignar una clave de acceso en el sistema con el mandato passwd:
[root@localhost]$useradd -s /bin/bash usuario-windows [root@localhost]$ passwd usuario-windows [root@localhost]$ smbpasswd -a usuario-windows

COMPARTIENDO DIRECTORIOS Para los directorios o volmenes que se irn a compartir, en el mismo archivo de configuracin encontrar distintos ejemplos para distintas situaciones particulares. En general, puede utilizar el siguiente ejemplo que funcionar para la mayora:
[Nombre_del_Recurso] comment = Comentario que se le ocurra path = /cualquier/ruta/que/desee/compartir

El volumen puede utilizar cualquiera de las siguientes opciones:

Opcin guest ok public browseable writable valid users write list admin users

Descripcin
Define si se permitir el acceso como usuario invitado. El valor puede ser Yes o No. Es un equivalente del parmetro guest ok, es decir define si se permitir el acceso como usuario invitado. El valor puede ser Yes o No. Define si se permitir mostrar este recurso en las listas de recursos compartidos. El valor puede ser Yes o No. Define si se permitir la escritura. Es el parmetro contrario de read only. El valor puede ser Yes o No. Ejemplos: writable = Yes es lo mismo que read only = No. Obviamente writable = No es lo mismo que read only = Yes Define los usuarios, o grupos, que podrn acceder al recurso compartido. Los valores pueden ser nombres de usuarios separados por comas, o bien nombres de grupo antecedidos por una @. Ejemplo: usuario1, usuario2, @administradores Define los usuarios, o grupos, que podrn acceder con permiso de escritura. Los valores pueden ser nombres de usuarios separados por comas, o bien nombres de grupo antecedidos por una @. Ejemplo: usuario1, usuario2, @administradores Define los usuarios, o grupos, que podrn acceder con permisos administrativos para el recurso. Es decir, podrn acceder hacia el recurso realizando todas las operaciones como super-usuarios. Los valores pueden ser nombres de usuarios separados por comas, o bien nombres de grupo antecedidos por una @. Ejemplo: usuario1, usuario2, @administradores Es lo mismo que directory mode. Define qu permiso en el sistema tendrn los subdirectorios creados dentro del recurso. Ejemplos: 1777 Define que permiso en el sistema tendrn los nuevos archivos creados dentro del recurso. Ejemplo: 0644

directory mask create mask

Paso 10.- En el siguiente ejemplo se compartir a travs de Samba el recurso denominado public, el cual est localizado en el directorio /var/samba/public del disco duro. Se permitir el acceso a cualquiera pero ser un recurso de slo lectura salvo para el usuario root. Todo directorio nuevo que sea creado en su interior tendr permiso 755 (drwxr-xr-x), y todo archivo que sea puesto en su interior tendr permisos 644 (-rw-r--r-). Por ltimo se edita el archivo /etc/samba/smb.conf, y se aade, hasta el final de ste, el siguiente contenido:
[public]

comment = Directorio de Datos path = /var/samba/public guest ok = No read only = Yes write list = root directory mask = 0755 create mask = 0644

Paso 11.- En el siguiente ejemplo se compartir a travs de Samba el recurso denominado shared, el cual est localizado en el directorio /var/samba/shared del disco duro. Se permitir el acceso de solo lectura sin pedir credenciales de autenticacin.
[global] comment = Directorio Publico Guest path = /var/samba/shared map to guest=bad user guest account =nobody [shared] comment = Directorio Publico Guest path = /var/samba/shared read only = Yes guest ok = Yes

Você também pode gostar