Compartir archivos es una parte esencial de la administración del servidor. Permite compartir los recursos a través de la red que necesitan los usuarios para llevar a cabo sus tareas. El servidor Samba generalmente se instala en el servidor Linux central donde la información se almacena en una variedad de medios y se accede mediante el cliente de Windows o Linux mediante el cliente Samba.
En este artículo, aprenderemos cómo instalar y configurar el uso compartido de archivos samba en Rocky Linux 8. Esta guía también funciona en otras distribuciones basadas en RHEL 8 como Alma Linux 8 y Oracle Linux 8.
Rocky Linux 8 se configurará como el servidor Samba y luego podremos acceder a los archivos con clientes Windows o Linux.
Contenido relacionado
- Cómo instalar y configurar el uso compartido de archivos Samba en Ubuntu 20.04
Tabla de contenido
- Asegurarse de que el servidor esté actualizado
- Instalar paquetes de samba
- Configurar recursos compartidos de Samba
- Habilite el servicio Samba a través del firewall
- Iniciar y habilitar el servicio Samba
- Acceda a los recursos compartidos de Samba con Linux Client
- Acceda a los recursos compartidos de Samba con el cliente de Windows
- Configuración compartida segura de Samba
1. Asegurarse de que el servidor esté actualizado
Antes de continuar, asegurémonos de que nuestro servidor esté actualizado y que todos los paquetes tengan la última versión. Use estos comandos para lograr esto:
sudo dnf -y update
Si hay paquetes para actualizar, el comando anterior puede tardar un par de minutos.
2. Instalar paquetes de Samba
Los paquetes de samba están disponibles en los repositorios predeterminados de Rocky Linux. Instálelos con este comando:
sudo dnf install samba samba-common samba-client
Cuando se le solicite que confirme el proceso de instalación, escriba y luego ingrese para continuar.
Confirme el paquete de software instalado con este comando:
$ rpm -qi samba
Name : samba
Epoch : 0
Version : 4.14.5
Release : 7.el8_5
Architecture: x86_64
Install Date: Sat Jan 15 08:12:25 2022
Group : Unspecified
Size : 2653757
License : GPLv3+ and LGPLv3+
Signature : RSA/SHA256, Mon Dec 13 17:12:06 2021, Key ID 15af5dac6d745a60
Source RPM : samba-4.14.5-7.el8_5.src.rpm
Build Date : Mon Dec 13 16:51:31 2021
Build Host : ord1-prod-x86build005.svc.aws.rockylinux.org
Relocations : (not relocatable)
Packager : [email protected]
Vendor : Rocky
URL : https://www.samba.org
Summary : Server and Client software to interoperate with Windows machines
Description :
Samba is the standard Windows interoperability suite of programs for Linux and
Unix.
3. Configuración de recursos compartidos de Samba
El archivo de configuración de samba se encuentra en esta ruta /etc/samba/smb.conf
. Antes de hacer cualquier modificación, vamos a crear una copia de seguridad para que, si nos equivocamos, tengamos una copia. Utilice este comando en la terminal para crear un archivo de copia de seguridad:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bk
A continuación, vamos a crear un directorio para compartir.
sudo mkdir -p /home/sambashare
Actualicemos los permisos del directorio para que sea accesible. White, también actualizaremos los permisos de SELinux:
sudo chmod -R 755 /home/sambashare
sudo chown -R nobody:nobody /home/sambashare
sudo chcon -t samba_share_t /home/sambashare
Ahora editemos la configuración de samba para definir la exportación para el directorio que creamos.
Abra el archivo de configuración:
sudo vim /etc/samba/smb.conf
Actualice la configuración en el archivo para reflejar lo siguiente:
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = Citizix SmbSvr
security = user
map to guest = bad user
dns proxy = no
[Public]
path = /home/sambashare
browsable =yes
writable = yes
guest ok = yes
read only = no
Guarde y cierre el archivo.
Verifique la configuración usando este comando:
sudo testparm
Debería ver algo similar a esto si todo está bien.
$ sudo testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
...
4. Habilite el servicio Samba a través de Firewall
Si tiene firewalld instalado y habilitado, debe habilitar el servicio samba a través del firewall. Usa este comando para lograrlo:
sudo firewall-cmd --add-service=samba --zone=public --permanent
sudo firewall-cmd --reload
5. Inicie y habilite el servicio Samba
El servicio no se iniciará de forma predeterminada. Inicie el servicio usando este comando:
sudo systemctl start smb
Confirme el estado del servicio usando esto:
$ sudo systemctl status smb
● smb.service - Samba SMB Daemon
Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2022-01-15 08:43:41 UTC; 25s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 62502 (smbd)
Status: "smbd: ready to serve connections..."
Tasks: 4 (limit: 23176)
Memory: 8.7M
CGroup: /system.slice/smb.service
├─62502 /usr/sbin/smbd --foreground --no-process-group
├─62504 /usr/sbin/smbd --foreground --no-process-group
├─62505 /usr/sbin/smbd --foreground --no-process-group
└─62506 /usr/sbin/smbd --foreground --no-process-group
Jan 15 08:43:41 dev-rockysrv1.inv.re systemd[1]: Starting Samba SMB Daemon...
Jan 15 08:43:41 dev-rockysrv1.inv.re smbd[62502]: [2022/01/15 08:43:41.212309, 0] ../../lib/util/become_daemon.c:136(daemon_ready)
Jan 15 08:43:41 dev-rockysrv1.inv.re systemd[1]: Started Samba SMB Daemon.
Jan 15 08:43:41 dev-rockysrv1.inv.re smbd[62502]: daemon_ready: daemon 'smbd' finished starting up and ready to serve connections
El resultado anterior muestra que el servicio se ha iniciado correctamente. Para habilitar el servicio en el arranque, use este comando:
sudo systemctl enable smb
6. Acceda a los recursos compartidos de Samba con el cliente Linux
Para acceder al sistema de archivos desde un cliente Linux, necesitamos tener instalado el software del cliente Samba.
En un Linux rocoso, instale el software usando este comando:
sudo dnf install -y samba-client
Para acceder al recurso compartido, este es el formato:
smbclient //server-IP/Public
En nuestro cliente:
$ smbclient //10.70.5.170/Public
Enter SAMBA\rocky's password:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Sat Jan 15 08:34:22 2022
.. D 0 Sat Jan 15 08:34:22 2022
52417516 blocks of size 1024. 48494420 blocks available
smb: \>
Dado que no tenemos una contraseña configurada, simplemente presione Intro cuando se le solicite.
7. Acceda a recursos compartidos de Samba con Windows Client
En el inicio de Windows ejecutar diálogo en Windows presionando Windows Key + R .
Introduzca nombre de host o Dirección IP del servidor y luego presione Enter Clave.
\\hostname
or
\\server-IP-address
En mi caso
\\35.180.123.111
Esto abrirá las acciones. Puede agregar un archivo o directorio desde el servidor Samba o desde la máquina cliente de Windows al repositorio.
8. Configuración segura de recursos compartidos de Samba
Samba permite el acceso público sin verificación y también el uso compartido privado donde uno debe autenticarse para acceder a los recursos compartidos. En esta sección, vamos a configurar un directorio privado para compartir con samba y acceder mediante nombre de usuario y contraseña.
Creemos un grupo de usuarios de Samba en nuestro servidor.
sudo groupadd sambagrp
Cree un nuevo usuario y agréguelo al grupo de samba que acaba de crear.
sudo useradd -g sambagrp sambausr
Cree una carpeta segura y luego concédale permisos y propiedad relativos.
sudo mkdir -p /home/sambaprivateshare
sudo chmod -R 770 /home/sambaprivateshare
sudo chcon -t samba_share_t /home/sambaprivateshare
sudo chown -R root:sambagrp /home/sambaprivateshare
Cree una contraseña para el usuario de Samba que acabamos de crear que se utilizará para la autenticación al acceder al directorio.
sudo smbpasswd -a sambausr
Escriba y vuelva a escribir la contraseña:
$ sudo smbpasswd -a sambausr
New SMB password:
Retype new SMB password:
Added user sambausr.
Edite el archivo de configuración de samba para agregar configuraciones de uso compartido seguro.
sudo vim /etc/samba/smb.conf
Agregue líneas debajo del comando y edítelo para que coincida con sus configuraciones.
[Private]
path = /home/sambaprivateshare
valid users = @private
guest ok = no
writable = yes
browsable = yes
Reinicie o vuelva a cargar los servicios de samba para aplicar configuraciones
sudo systemctl restart smb
Acceso a archivos Samba Secure utilizando sistemas Windows
Presiona la tecla de Windows + R , ingrese el servidor nombre de host o dirección IP para acceder a las carpetas compartidas.
Cuando abres un privado la carpeta solicitará el nombre de usuario y la contraseña para otorgar acceso a los archivos.
Acceda al directorio seguro de Samba con Linux
Para acceder a la carpeta segura, debe proporcionar un usuario al comando usando este formato:
smbclient //server-IP/Private -U user
Introduzca la contraseña de usuario de Samba cuando se le solicite.
$ smbclient //10.70.5.170/Private -U sambausr
Enter SAMBA\sambausr's password:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Sat Jan 15 09:02:33 2022
.. D 0 Sat Jan 15 09:02:33 2022
52417516 blocks of size 1024. 48489312 blocks available
smb: \>
¡Eso es! Hemos logrado instalar y configurar Samba para compartir archivos de forma anónima y segura entre nuestro sistema operativo Rocky Linux y otros clientes Linux o Windows de escritorio.