Administración del servidor

Instalar, acceder, montar y autenticar un servidor de Linux Samba

El servidor de Linux Samba es uno de los más poderosos servidores que te permiten compartir archivos e impresoras con PC que utilizan windows y otros sistemas operativos. Antes de hablar acerca del servidor de Linux samba, aprendamos algunos conceptos básicos.

 


 

Relación Linux / Samba / Windows

  • Para entender la relación Linux / Samba / Windows, debe comprender las relaciones entre los sistemas operativos, los usuarios y las redes.El sistema de inicio de sesión de Linux es diferente del sistema de inicio de sesión en Windows.Por lo tanto, es el trabajo del administrador del sistema mantener diferenciados los inicios de sesión entre las diferentes plataformas.Hay varias soluciones para hacer esto:Módulos de autenticación conectables de Linux ( PAM ): hay dos listas de usuarios, una lista local y una en el controlador de dominios (DC), los usuarios necesitan mantener sus contraseñas solo en el sistema de Windows.
  • Samba como DC: Mantendrá los nombres de usuario y contraseñas en el sistema Linux, y los usuarios pueden iniciar sesión en las ventanas de Windows con Samba
  • Script personalizado: Puedes crear scripts para mantener guardados los inicios de sesión y las contraseñas, esto se puede hacer usando un lenguaje de scripting multiplataforma como python .

El servidor de samba cuenta con varios componentes y demonios, los tres demonios principales son smbd , nmbd y winbindd .

  • El demoniosmbd es el servicio principal para compartir archivos e impresoras. Este utiliza el puerto 139 o 445 para escuchar las solicitudes.
  • El demonionmbd maneja las solicitudes de servicio de nombres de NetBIOS. Este utiliza el puerto 137 para escuchar las solicitudes.

El winbindd se utiliza para obtener información de usuarios y grupos de Windows.

 



Instalar Samba

El servidor de Linux samba necesita de tres paquetes para su instalación.

Para las distribuciones basadas en Red Hat, puedes instalarlos así:

$ dnf -y install samba

Este paquete instala el servidor SMB.

$ dnf -y install samba-common-tools

Este paquete incluye los archivos necesarios para el servidor y el cliente.

$ dnf -y install samba-client

Para las distribuciones basadas en Debian, se instala de la siguiente manera:

Luego debes iniciar el servicio de samba y habilitarlo al inicio del sistema:

 


Compartir archivos con Samba

Por supuesto, puede usar utilidades web o GUI para administrar tu servidor de Linux Samba. Sin embargo, es útil entender lo que la GUI o las herramientas web están haciendo en segundo plano.

A continuación, vamos a compartir una carpeta llamada myfolder:

$ chmod -R 755 myfolder

Abre el archivo de configuración de Samba  /etc/samba/smb.conf  y agrega las siguientes líneas al final:

La primera línea es el nombre del servidor Samba que ven los clientes.

La segunda línea es la ruta a la carpeta que se compartirá.

La tercera línea significa que la acción estará disponible para todos los usuarios como la cuenta de invitado y otros. Si se establece en no, los usuarios autenticados y permitidos son los que pueden acceder.

La cuarta línea significa que no puedes crear o modificar los archivos almacenados en la carpeta compartida.

Puedes verificar los errores de configuración de SMB utilizando el comando testparm:

$ testparm

Ahora reinicia el servicio SMB:

$ systemctl restart smb

 

Acceder a los archivos compartidos de Samba

Ahora necesitamos acceder a lo que hemos compartido. La utilidad smbclient se usa para acceder a los archivos compartidos de Windows.

Puedes enumerar los archivos compartidos de la siguiente manera:

$ smbclient -L localhost -U%

La opción -U% se usa para evitar pedir la contraseña.

Linux samba server using smbclient

Como puedes ver, nuestra carpeta compartida está en la lista.

Puede acceder a esta carpeta compartida desde Windows simplemente escribiendo la dirección IP en el explorador de Windows.

\\192.168.1.3\

Puedes enumerar un directorio específico usando la herramienta smbclient de esta manera:

$ smbclient -U% //192.168.1.2/My_Folder

Una vez que te hayas conectado, puedes utilizar comandos de Linux para listar y navegar entre los archivos.

Puedes transferir archivos usando los comandos get , put , mget y mput

Si está utilizando el firewall de iptables , no olvides activar los puertos 137, 139 y 445.

 


Montando Recursos Compartidos en Samba

La mayoría de los kernels de Linux son compatibles con el sistema de archivos SMB.

Para montar un recurso compartido de Samba: Primero, crea un punto de montaje:

$ mkdir /mnt/smb

Luego montamos la carpeta compartida SMB:

$ mount -t cifs -o guest //192.168.1.2/My_Folder /mnt/smb

Si la carpeta compartida está protegida con contraseña, escribe el nombre de usuario y la contraseña:

$ mount -t cifs username=likegeeks,password=mypassword //192.168.1.2/My_Folder

Para desmontar la carpeta compartida SMB, utiliza el comando desmontar de la siguiente manera:

$ umount /mnt/smb

En las distribuciones basadas en Debian, es posible que necesites instalar el paquete cifsutils para usarlo:

$ apt-get -y install cifs-utils

 


Crear usuarios Samba

Para crear una entrada samba para un usuario existente en el sistema, utiliza el comando pdbedit:

$ pdbedit -a likegeeks

El nuevo usuario se creará en la base de datos de usuario predeterminada de Samba la cual es el archivo  /var/lib/samba/private/passdb.tdb .

Con un usuario de Samba creado, podemos hacer que los recursos compartidos estén disponibles solo para usuarios autenticados como el usuario likegeeks .

Este usuario puede acceder a sus recursos en el servidor Samba usando smbclient de esta manera:

$ smbclient -U likegeeks -L //192.168.1.3

El comando smbpasswd se usa para cambiar la contraseña de SMB como se muestra a continuacion:

$ smbpasswd likegeeks

 

Autenticar usuarios que usan Windows Server

El demonio winbindd se utiliza para resolver la información de las cuentas de usuario de los servidores nativos de Windows. Todo esto desde tu servidor de Linux samba.

Primero, instala el paquete winbind.

$ dnf -y install samba-winbind

Luego, inicia el servicio de esta manera:

$ systemctl start winbind

A continuación, agrega las siguientes opciones en el archivo  /etc/samba/smb.conf:

Luego edita el archivo  /etc/nsswitch.conf  y modifica las siguientes líneas:

Edita despues  /etc/resolv.conf  y cambiar el servidor DNS primario:

Ahora únete al servidor Linux Samba desde el dominio de Windows usando el comando net:

$ net join -w WINDOWS-DOMAIN -s ' win-server' -U Administrator%password

Puedes enumerar los usuarios en el dominio de Windows con el comando wbinfo

$ wbinfo -u

Para cualquier diagnóstico de problemas, puedes verificar los archivos de registro de samba en el directorio  /var/log/samba/

también puedes utilizar la utilidad testparm para verificar tu configuración después de modificar el archivo de configuración de samba.

Eso es todo. Espero que encuentres el servidor de Linux samba fácil. Vuelve pronto.

Gracias.

Mokhtar Ebrahim
Estoy trabajando como administrador de sistemas Linux desde 2010. Soy responsable de mantener, proteger y solucionar problemas de servidores Linux para múltiples clientes de todo el mundo. Me encanta escribir guiones de shell y Python para automatizar mi trabajo.

2 thoughts on “Instalar, acceder, montar y autenticar un servidor de Linux Samba

  1. hola
    muy buena guia.
    me gustaria saber si me puedes ayudar con un problema que tengo con mi sistema slackware 14.2
    lo configure como (samba como dominio)
    [global]
    workgroup = servidor_samba
    server string = server samba
    security = user
    load printers = yes
    log file = var/log/samba.%m
    max log size = 50
    passdb backend = tdbsam
    local master = yes
    os level = 35
    domain master = yes
    preferred master = yes
    domain logons = yes
    logon path = \\%L\Profile\%U
    logon drive = s:
    dns proxy = no

    ademas tengo [homes] [netlogon] [profiles] todo funciona bien (aplique testparm)
    el problema es que al mometo de loguearme en windows 7,8 y 10 en la barra de tareas me aparece una advertencia que dice que no se guardara ningun dato en el perfil y se perdera todo lo hecho. y al reiniciar el equipo vuelve a configurarlo como nuevo y se demora 10 minutos aprox.
    espero que me puedas ayudar.
    gracias

    1. Hola,

      Al principio, puede verificar si está funcionando desde otra máquina Linux, si funciona sin un problema, entonces es un problema de Windows, no un problema de Linux.
      Si no funciona, entonces tienes un problema con el permiso.
      Asegúrese de tener el permiso de escritura.

      Saludos,

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *