Actualizado el 22 de Junio del 2017 (Publicado el 14 de Enero del 2017)
1.949 visualizaciones desde el 14 de Enero del 2017
431,2 KB
10 paginas
Creado hace 13a (08/06/2011)
Cómo configurar Samba (básico)
Introducción.
Acerca del protocolo SMB.
SMB (acrónimo de Server Message Block) es un protocolo, del Nivel de Presentación del modelo OSI de
TCP/IP, creado en 1985 por IBM. Algunas veces es referido también como CIFS (Acrónimo de Common
Internet File System, http://samba.org/cifs/) tras ser renombrado por Microsoft en 1998. Entre otras cosas,
Microsoft añadió al protocolo soporte para enlaces simbólicos y duros así como también soporte para
ficheros de gran tamaño. Por mera coincidencia esto ocurrió por la misma época en que Sun Microsystems
hizo el lanzamiento de WebNFS (una versión extendida de NFS,
http://www.sun.com/software/webnfs/overview.xml).
SMB fue originalmente diseñado para trabajar a través del protoclo NetBIOS, el cual a su vez travaja sobre
NetBEUI (acrónimo de NetBIOS Extended User Interface, que se traduce como Interfaz de Usuario
Extendida de NetBIOS), IPX/SPX (acrónimo de Internet Packet Exchange/Sequenced Packet Exchange,
que se traduce como Intercambio de paquetes interred/Intercambio de paquetes secuenciales) o NBT,
aunque también 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 lógico necesario.
Los procedimientos descritos en este manual han sido probados para poder aplicarse en sistemas con Red
Hat™ Enterprise Linux 4, o equivalentes o versiones posteriores, y al menos Samba 3.0.10 o versiones
posteriores.
Necesitará tener instalados los siguientes paquetes, que seguramente vienen incluidos en los discos de
instalación o depósitos de equipamiento lógico de la distribución de GNU/Linux utilizada:
• samba:
• sambaclient:
• sambacommon: Ficheros necesarios para cliente y servidor.
Servidor SMB.
Diversos clientes para el protoclo SMB.
Instalación a través de yum.
Si utiliza CentOS 4 y 5, Red Hat™ Enterprise Linux 5 o White Box Enterprise Linux 4 y 5, y versiones
posteriores, solo se necesita realizar lo siguiente para instalar o actualizar el equipamiento lógico necesario:
yum -y install samba samba-client samba-common
Instalación a través de up2date.
Si se utiliza Red Hat™ Enterprise Linux 4, solo bastará realizar lo siguiente para instalar o actualizar el
equipamiento lógico necesario:
up2date -i samba samba-client samba-common
Procedimientos.
SELinux y el servicio smb.
A fin de que SELinux permita al servicio smb funcionar como Controlador Primario de Dominio (PDC,
Primary Domain Controler), utilice el siguiente mandato:
setsebool -P samba_domain_controller 1
A fin de que SELinux permita al servicio smb compartir los directorios de inicio de los usuarios locales del
sistema, utilice el siguiente mandato:
setsebool -P samba_enable_home_dirs 1
Para definir que un directorio será compartido a través del servicio smb, como por ejemplo
/var/samba/publico, y que se debe considerar como contenido tipo Samba, se utiliza el siguiente mandato:
chcon -t samba_share_t /var/samba/publico
Cada nuevo directorio que vaya a ser compartido a través de Samba, debe ser configurado como acaba de
describirse antes de ser configurado en el fichero /etc/samba/smb.conf.
A fin de que SELinux permita al servicio smb compartir todos los recursos en modo de solo lectura, utilice el
siguiente mandato:
setsebool -P samba_export_all_ro 1
A fin de que SELinux permita al servicio smb compartir todos los recursos en modo de lectura y escritura,
utilice el siguiente mandato:
setsebool -P samba_export_all_rw 1
Alta de cuentas de usuario.
Es importante sincronizar las cuentas entre el servidor Samba y las estaciones Windows®. Es decir, si en
una máquina con Windows® ingresamos como el usuario paco con clave de acceso elpatito16, en el
servidor Samba deberá existir también dicha cuenta con ese mismo nombre y la misma clave de acceso.
Como la mayoría de las cuentas de usuario que se utilizarán para acceder hacia Samba no requieren
acceso al interprete 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 interpete de mandatos para la cuenta de
usuario involucrada.
useradd -s /sbin/nologin usuario-windows
smbpasswd -a usuario-windows
No hace falta se asigne una clave de acceso en el sistema con el mandato passwd puesto que la cuenta no
tendrá acceso al interprete de mandatos.
Si se necesita que las cuentas se puedan utilizar para acceder hacia otros servicios como serían Telnet,
SSH, etc, es decir, que se permita acceso al interprete de mandatos, será necesario especificar /bin/bash
como interprete de mandatos y además se deberá asignar una clave de acceso en el sistema con el
mandato passwd:
useradd -s /bin/bash usuario-windows
passwd usuario-windows
smbpasswd -a usuario-windows
El fichero lmhosts
Es necesario empezar resolviendo localmente los nombres NetBIOS asociándolos con direcciones IP
correspondientes en el fichero lmhosts (LAN Manager hosts). Para fines prácticos el nombre NetBIOS debe
tener un máximo de 11 caracteres. Normalmente se utiliza como referencia el nombre corto del servidor o el
nombre corto que se asigno como alias a la interfaz de red. Si se edita el fichero /etc/samba/lmhosts, se
encontrará un contenido similar al siguiente:
127.0.0.1 localhost
Se pueden añadir los nombres y direcciones IP de cada uno de los anfitriones de la red local. Como mínimo
debe encontrarse el nombre del anfitrión Samba y su dirección IP correspondiente, y opcionalmente el resto
de los anfitriones de la red local. La separación de espacios se hace con un tabulador. Ejemplo:
127.0.0.1 localhost
192.168.1.1 servidor
192.168.1.2 joel
192.168.1.3 blanca
192.168.1.4 jimena
192.168.1.5 regina
192.168.1.6 isaac
192.168.1.7 finanzas
192.168.1.8 direccion
Parámetros principales del fichero smb.conf.
Se modifica el fichero /etc/samba/smb.conf con cualquier editor de texto. Este información que será de
utilidad y que está comentada con un símbolo # y varios ejemplos comentados con ; (punto y coma), siendo
estos últimos los que se pueden tomar como referencia.
Parámetro workgroup.
Se establece el grupo de trabajo definiendo el valor del parámetro workgroup asignando un grupo de
trabajo deseado:
workgroup = MIGRUPO
Parámetro netbios name.
Opcionalmente se puede establecer con el parámetro netbios name otro nombre distinto para el servidor
si acaso fuese necesario, pero siempre tomando en cuenta que dicho nombre deberá corresponder con el
establecido en el fichero /etc/samba/lmhosts:
netbios name = maquinalinux
Parámetro server string.
El parámetro server string es de carácter descriptivo. Puede utilizarse un comentario breve que de una
descripción del servidor.
server string = Servidor Samba %v en %L
Parámetro hosts allow.
La seguridad es importante y esta se puede establecer primeramente estableciendo la lista de control de
acceso que definirá que máquinas o redes podrán acceder hacia el servidor. El parámetro hosts allow sirve
para determinar esto. Si la red consiste en la máquinas con dirección IP desde 192.168.1.1 hasta
192.168.1.254, el rango de direcciones IP que se definirá en hosts allow será 192.168.1. de modo tal que
solo se permitirá el acceso dichas máquinas. En el siguiente ejemplo se define la red 192.168.1.0/24
definiendo los tres primeros octetos de la dirección IP de red, así como cualquier dirección IP de la red
127.0.0.0/8 definiendo el primer octeto:
hosts allow = 192.168.1. 127.
Parámetro interfaces.
El parámetro interfaces permite establecer desde que interfaces de red del sistema se escucharán
peticiones. Samba no responderá a peticiones provenientes desde cualquier interfaz no especificada. Esto
es útil cuando Samba se ejecuta en un servidor que sirve también de puerta de enlace para la red local,
impidiendo se establezcan conexiones desde fuera de la red local.
interfaces = lo eth0 192.168.1.254/24
Parámetro remote announce.
La opción remote announce se encarga de que el servicio nmbd se anuncie a si mismo de forma periódica
hacia una red en particular y un grupo de trabajo específico. Esto es particularmente útil si se necesita que
el servidor Samba aparezca no solo en el grupo de trabajo al que pertenece sino también otros grupos de
trabajo. El grupo de trabajo de destino puede estar en donde sea mientras exista una ruta y sea posible la
difusión exitosa de paquetes.
Los valores que pueden ser utilizados son direcciones IP de difusión (broadcast) de la red utilizada (es
decir la última dirección IP del segmento de red) y/o nombres de grupos de trabajo. En el siguiente ejemplo
se define que el servidor Samba se anuncie a través de las direcciones IP de difusión 192.168.1.255 (red
192.168.1.0/24) y 192.168.2.255 (red 192.168.2.0/24) y hacia los grupos de trabajo DOMINIO1 y DOMINIO2.
remote announce = 192.168.1.255/DOMINIO1 192.168.2.255/DOMINIO2
Impresoras en Samba.
Las impresoras se comparten de modo predeterminado, así que solo hay que realizar algunos ajustes. Si se
desea que se pueda acceder hacia la impresora como usuario invitado sin clave de acceso, basta con
añadir public = Yes en la sección de impresoras del siguiente modo:
[printers]
comment = El comentario que guste.
path = /var/spool/samba
printable = Yes
browseable = No
writable = no
printable = yes
public = Yes
Se pude definir también a un usuario o bien un grupo (@grupo_que_sea) para la administración de las
colas de las impresoras:
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = yes
writable = no
printable = yes
p
Comentarios de: Cómo configurar Samba (básico) (0)
No hay comentarios