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®.
Sustento 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 de su distribución predilecta:
• samba: Servidor SMB.
• samba-client: Diversos clientes para el protoclo SMB.
• samba-common: Ficheros necesarios para cliente y servidor.
Consulte a la base de datos RPM del sistema si se encuentran instalados estos paquetes, utilizando el siguiente mandato:
rpm -q samba samba-client samba-common
Si se utiliza Red Hat™ Enterprise Linux, solo bastará realizar lo siguiente para instalar o actualizar la programática necesaria:
up2date -i samba samba-client
Si utiliza CentOS, Fedora, White Box Enterprise Linux, solo bastará realizar lo siguiente para instalar o actualizar la programática necesaria:
yum -y install samba samba-client
Configuración básica de Samba.
Para la mayoría de los casos la configuración de Samba como servidor de archivos es suficiente.
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. Para fines prácticos el nombre NetBIOS debe tener un máximo de 11 caracteres. Normalmente tomaremos como referencia el nombre corto del servidor o el nombre corto que se asigno como alias a la interfaz de red. Este lo estableceremos en el fichero /etc/samba/lmhosts, en donde encontraremos lo siguiente:
127.0.0.1 localhost
Debemos añadir entonces el nombre que hayamos elegido asociado a la dirección IP que se tenga dentro de la red local. Opcionalmente podrá añadir también los nombres y dirección IP del resto de las máquinas que conformen la red local. La separación de espacios se hace con un tabulador. Ejemplo:
127.0.0.1 localhost
192.168.1.5 maquinalinux
192.168.1.6 isaac
192.168.1.7 finanzas
192.168.1.8 direccion
Parámetros principales del fichero smb.conf.
Modifique el fichero /etc/samba/smb.conf con cualquier editor de texto. Dentro de este notará que la información que le será de utilidad viene comentada con un símbolo # y los ejemplos con ; (punto y coma), siendo estos últimos los que tomaremos como referencia.
Empezaremos por establecer el grupo de trabajo editando el valor del parámetro workgroup asignando un grupo de trabajo deseado:
workgroup = MIGRUPO
Opcionalmente 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
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ámetros útiles para la seguridad.
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. Note por favor el punto al final de cada rango. Modifique ésta de manera que quede del siguiente modo:
hosts allow = 192.168.1. 127.
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 = 192.168.1.254/24
Espero que les sirva...
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®.
Sustento 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 de su distribución predilecta:
• samba: Servidor SMB.
• samba-client: Diversos clientes para el protoclo SMB.
• samba-common: Ficheros necesarios para cliente y servidor.
Consulte a la base de datos RPM del sistema si se encuentran instalados estos paquetes, utilizando el siguiente mandato:
rpm -q samba samba-client samba-common
Si se utiliza Red Hat™ Enterprise Linux, solo bastará realizar lo siguiente para instalar o actualizar la programática necesaria:
up2date -i samba samba-client
Si utiliza CentOS, Fedora, White Box Enterprise Linux, solo bastará realizar lo siguiente para instalar o actualizar la programática necesaria:
yum -y install samba samba-client
Configuración básica de Samba.
Para la mayoría de los casos la configuración de Samba como servidor de archivos es suficiente.
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. Para fines prácticos el nombre NetBIOS debe tener un máximo de 11 caracteres. Normalmente tomaremos como referencia el nombre corto del servidor o el nombre corto que se asigno como alias a la interfaz de red. Este lo estableceremos en el fichero /etc/samba/lmhosts, en donde encontraremos lo siguiente:
127.0.0.1 localhost
Debemos añadir entonces el nombre que hayamos elegido asociado a la dirección IP que se tenga dentro de la red local. Opcionalmente podrá añadir también los nombres y dirección IP del resto de las máquinas que conformen la red local. La separación de espacios se hace con un tabulador. Ejemplo:
127.0.0.1 localhost
192.168.1.5 maquinalinux
192.168.1.6 isaac
192.168.1.7 finanzas
192.168.1.8 direccion
Parámetros principales del fichero smb.conf.
Modifique el fichero /etc/samba/smb.conf con cualquier editor de texto. Dentro de este notará que la información que le será de utilidad viene comentada con un símbolo # y los ejemplos con ; (punto y coma), siendo estos últimos los que tomaremos como referencia.
Empezaremos por establecer el grupo de trabajo editando el valor del parámetro workgroup asignando un grupo de trabajo deseado:
workgroup = MIGRUPO
Opcionalmente 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
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ámetros útiles para la seguridad.
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. Note por favor el punto al final de cada rango. Modifique ésta de manera que quede del siguiente modo:
hosts allow = 192.168.1. 127.
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 = 192.168.1.254/24
Espero que les sirva...