1. SAMBA – IMPLEMENTACION
COMPARTIENDO DATOS ENTRE DOS
SERVIDORES LINUX DE FORMA SEGURA
USANDO UN SERVIDOR SAMBA.
Por: Ing. Fabian MestreSocarras
El presente documento permite establecer un servidor samba como servidor para
compartir datos entre servidores Linux. Esta practica fue realizada utilizando un
servidor CentOS 6.3 donde se instaló samba server (192.168.0.13), y un cliente
que CentOS 5.7 (192.168.0.14), proveido desde el iso de Elastix 2.3
Actividades del lado del servidor
Paquetes requeridos para la instalación de Samba
# yuminstall –y samba samba-common samba-client
Verificar que los siguientes paquetes se encuentrén instalados:
# rpm -qa | grep samba
samba-client-3.5.4-68.el6.x86_64
samba-3.5.4-68.el6.x86_64
samba-winbind-clients-3.5.4-68.el6.x86_64
samba-common-3.5.4-68.el6.x86_64
Activar el servicio Samba en el arranque de la maquina para los niveles de
ejecución 2, 3, 4, 5:
# chkconfigsmbon
Verificar que el servicio arranque en los niveles de ejecución definidos:
# chkconfigsmb --list
smb 0:off 1:off 2:on 3:on 4:on 5:on6:off
2. Editar el archivo /etc/samba/smb.conf y cambiar el grupo de trabajo a
WORKGROUP
Activar la interfaz de red que corresponda y la dirección IP asignada a la misma,
en este ejercicio es eth1 192.168.0.13.
Agregar la línea que establece la carpeta a compartir, para este caso la carpeta es
/datos y se define el usuario ofir como usuario samba que podrá escribir sobre
esta carpeta.
[datos]
comment = Compartiendo la carpeta datos
### Allow users to access the share and define its location ###
browseable = yes
path = /datos
### Make the share writable and define access for valid users ###
validusers = ofir
writable = yes
Crearusuario en el sistema operativo Linux llamado ofiry asignarle contraseña
useraddofir
passwdofir
Crear usuario en samba que es separado de los usuarios del sistema operativo
smbpasswd–a ofir
Verificar creación de usuario de samba
pdbedit -w -L
Iniciar samba service smb start
servicesmbstart
Agregar las siguientes reglas del firewall y abrir los puertos 137 138 139 445
iptables -I INPUT -p tcp -m tcp --dport 137 -j ACCEPT
iptables -I INPUT -p udp -m udp --dport 138 -j ACCEPT
3. iptables -I INPUT -p udp -m udp --dport 139 -j ACCEPT
iptables -I INPUT -p tcp -m tcp --dport 445 -j ACCEPT
Reiniciar y salvar el servicio iptables
serviceiptablessave
serviceiptablesrestart
Seleccionar las reglas de selinux que se refieran a los servicios samba
getsebool -a | egrep ‘(samba)|(smb)|(nmb)|(win)’
Activar las reglas de selinux y hacerlas permanentes
setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
Verificar que las reglas hayan quedados establecidas
getsebool -a | egrep '(samba)|(smb)|(nmb)|(win)'
allow_httpd_mod_auth_ntlm_winbind --> off
allow_smbd_anon_write --> off
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> on
samba_export_all_rw --> on
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
use_samba_home_dirs --> off
virt_use_samba --> off
wine_mmap_zero_ignore --> off
Si se crea un nuevo directorio para compartir este debe marcarse como
"samba_share_t" para que selinux permita escribir sobre el:
chcon -Rtsamba_share_t /datos/
Implementación del Cliente Samba
4. Verificar que estén instalados los paquetes samba-cliente y samba-common
rpm -qa | grep samba
Sino están instalados deben instalarse así:
yum install -y samba-client samba-common
El resultado debe de ser estos paquetes instalados
samba-common-3.0.33-3.39.el5_8
samba-client-3.0.33-3.39.el5_8
Crear la carpeta donde se va a realizar el montaje de la carpeta /datos compartida
por samba
mkdir /exportada
Verificar que este equipo cliente vea al servidor samba y el recurso que está
compartiendo
[root@dhcppc11 ~]# smbclient -L '192.168.0.13' -U ofir
Password:
Domain=[MYSERVER] OS=[Unix] Server=[Samba 3.5.10-125.el6]
Sharename Type Comment
--------- ---- -------
datosDirk Datos
IPC$ IPC IPCService (Samba Server Version 3.5.10-125.el6)
ofir Disk Home Directories
Realizar el montaje local de la carpeta /datos que está en 192.168.0.13
mount.cifs //192.168.0.13/datos /exportada -o username=ofir,password=123456
Verificar que el montaje quede hecho
[root@dhcppc11 ~]# df -h
FilesystemSize Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00 6.7G 1.9G 4.5G 30% /
/dev/sda1 99M 13M 82M 13% /boot
tmpfs 252M 0 252M 0% /dev/shm
/dev/sdb1 244M 6.1M 225M 3% /mnt
//192.168.0.13/datos 5.8G 3.5G 2.1G 64% /exportada
5. Para verificar el funcionamiento, se crean en el server samba en /datos archivos
que deben de ser vistos en el equipo cliente (elastix - CentOS 5.7 corriendo).
[root@dhcppc10 datos]# touch {archivoA,archivoB}_{1,2,3,4,5,6,7,8,9}
[root@dhcppc10 datos]# ls
archivoA_1 archivoA_3 archivoA_5 archivoA_7 archivoA_9 archivoB_2
archivoB_4 archivoB_6 archivoB_8
archivoA_2 archivoA_4 archivoA_6 archivoA_8 archivoB_1 archivoB_3
archivoB_5 archivoB_7 archivoB_9
Luego vamos al otro equipo (cliente elastix) a verificar que esos archivos se
puedan ver:
[root@dhcppc11 ~]# ls /exportada/
archivoA_1 archivoA_3 archivoA_5 archivoA_7 archivoA_9 archivoB_2
archivoB_4 archivoB_6 archivoB_8
archivoA_2 archivoA_4 archivoA_6 archivoA_8 archivoB_1 archivoB_3
archivoB_5 archivoB_7 archivoB_9
Con esto finalizamos este tutorial de compartir archivos entre servidores Linux
utilizando Samba.
CENTRALIZANDO EL ALMACENAMIENTO DE
EQUIPOS WINDOWS EN SERVIDORES LINUX CON
SAMBA
agregar el usuario jaime en windows 7 con la contraseña 123456
agregar el usuario jaime en linux
useraddjaime
passwdjaime
agregar el usuario jaime en samba
smbpasswd -a jaime
activar el usuario jaime en samba
smbpasswd -e jaime
6. En este momento es bueno recordar que la carpeta /datos es la carpeta que se
está compartiendo por samba pero solo para conexión segura entre dos
servidores la cual está usando el usuario “ofir” para el montaje en red.
Para resumir, usuario de windows al que se le quiera centralizar datos en Linux, el
procedimiento a aplicar es el siguiente:
1. Cree la cuenta en windows
2. Cree la cuenta en Linux
3. Cree la cuenta en samba
4. Verificar en el explorador de windows digitado la ip del servidor samba, cada
usuario debe ver su propia carpeta y la carpetas que está compartiendo el samba
si es el caso.