Академический Документы
Профессиональный Документы
Культура Документы
Introduccin.
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. Por mera coincidencia, sto ocurri por la misma poca en que Sun Microsystems
hizo el lanzamiento de WebNFS (una versin extendida de NFS,
http://www.sun.com/software/webnfs/overview.xml).
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.
Servicio iptables.
Puede utilizar directamente el mandato iptables, ejecutando lo siguiente:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 135:139 -j ACCEPT
iptables -A INPUT -m state --state NEW -m udp -p udp --dport 135:139 -j ACCEPT
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
service iptables save
Shorewall.
Edite el archivo /etc/shorewall/rules:
vim /etc/shorewall/rules
Para permitir el acceso desde cualquier zona del muro cortafuegos o si slo se tiene una
zona en el muro cortafuegos, las reglas corresponderan a algo similar a lo siguiente:
#ACTION SOURCE DEST
#
ACCEPT all
fw
ACCEPT all
fw
#LAST LINE -- ADD YOUR
REMOVE
PROTO
DEST
SOURCE
PORT
PORT(S)1
tcp
135:139,445
udp
135:139
ENTRIES BEFORE THIS ONE -- DO NOT
S se tienen varias zonas en el muro cortafuegos y slo se desea permitir el acceso desde la
zona correspondiente a red local, utilice lo siguiente.
#ACTION SOURCE DEST
#
ACCEPT loc
fw
ACCEPT loc
fw
#LAST LINE -- ADD YOUR
REMOVE
PROTO
DEST
SOURCE
PORT
PORT(S)1
tcp
135:139,445
udp
135:139
ENTRIES BEFORE THIS ONE -- DO NOT
A fin de que SELinux permita al servicio smb funcionar como Controlador Primario de
Dominio (PDC, Primary Domain Controler), ejecute 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, ejecute el siguiente mandato:
setsebool -P samba_enable_home_dirs 1
A fin de que SELinux desactive la proteccin para los directorios de inicio de los usuarios a
travs del servicio smb, ejecute el siguiente mandato:
setsebool -P use_samba_home_dirs 1
A fin de que SELinux permita al servicio smb crear nuevos directorios de inicio para los
usuarios a travs de PAM (operacin comn en Controladores Primarios de Dominio),
ejecute el siguiente mandato:
setsebool -P samba_create_home_dirs 1
A fin de que SELinux permita al servicio smb compartir todos los recursos en modo de
slo lectura, ejecute 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, ejecute el siguiente mandato:
setsebool -P samba_export_all_rw 1
Para definir que un directorio ser compartido a travs 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 travs de Samba, debe ser configurado
como acaba de describirse antes de ser configurado en el archivo /etc/samba/smb.conf.
Si va a aplicar algn cambio en cualquier otro parmetro de la configuracin, como son los
recursos compartidos, slo es necesario reiniciar el servicio smb:
service smb restart
Para que los servicios nmb y smb inicien automticamente junto con el sistema, slo
utilice los dos siguientes mandato:
chkconfig nmb on
chkconfig smb on
Procedimientos.
Alta de cuentas de usuario.
Asigne una contrasea al usuario root. sta puede ser distinta a la utilizada en el sistema.
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
contrasea 123qwe, en el servidor Samba deber existir tambin dicha cuenta con ese
mismo nombre y la misma contrasea. 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 contrasea con el mandato passwd y se deber definir
/sbin/nologin o bien /bin/false como intrprete de mandatos para la cuenta de usuario
involucrada.
useradd -s /sbin/nologin usuario
smbpasswd -a usuario
El archivo lmhosts
Es necesario empezar resolviendo de manera local los nombres NetBIOS, asocindolos con
las direcciones IP correspondientes, en el archivo /etc/samba/lmhosts (lmhosts es
acrnimo de LAN Manager hosts). Edite el archivo /etc/samba/lmhosts con cualquier
editor de texto simple.
vim /etc/samba/lmhosts
localhost
Se pueden aadir los nombres y direcciones IP de cada uno de los anfitriones de la red
local. Como mnimo debe definirse el nombre del anfitrin del servidor Samba, junto con
su correspondiente direccin IP:
127.0.0.1
192.168.70.1
localhost
servidor
De manera opcional, tambin puede aadir el resto de los anfitriones de la red local. La
separacin de campos se hace con un tabulador. Ejemplo:
127.0.0.1
192.168.70.1
192.168.70.2
192.168.70.3
192.168.70.4
192.168.70.5
192.168.70.6
192.168.70.7
192.168.70.8
localhost
servidor
joel
blanca
alejandro
sergio
isaac
finanzas
direccion
Dentro de este archivo, encontrar informacin que ser de utilidad y que est comentada
con almohadillas (smbolo #) y varios ejemplos comentados con punto y coma (smbolo ;),
siendo estos ltimos los que se pueden tomar como referencia para configurar.
Parmetro workgroup.
Se establece el grupo de trabajo definiendo el valor del parmetro workgroup asignando
un grupo de trabajo deseado:
workgroup = MIGRUPO
Nota.
files dns
Parmetro interfaces.
Permite establecer desde que interfaces de red del sistema se escucharn peticiones. Samba
rechazar todas las conexiones provenientes desde cualquier otra interfaz o direccin IP, sin
definir. sto es til cuando Samba se ejecuta en un servidor que sirve adems de puerta de
enlace para la red local, impidiendo se establezcan conexiones hacia este servicio desde
Internet o bien fuera del bloque o segmento, de direcciones de la red local.
Los valores aceptados para este parmetro es una lista, separada por comas o espacios, con
los nombres de las interfaces (lo, eth0, eth1, etc.) y direcciones IP utilizada en una interfaz
en particular, con la mscara de sub-red en formato CIDR (Classless Inter-Domain
Routing), es decir, expresada en bits. Ejemplo:
interfaces = lo, eth1, 192.168.70.254/25
Impresoras en Samba.
Las impresoras se comparten de modo predeterminado, as que slo hay que realizar
algunos ajustes. Si se desea que se pueda acceder hacia la impresora como usuario invitado
sin contrasea, basta con aadir public = Yes (que es lo mismo que guest ok = Yes) en la
seccin de impresoras. Edite el archivo /etc/samba/smb.conf:
vim /etc/samba/smb.conf
Procure que los nombres de los recursos a compartir tengan un mximo de 12 caracteres,
utilizando slo caracteres alfanumricos de la tabla de caracteres ASCII.
El volumen puede utilizar cualquiera de las siguientes opciones:
Opcin
Descripcin
guest ok
public
browseable
writable
valid users
write list
admin users
directory mask
create mask
Cambie el contexto de SELinux, a fin de que este directorio sea considerado como
contenido Samba.
chcon -t samba_share_t /var/samba/ejemplo
Cambie asigne permisos de lectura, escritura y ejecucin a los usuarios fulano y zutano:.
setfacl -m u:fulano:7,u:zutano:7 /var/samba/ejemplo
Comprobaciones.
Modo texto desde GNU/Linux.
Utilice el mandato mount, con la opcin -t con el valor cifs, la opcin -o para especificar
con username el nombre de usuario a utilizar, la ruta del recurso compartido en el servidor
Samba y el punto de montaje a utilizar:
mount -t cifs -o username=fulano //servidor/ejemplo
/mnt/ejemplo
Cambie los permisos de acceso del archivo, de modo que slo el usuario root pueda ver y
modificar el contenido de ste:
chmod 600 /etc/credentials
Aada el siguiente contenido, especificando con los parmetros uid y gid los nmeros de
UID y GID del usuario y grupo del anfitrin local que utilizarn el recurso. De modo
predeterminado, este recurso ser montado automticamente con el siguiente reinicio de
sistema.
//servidor/ejemplo
/mnt/ejemplo
cifs
credentials=/etc/credentials,uid=1005,gid=1005
0 0
Utilice las opciones noauto y user si se prefiere que el recurso sea montado manualmente
por un usuario del anfitrin local:
//servidor/ejemplo
0
/mnt/ejemplo
cifs
credentials=/etc/credentials,uid=1005,gid=1005,noauto,user
Comment
------Servidor Samba 3.5.4-68.el6_0.2 en mi-servidor
Workgroup
--------MI-DOMINIO
Master
------MI-SERVIDOR
La siguiente corresponde a la sintaxis bsica para poder navegar los recursos compartidos
por la mquina Windows o el servidor SAMBA:
smbclient //alguna_maquina/recurso -U usuario
Ejemplo:
smbclient //SERVIDOR/EJEMPLO -U fulano
Pueden utilizarse casi los mismos mandatos que en el intrprete de ftp, como seran get,
mget, put, del, etc.
Modo grfico
Desde Windows.
Desde Windows deber ser posible acceder sin problemas hacia cualquier servidor Samba,
como si fuese hacia cualquier otro sistema con Windows