Samba server · 5 min read · Dec 06, 2025

Instalación y Configuración del Servidor Samba en CentOS 7

Este tutorial explica cómo configurar un servidor Samba en CentOS 7 con comparticiones samba anónimas y seguras. Samba es un conjunto de software de código abierto/software libre que proporciona servicios de archivos e impresión sin problemas a clientes SMB/CIFS como Windows. Samba está disponible de forma gratuita, a diferencia de otras implementaciones de SMB/CIFS, y permite la interoperabilidad entre servidores Linux/Unix y clientes basados en Windows.

1 Nota Preliminar

Tengo un servidor CentOS 7 recién instalado, en el cual voy a instalar el servidor samba. Por supuesto, necesitas tener una máquina con Windows para verificar el servidor samba que debe ser accesible desde el servidor CentOS 7. Mi servidor CentOS 7 tiene el nombre de host server1.example.com y la IP como 192.168.0.100

Nota:

  • La máquina con Windows debe estar en el mismo grupo de trabajo. Para verificar el valor en la máquina con Windows, ejecuta el comando en el símbolo del sistema
net config workstation

Se verá así:

Nombre de dominio de inicio de sesión de Windows

Tu máquina con Windows debe estar en el mismo dominio de estación de trabajo que en el servidor CentOS 7.0, es decir, WORKGROUP en mi caso.

  • Para hacer que la máquina con Windows sea accesible en Windows, procede así. En el terminal de ejecución, agrega la entrada de la dirección IP de tu servidor:
notepad C:\Windows\System32\drivers\etc\hosts

En mi caso, era así, solo guarda los valores.

[...]  
192.168.0.100   server1.example.com centos

2 Compartición Samba Anónima

Primero explicaré la metodología para instalar Samba con una compartición anónima. Para instalar el software Samba, ejecuta:

yum install samba samba-client samba-common

Instalará la versión actual de Samba desde el repositorio de software de CentOS.

Ahora, para configurar samba, edita el archivo /etc/samba/smb.conf. Antes de hacer cambios, haré una copia de seguridad del archivo original como /etc/samba/smb.conf.bak

cp -pf /etc/samba/smb.conf /etc/samba/smb.conf.bak

Como quiero comenzar con un archivo vacío, usaré el comando cat para vaciar smb.conf. Eso es más rápido que eliminar todas las líneas en vi.

cat /dev/null > /etc/samba/smb.conf

Además, da las entradas así

vi /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
security = user
map to guest = bad user
dns proxy = no
#============================ Definiciones de Compartición ============================== 
[Anonymous]
path = /samba/anonymous
browsable =yes
writable = yes
guest ok = yes
read only = no
mkdir -p /samba/anonymous  
systemctl enable smb.service  
systemctl enable nmb.service  
systemctl restart smb.service  
systemctl restart nmb.service  

Además, el Firewall-cmd de CentOS 7 bloqueará el acceso samba, para deshacerse de eso ejecutaremos:

firewall-cmd --permanent --zone=public --add-service=samba
[root@server1 ~]# firewall-cmd --permanent --zone=public --add-service=samba
success
[root@server1 ~]#

Finalmente, recarga el firewall para aplicar los cambios.

firewall-cmd --reload
[root@server1 ~]# firewall-cmd --reload
success
[root@server1 ~]#

Ahora puedes acceder a la compartición de Centos 7 en Windows de la siguiente manera. Ve al símbolo de ejecución y escribe \centos:

\\centos

Abrir Compartición Samba en Windows

Desde una máquina con Windows, simplemente navega por la carpeta e intenta crear un archivo de texto, pero recibirás un error de permiso denegado.

Navegar por la carpeta compartida con Samba en Windows

Probar acceso anónimo a la compartición Samba

Verifica los permisos de la carpeta compartida.

ls -l

drwxr-xr-x. 2 root root 6 Jul 17 13:41 anonymous  
[root@server1 samba]#

Para permitir el acceso por el usuario anónimo, establece los permisos de la siguiente manera:

cd /samba
chmod -R 0755 anonymous/  
chown -R nobody:nobody anonymous/
ls -l anonymous/
total 0  
drwxr-xr-x. 2 nobody nobody 6 Jul 17 13:41 anonymous  
[root@server1 samba]#

Además, necesitamos permitir el SELinux para la configuración samba de la siguiente manera:

chcon -t samba_share_t anonymous/

Ahora el usuario anónimo puede navegar y crear el contenido de la carpeta.

Acceso a la carpeta por el usuario anónimo

Puedes verificar el contenido en el servidor también.

ls -l anonymous/
total 0  
-rwxr--r--. 1 nobody nobody 0 Jul 17 16:05 anonymous.txt  
[root@server1 samba]#

3. Servidor samba Seguro

Por lo tanto, crearé un grupo smbgrp y un usuario srijan para acceder al servidor samba con la autenticación adecuada.

groupadd smbgrp
useradd srijan -G smbgrp
smbpasswd -a srijan
[root@server1 samba]# smbpasswd -a srijan
New SMB password:<--yoursambapassword
Retype new SMB password:<--yoursambapassword
Added user srijan.
[root@server1 samba]#  

Ahora crea una carpeta con el nombre asegurado en la carpeta /samba y da permisos así:

mkdir -p /samba/secured

Nuevamente, tendremos que permitir escuchar a través de SELinux:

cd /samba
chmod -R 0777 secured/
chcon -t samba_share_t secured/

Nuevamente edita el archivo de configuración como:

vi /etc/samba/smb.conf

[...]  
[secured]
 path = /samba/secured
 valid users = @smbgrp
 guest ok = no
 writable = yes
 browsable = yes
systemctl restart smb.service
systemctl restart nmb.service

Además, verifica la configuración de la siguiente manera:

testparm
[root@server1 samba]# testparm 
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[Anonymous]"
Processing section "[secured]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions <--ENTER

[global]
    netbios name = CENTOS
    server string = Samba Server %v
    map to guest = Bad User
    dns proxy = No
    idmap config * : backend = tdb

[Anonymous]
    path = /samba/anonymous
    read only = No
    guest ok = Yes

[secured]
    path = /samba/secured
    valid users = @smbgrp
    read only = No
[root@server1 samba]# 

Ahora en la máquina con Windows verifica la carpeta ahora con las credenciales adecuadas

Acceso seguro a Samba por contraseña

Nuevamente enfrentarás el problema de permisos para dar permiso de escritura al usuario srijan:

cd /samba  
chown -R srijan:smbgrp secured/

Ahora los usuarios samba tienen los permisos para escribir en la carpeta. ¡Salud, has terminado con el servidor samba en CentOS 7! :)

Listado de Carpeta desde la compartición Samba en Windows

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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