La interconexión entre sistema operativos es una tarea esencial para facilitar el uso de diversos archivos entre equipos y aún más cuando estos sistemas operativos no son compatibles entre sí, tal como es el caso de Linux con Windows.
Si intentas conectar, por ejemplo, un medio USB con sistema NTFS a Linux t saldrá error ya que Linux maneja el sistema de archivos EXT4 (o viceversa) con lo cual las posibilidades de conexión entre ambos se limitan, pero hoy Solvetic te explicará como instalar el servidor Samba en CentOS 8 y de esta manera tener la posibilidad, segura e integral, de transferir archivos entre ambos sistemas.
Recuerda que puedes descargar CentOS 8 en el siguiente enlace:
Como hemos mencionado, Samba usa el protocolo CIFS (Common Internet File System - Sistema de archivos de Internet común) el cual tiene como misión facilitar el acceso a los servicios de archivos e impresión dando como resultado acceder entre ambos sistemas sin errores.
- Servicios de archivo e impresión.
- Autenticación y autorización.
- Resolución de nombre.
- Anuncio de servicio (navegación).
Los servicios de archivo e impresión son lo más usado de CIFS y son proporcionados por smbd el cual a su vez administra la autenticación y autorización de "modo compartido" y "modo de usuario" para proteger los archivos compartidos y los servicios de impresión cuando sean solicitadas las credenciales de acceso.
- smbclient: este es un cliente SMB simple el cual posee una interfaz idéntica a FTP y gracias a smbclient podremos conectarnos a un recurso compartido SMB remoto, transferir archivos o enviar archivos a recursos compartidos de impresión remotos.
- nmblookup: es un cliente de servicio de nombres NetBIOS con el cual será posible buscar nombres de NetBIOS en la red.
- Samba Web Administration Tool (SWAT): es una utilidad que nos permite configurar Samba de forma remota a través de un navegador web.
Ahora aprenderás con Solvetic a instalar Samba en CentOS 8.
1. Instalar y configurar Samba en CentOS 8
El primer paso que daremos será instalar los paquetes asociados de Samba, para ello ejecutamos lo siguiente:
yum install samba samba-client samba-common -y
Una vez este proceso finalice veremos lo siguiente:
El siguiente paso será editar el archivo de configuración de Samba el cual está en la ruta /etc/samba/smb.conf, para ello usaremos el editor deseado:
nano /etc/samba/smb.conf
mv /etc/samba/smb.conf /etc/samba/smb.conf.bkp
En la parte inferior del archivo ingresaremos lo siguiente:
[global] workgroup = WORKGROUP server string = Samba Server %v netbios name = centos8 security = user map to guest = bad user dns proxy = no #============================ Share Definitions ============================== [Anonymous] path = /samba/anonymous browsable =yes writable = yes guest ok = yes read only = no
Guardamos los cambios usando la combinación de teclas siguiente:
Ctrl + O
Salimos del editor usando:
Ctrl + X
Ahora procedemos a crear la carpeta de Anonymous y reiniciar el servicio de Samba en CentOS 8:
mkdir -p /samba/anonymous systemctl enable smb.service systemctl enable nmb.service systemctl restart smb.service systemctl restart nmb.service
Ahora vamos a añadir las siguientes reglas en Iptables con el fin de que la conectividad de Samba sea correcta, para ello usaremos los siguientes comandos:
firewall-cmd --permanent --zone=public --add-service=samba firewall-cmd --reload
Procedemos a modificar los permisos para compartir elementos a través de Samba:
chmod -R 0755 anonymous/ chown -R nobody:nobody anonymous/
Procedemos a conceder los permisos de selinux para la configuración de Samba:
chcon -t samba_share_t anonymous/
Con esto configurado, accedemos a un equipo con Windows, en este caso Windows 10, usaremos las teclas siguiente y allí ejecutamos la siguiente línea:
+ R
\\centos8
Pulsamos Enter o Aceptar y accederemos a la carpeta “Anonymous” que hemos creado en CentOS 8:
Allí podremos crear archivos o carpetas:
Vemos la creación de los elementos:
Si accedemos a dicha carpeta desde CentOS 8 podremos ver los objetos creados:
2. Asegurar el servidor Samba en CentOS 8
Como vemos cualquier usuario podrá acceder a la carpeta y editar el contenido allí alojado, pero por seguridad se recomienda asegurar el servidor Samba
Para ello vamos a crear un grupo llamado smbgrp y un usuario llamado solvetic_samba para acceder al servidor samba usando el método de autenticación:
useradd solvetic_samba groupadd smbgrp usermod -a -G smbgrp solvetic_samba smbpasswd -a solvetic_samba
A continuación, vamos a crear un nuevo recurso compartido y definimos el el permiso en el recurso compartido:
mkdir /home/secure
chown -R solvetic_samba:smbgrp /home/secure/ chmod -R 0770 /home/secure/ chcon -t samba_share_t /home/secure/
Accedemos de nuevo al archivo de edición de Samba:
nano /etc/samba/smb.conf
Allí ingresamos lo siguiente:
[Secure] path = /home/secure valid users = @smbgrp guest ok = no writable = yes browsable = yes
Guardamos los cambios usando la combinación de teclas siguiente:
Ctrl + O
Salimos del editor usando:
Ctrl + X
Reiniciamos el servicio de Samba:
systemctl restart smb.service systemctl restart nmb.service
Ahora si vamos al equipo Windows y actualizamos la ruta de red podremos ver la carpeta “secure” creada:
Al dar doble clic sobre ella veremos que se requiere el uso de credenciales para acceder:
Ingresamos las credenciales correctas y pulsamos en Aceptar y allí podremos crear o transferir lo que deseemos entre Windows y Linux:
Desde CentOS 8 podemos acceder a la carpeta para visualizar el contenido alojado allí:
Con Samba será mucho más simple el proceso de compartir elementos entre Windows y Linux de forma segura y totalmente práctica.