Professional Documents
Culture Documents
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 ficheros de gran tamao. Por mera coincidencia esto 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 protoclo NetBIOS, el cual a su vez travaja 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 interred/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.
Procedimientos.
SE inu! 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 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 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
El "ic#ero lm#osts
Es necesario empezar resolviendo localmente los nombres NetBIOS asocindolos con direcciones IP correspondientes en el fichero lmhosts (LAN Manager hosts). Para fines prcticos el nombre NetBIOS debe tener un mximo 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 aadir los nombres y direcciones IP de cada uno de los anfitriones de la red local. Como m nimo debe encontrarse el nombre del anfitrin Samba y su direccin IP correspondiente, y opcionalmente el resto de los anfitriones de la red local. La separacin de espacios se hace con un tabulador. Ejemplo: 127.0.0.1 1 2.1!".1.1 1 2.1!".1.2 1 2.1!".1.$ 1 2.1!".1.% 1 2.1!".1.& 1 2.1!".1.! 1 2.1!".1.7 1 2.1!".1." localhost servidor #oel blanca #imena regina isaac 'inan(as direccion
Par$metro %or&group.
Se establece el grupo de trabajo definiendo el valor del parmetro workgroup asignando un grupo de trabajo deseado: wor)group * +,-./P0
Par$metro inter"aces.
El parmetro 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 tambin de puerta de enlace para la red local, impidiendo se establezcan conexiones desde fuera de la red local. inter'aces * lo eth0 1 2.1!".1.2&%/2%
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 aadir public = Yes en la seccin de impresoras del siguiente modo: 7printers8 comment * 9l comentario 1ue guste. path * /var/spool/samba printable * :es browseable * 6o writable * no printable * yes public = Yes Se pude definir tambin a un usuario o bien un grupo (@grupo_que_sea) para la administracin de las colas de las impresoras:
comment * ;ll Printers path * /var/spool/samba browseable * no guest o) * yes writable * no printable * yes public * yes printer admin = fulano, @opers_impresion Con lo anterior se define que el usuario fulano y quien pertenezca al grupo opers_impresion podrn realizar tareas de administracin en las impresoras.
writable
Define si ser permitir la escritura. Es el parmetro contrario de read only . El valor puede ser :es o 6o . Ejemplos: =writable * :es> es lo mismo que =read only * 6o> . Obviamente =writable * 6o> es lo mismo que =read only * :es>
valid users
Define que usuarios o grupos pueden acceder al recurso compartido. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: 'ulano? mengano? @administradores
write list
Define que usuarios o grupos pueden acceder con permiso de escritura. Los valores pueden ser nombres de usuarios separados por comas o bien nombres de grupo antecedidos por una @. Ejemplo: 'ulano? mengano? @administradores
admin users
Define que usuarios o grupos pueden 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: 'ulano? mengano? @administradores
directory mas)
Es lo mismo que directory mode . Define que permiso en el sistema tendrn los subdirectorios creados
dentro del recurso. Ejemplos: 1777 create mas) Define que permiso en el sistema tendrn los nuevos ficheros creados dentro del recurso. Ejemplo: 0!%% En el siguiente ejemplo se compartir a travs de Samba el recurso denominado datos, el cual est localizado en el directorio /var/samba/datos del disco duro. Se permitir el acceso a cualquiera pero ser un recurso de solo lectura salvo para los usuarios administrador y fulano. Todo directorio nuevo que sea creado en su interior tendr permiso 755 (drwxr-xr-x) y todo fichero que sea puesto en su interior tendr permisos 644 (-rw-r--r--. Primero se crea el nuevo directorio /var/samba/datos, utilizando el siguiente mandato: m)dir -p /var/samba/datos Luego se define en SELinux que dicho directorio debe ser considerado como contenido Samba. chcon -t samba_share_t /var/samba/datos Se edita el fichero /etc/samba/smb.conf y se aade hasta el final de ste el siguiente contenido: 7datos8 comment * 5irectorio de de 5atos path * /var/samba/datos guest o) * :es read only * :es write list * 'ulano? administrador directory mas) * 07&& create mas) * 0!%%
/sbin/service smb start Si va a reiniciar el servicio, realice lo siguiente: /sbin/service smb restart Para que Samba inicie automticamente cada vez que inicie el servidor solo utilice el siguiente mandato: /sbin/ch)con'ig smb on
'omprobaciones.
Modo te!to.
*erramienta smbclient.
Indudablemente el mtodo ms prctico y seguro es el mandato smbclient. Este permite acceder haca cualquier servidor Samba o Windows, similar al mandato ftp en modo texto. Para acceder al cualquier recurso de alguna mquina Windows o servidor SAMBA determine primero que volmenes o recursos compartidos posee est. utilice el mandato smbclient del siguiente modo: smbclient -/ usuario -4 alguna_ma1uina Lo cual le devolvera ms menos lo siguiente:
5omain*7+,-50+,6,08 02*7/nix8 2erver*72amba $.0.7-1.$98 2harename Bype <omment -----------------homes 5is) Aome 5irectories netlogon 5is) 6etwor) 4ogon 2ervice datos 5is) datos ,P<C ,P< ,P< 2ervice D2ervidor 2amba $.0.7-1.$9 en mi-servidorE ;5+,6C ,P< ,P< 2ervice D2ervidor 2amba $.0.7-1.$9 en mi-servidorE epl& 00 Printer <reated by redhat-con'ig-printer 0.!.x hp2&&0bw Printer <reated by redhat-con'ig-printer 0.!.x ;nonymous login success'ul 5omain*7+,-50+,6,08 02*7/nix8 2erver*72amba $.0.7-1.$98 2erver --------mi-servidor For)group --------+,-50+,6,0 <omment ------2ervidor 2amba $.0.7-1.$9 en mi-servidor +aster ------+,-29.G,50.
La siguiente corresponde a la sintaxis bsica para poder navegar los recursos compartidos por la mquina Windows o el servidor SAMBA: smbclient //alguna_ma1uina/recurso -/ usuario Ejemplo: smbclient //4,6/H/5;B02 -/ 'ulano
Despus de ejecutar lo anterior, el sistema solicitar se proporcione la clave de acceso del usuario fulano en el equipo denominado LINUX. smbclient //4,6/H/5;B02 -/ #barrios added inter'ace ip*1 2.1!".1.2&% bcast*1 2.1!".1.2&& nmas)*2&&.2&&.2&&.0 PasswordI 5omain*7miusuario8 02*7/nix8 2erver*72amba 2.2.1a8 smbI J Pueden utilizarse casi los mismos mandatos que en el intrprete de ftp, como seran get, mget, put, del, etc.
Modo gr$"ico
+esde el escritorio de ,-(ME.
Si utiliza GNOME 2.x o superior, ste incluye un mdulo para Nautilus que permite acceder hacia los recursos compartidos a travs de Samba sin necesidad de modificar cosa alguna en el sistema. Solo hay que hacer clic en Servidores de red en el men de GNOME.
+esde .indo%s.
Por su parte, desde Windows deber ser posible acceder sin problemas hacia Samba como si fuese hacia cualquier otra mquina con Windows. Vaya, ni Windows ni el usuario notarn siquiera la diferencia.