Los sistemas Windows y Linux están estructurados de manera diferente y, a menudo, una coexistencia pacífica entre los dos suele ser un desafío. Gracias a Samba, los dos sistemas ahora pueden compartir archivos y carpetas a través de la red. Entonces que es Samba? Samba es un protocolo gratuito y de código abierto que permite compartir archivos entre ambos sistemas de forma sencilla y sin problemas. Puede tener un servidor Samba en un servidor Linux que aloje varios archivos y carpetas a los que pueden acceder los clientes de Windows. En este tutorial, aprenderá cómo instalar y configurar la última versión de Samba en CentOS 8. También aprenderá cómo compartir una carpeta del sistema CentOS 8 al sistema Windows usando samba.
Paso 1) Instalar samba y los paquetes necesarios
Inicie sesión en su servidor y ejecute el siguiente comando para instalar Samba y sus dependencias.
$ sudo dnf install samba samba-common samba-client
También debemos asegurarnos de que el sistema Windows y Linux estén en el mismo grupo de trabajo. Entonces, vaya a su PC con Windows e inicie el símbolo del sistema. Escriba el comando:
> estación de trabajo de configuración de red
Desde la salida, podemos ver claramente que el dominio de la estación de trabajo apunta a ‘GRUPO DE TRABAJO‘.Esto también se configurará más adelante en la máquina Linux.
Paso 2) Configuración de Samba
Habiendo instalado Samba, es hora de hacer algunas configuraciones. Pero antes de hacer eso, necesitamos hacer una copia de seguridad del archivo de configuración de samba. Por lo tanto, ejecute el siguiente comando:
$ sudo mv /etc/samba/smb.conf /etc/samba/smb.con.bak
A continuación, crearemos una carpeta compartida llamada shared y asignaremos los permisos y la propiedad necesarios, como se muestra.
$ sudo mkdir -p /srv/samba/shared $ sudo chmod -R 0755 /srv/samba/shared $ sudo chown -R nobody:nobody /srv/samba/shared $ sudo chcon -t samba_share_t /srv/samba/shared
Ahora cree un nuevo archivo de configuración de samba
$ sudo vim /etc/samba/smb.conf
Agregue la configuración a continuación:
[global] workgroup = WORKGROUP server string = Samba Server %v netbios name = centos-8 security = user map to guest = bad user dns proxy = no [Anonymous] path = /srv/samba/shared browsable =yes writable = yes guest ok = yes read only = no
Guarde y cierre el archivo de configuración. Para verificar que la configuración es correcta, ejecute testparm mando
$ testparm
Paso 3) Permitir el servicio samba en el firewall
A continuación, permita que Samba cruce el cortafuegos para que los usuarios externos puedan acceder a los recursos compartidos de samba.
$ sudo firewall-cmd --add-service=samba --zone=public --permanent $ sudo firewall-cmd --reload
Paso 4) Inicie y habilite los servicios de Samba
Finalmente, inicie y habilite los servicios Samba y nmb
$ sudo systemctl start smb $ sudo systemctl enable smb
Luego confirme si el servicio smb se está ejecutando:
$ sudo systemctl status smb
$ sudo systemctl start nmb $ sudo systemctl enable nmb
De manera similar, confirme si el servicio nmb se está ejecutando como lo hicimos con el servicio smb:
$ sudo systemctl status nmb
Paso 5) Acceso a recursos compartidos de Samba desde una máquina con Windows
Desde su PC con Windows, presione la tecla de Windows + R para iniciar el cuadro de diálogo Ejecutar y escriba
\nombre-de-host-del-servidor-samba
O
\dirección-IP-del-servidor-samba
Esto abre una ventana debajo con una carpeta ‘Anónimo’.
Puede crear archivos desde el servidor Samba o desde el cliente y compartirlos con otros usuarios
Crear recursos compartidos seguros en Samba
El recurso compartido de archivos que acabamos de crear es accesible para todos y cualquier usuario puede crear y eliminar archivos. Esto plantea un desafío si desea compartir documentos críticos, ya que también se pueden sobrescribir o eliminar. Por este motivo, necesitamos crear un recurso compartido de archivos seguro para abordar este desafío.
Primero, vamos a crear un nuevo grupo para usuarios de samba como se muestra:
$ sudo groupadd secure_group
Luego agregaremos un nuevo usuario al grupo recién creado.
$ sudo useradd -g secure_group linuxuser
A continuación, crearemos una nueva carpeta segura y luego asignaremos los permisos necesarios y la propiedad del archivo como se muestra a continuación.
$ sudo mkdir -p /srv/samba/secure_share $ sudo chmod -R 0770 /srv/samba/secure_share $ sudo chcon -t samba_share -p /srv/samba/secure_share $ sudo chown -R root:secure_group /srv/samba/secure_share
A continuación, asignaremos al usuario de samba una contraseña que se utilizará al acceder al recurso compartido de archivos seguro. Esto le pedirá que proporcione una contraseña SMP y luego la confirme.
$ sudo smbpasswd -a linuxuser
Ahora regresemos al archivo de configuración de Samba.
$ sudo vim /etc/samba/smb.conf
Agregue las líneas de configuración que se muestran a continuación:
[secured] path = /srv/samba/secure_share valid users = @secure_group guest ok = no writable = yes browsable = yes
Guardar y salir y luego reiniciar el servicio Samba
$ sudo systemctl restart samba
Acceso a la carpeta segura de Samba desde un sistema Windows
Nuevamente, para acceder a Samba share desde su sistema de Windows, presione Tecla de Windows + R para lanzar el ‘Correr‘ diálogo. Escriba \hostname o \ samba-IP y presione INGRESAR.
Ahora notará que tenemos otra carpeta llamada segura.
Para acceder a él, haga doble clic en él y una ventana emergente de inicio de sesión le pedirá sus credenciales de nombre de usuario y contraseña.
Una vez hecho esto, haga clic en el ‘OK‘ o simplemente presione ENTER para acceder al contenido de la carpeta
Acceso a la carpeta segura de Samba desde una máquina Linux
Para acceder a los directorios compartidos desde un sistema Linux, simplemente ejecute el comando:
$ smbclient --user=linuxuser -L //192.168.43.13
Proporcione la contraseña cuando se le solicite y presione ENTER
Para acceder al recurso compartido seguro, ejecute
$ smbclient //192.168.43.13/secured -U linuxuser
Siéntase libre de crear archivos y directorios para compartir con otros usuarios de samba.