Samba server · 8 min read · Dec 08, 2025

Cómo instalar el servidor Samba en CentOS 8

Samba es un software gratuito y de código abierto que se puede utilizar para compartir archivos, carpetas e impresoras entre sistemas Linux y Windows. También se utiliza para la autenticación y autorización, la resolución de nombres y el anuncio de servicios. Puede ejecutarse en diferentes sistemas operativos, incluidos Linux, Unix, OpenVMS y muchos más.

En este tutorial, aprenderemos cómo instalar Samba y configurarlo como un servidor de compartición independiente en CentOS 8.

Prerrequisitos

  • Un servidor que ejecute CentOS 8.
  • Una contraseña de root configurada en su servidor.

Instalar el servidor Samba

Por defecto, el paquete Samba está disponible en el repositorio predeterminado de CentOS. Puede instalarlo con el siguiente comando:

dnf install samba samba-common samba-client -y

Después de instalar Samba, inicie el servicio SMB y habilítelo para que se inicie después del reinicio del sistema con el siguiente comando:

systemctl start smb  
systemctl enable smb

Ahora puede verificar el servicio Samba con el siguiente comando:

systemctl status smb

Debería obtener la siguiente salida:

? smb.service - Samba SMB Daemon
   Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-03-02 23:03:30 EST; 8s ago
     Docs: man:smbd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 2072 (smbd)
   Status: "smbd: ready to serve connections..."
    Tasks: 4 (limit: 25028)
   Memory: 33.8M
   CGroup: /system.slice/smb.service
           ??2072 /usr/sbin/smbd --foreground --no-process-group
           ??2074 /usr/sbin/smbd --foreground --no-process-group
           ??2075 /usr/sbin/smbd --foreground --no-process-group
           ??2076 /usr/sbin/smbd --foreground --no-process-group

Crear un recurso compartido público con Samba

En esta sección, crearemos un recurso compartido público con Samba para que todos puedan acceder al directorio de recursos compartidos públicos sin una contraseña.

Crear un directorio de recursos compartidos públicos

Primero, cree una carpeta compartida llamada public y también cree dos archivos dentro del directorio público:

mkdir -p /samba/share/public  
touch /samba/share/public/file1.txt  
touch /samba/share/public/file2.txt

A continuación, asigne los permisos y la propiedad necesarios con el siguiente comando:

chmod -R 0755 /samba/share/  
chmod -R 0755 /samba/share/public  
chown -R nobody:nobody /samba/share  
chown -R nobody:nobody /samba/share/public

Configurar Samba

A continuación, necesitará configurar Samba para compartir un directorio público.

Primero, cree una copia de seguridad del archivo /etc/samba/smb.conf con el siguiente comando:

mv /etc/samba/smb.conf /etc/samba/smb.bak

A continuación, cree un nuevo archivo de configuración de Samba:

nano /etc/samba/smb.conf

Agregue las siguientes líneas:

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = samba-server
security = user
map to guest = bad user
dns proxy = no

[Public]
path = /samba/share/public
browsable =yes
writable = yes
guest ok = yes
read only = no

Guarde y cierre el archivo. Luego, reinicie el servicio Samba para aplicar los cambios:

systemctl restart smb

A continuación, pruebe la configuración de Samba con el siguiente comando:

testparm

Debería ver la siguiente salida:

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
    dns proxy = No
    map to guest = Bad User
    netbios name = SAMBA-SERVER
    security = USER
    server string = Samba Server %v
    idmap config * : backend = tdb


[Public]
    guest ok = Yes
    path = /samba/share/public
    read only = No

Configurar SELinux y Firewall

A continuación, establezca los valores booleanos y de contexto de seguridad de SELinux adecuados en el directorio de recursos compartidos con el siguiente comando:

setsebool -P samba_export_all_ro=1 samba_export_all_rw=1  
semanage fcontext -a -t samba_share_t "/samba/share/public(/.*)?"  
restorecon /samba/share/public

A continuación, permita todos los servicios de Samba a través de firewalld con el siguiente comando:

firewall-cmd --add-service=samba --zone=public --permanent  
firewall-cmd --reload

Acceder al recurso compartido Samba desde Ubuntu Gnome

Para acceder al recurso compartido Samba, vaya a la máquina remota, abra el administrador de archivos Gnome y haga clic en Conectar al Servidor como se muestra a continuación:

Acceder a SAMBA desde Gnome

Proporcione la dirección IP de su servidor Samba y haga clic en el botón Conectar. Después de una conexión exitosa, debería ver el recurso compartido Samba en la siguiente pantalla:

Recurso compartido Samba en el explorador de archivos

Ahora, haga clic en el directorio Public, debería ver sus archivos en la siguiente pantalla:

Lista de archivos

Acceder al recurso compartido Samba desde la línea de comandos de Ubuntu

También puede acceder al recurso compartido Samba desde la línea de comandos.

Primero, liste todos los recursos compartidos Samba disponibles con el siguiente comando:

smbclient -L //45.58.38.51

Debería ver la siguiente salida:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Sharename       Type      Comment
    ---------       ----      -------
    Public          Disk      
    IPC$            IPC       IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

También puede montar el recurso compartido Samba utilizando el protocolo cifs. Para hacerlo, instale el paquete cifs-utils con el siguiente comando:

apt-get install cifs-utils -y

A continuación, monte el recurso compartido Samba en el directorio /mnt con el siguiente comando:

mount -t cifs //45.58.38.51/public /mnt/

Se le pedirá que proporcione la contraseña como se muestra a continuación:

Password for root@//45.58.38.51/public: 

Simplemente presione Enter sin ingresar ninguna contraseña para montar el recurso compartido Samba:

Ahora puede acceder al recurso compartido Samba en el directorio /mnt:

ls /mnt/

Debería ver la siguiente salida:

file1.txt  file2.txt

Crear un recurso compartido privado con Samba

En esta sección, crearemos un recurso compartido privado con Samba para que solo los usuarios autenticados puedan acceder al directorio de recursos compartidos privados.

Crear usuario y grupo

Primero, cree un grupo llamado private con el siguiente comando:

groupadd private

A continuación, cree un nuevo usuario llamado privateuser y agréguelo al grupo privado:

useradd -g private privateuser

A continuación, establezca la contraseña para el usuario con el siguiente comando:

smbpasswd -a privateuser

Salida:

New SMB password:
Retype new SMB password:
Added user privateuser.

Crear un directorio de recursos compartidos privados

A continuación, cree una carpeta compartida llamada private y también cree dos archivos dentro del directorio privado:

mkdir -p /samba/share/private  
touch /samba/share/private/private1.txt  
touch /samba/share/private/private2.txt

A continuación, asigne los permisos y la propiedad adecuados con el siguiente comando:

chmod -R 0770 /samba/share/private  
chown -R root:private /samba/share/private

A continuación, configure el contexto de SELinux para el directorio privado con el siguiente comando:

semanage fcontext –at samba_share_t "/samba/share/private(/.*)?"  
restorecon /samba/share/private

Configurar Samba

A continuación, abra el archivo de configuración de Samba y defina el recurso compartido privado:

nano /etc/samba/smb.conf

Agregue las siguientes líneas al final del archivo:

[Private]
path = /samba/share/private
valid users = @private     
guest ok = no
writable = yes
browsable = yes

Guarde y cierre el archivo, luego reinicie el servicio Samba para aplicar los cambios:

systemctl restart smb

A continuación, verifique la configuración de Samba con el siguiente comando:

testparm

Debería ver la siguiente salida:

Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
    dns proxy = No
    map to guest = Bad User
    netbios name = SAMBA-SERVER
    security = USER
    server string = Samba Server %v
    idmap config * : backend = tdb


[Public]
    guest ok = Yes
    path = /samba/share/public
    read only = No


[Private]
    path = /samba/share/private
    read only = No
    valid users = @private

Acceder al recurso compartido Samba desde la línea de comandos de Ubuntu

Primero, acceda al recurso compartido disponible con el siguiente comando:

smbclient -L //45.58.38.51

Debería ver la siguiente salida:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Sharename       Type      Comment
    ---------       ----      -------
    Public          Disk      
    Private         Disk      
    IPC$            IPC       IPC Service (Samba Server 4.10.4)
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]

    Server               Comment
    ---------            -------

    Workgroup            Master
    ---------            -------

A continuación, conéctese al servidor Samba y liste el recurso compartido disponible con el siguiente comando:

smbclient //45.58.38.51/private -U privateuser

Se le pedirá que proporcione una contraseña como se muestra a continuación:

Enter privateuser's password: 

Escriba su contraseña y presione Enter para acceder a la shell de Samba como se muestra a continuación:

Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4]
smb: \>

Ahora, liste el recurso compartido disponible con el siguiente comando:

smb: \> ls

Debería ver la siguiente salida:

  
.                                   D        0  Tue Mar  3 10:03:22 2020
  ..                                  D        0  Tue Mar  3 10:01:56 2020
  private1.txt                        N        0  Tue Mar  3 10:03:17 2020
  private2.txt                        N        0  Tue Mar  3 10:03:22 2020

        51194 blocks of size 2097152. 49358 blocks available

Ahora, salga de la shell de Samba con el siguiente comando:

smb: \>exit

También puede montar el recurso compartido Samba en el directorio /opt:

mount -t cifs -o user=privateuser //45.58.38.51/private /opt

Se le pedirá que proporcione una contraseña como se muestra a continuación:

Password for privateuser@//45.58.38.51/private:  *********

Proporcione su contraseña y presione Enter para montar el recurso compartido Samba.

Ahora puede verificar su recurso compartido Samba en el directorio /opt como se muestra a continuación:

ls /opt/

Salida:

private1.txt  private2.txt

Acceder al recurso compartido Samba desde Ubuntu Gnome

Para acceder al recurso compartido Samba, vaya a la máquina remota, abra el administrador de archivos Gnome y haga clic en Conectar al Servidor como se muestra a continuación:

Acceder al recurso compartido privado en Gnome

Proporcione la dirección IP de su servidor Samba y haga clic en el botón Conectar. Después de una conexión exitosa, debería ver el recurso compartido Samba en la siguiente pantalla:

Recurso compartido público y privado

Ahora, haga clic en el directorio Private, proporcione su nombre de usuario y contraseña, luego haga clic en el botón Conectar. Debería ver sus archivos en la siguiente pantalla:

Iniciar sesión con nombre de usuario y contraseña

Archivos

¡Felicidades! ha instalado y configurado con éxito el servidor Samba en CentOS 8.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.