¿Qué es Samba?
Samba es una implementación de código abierto del protocolo Server Message Block (SMB). Permite que Linux funcione con el sistema operativo Windows, tanto como servidor como cliente. Samba comparte archivos e impresoras de Linux con sistemas Windows y también brinda a los usuarios de Linux acceso a archivos en sistemas Windows. Samba usa NetBIOS sobre protocolos TCP/IP (NetBT) y no necesita el protocolo NetBEUI (Microsoft Raw NetBIOS frame).
Se incluyen varios paquetes de Samba con la mayoría de las distribuciones de Linux:
- samba :Proporciona un servidor SMB/Common Internet File System (CIFS) que se puede utilizar para proporcionar servicios de red a clientes SMB/CIFS
- samba-cliente :proporciona algunos clientes SMB/CIFS para complementar el sistema de archivos SMB/CIFS integrado en Linux. Estos clientes permiten el acceso a recursos compartidos SMB/CIFS e impresión en impresoras SMB/CIFS.
- samba-común :proporciona los archivos necesarios para los paquetes Samba del servidor y del cliente
- samba-winbind :Proporciona el demonio winbind y las herramientas del cliente. winbind habilita la membresía de Linux en dominios de Windows y el uso de cuentas de usuarios y grupos de Windows
- samba-winbind-clientes :proporciona la biblioteca de servicios de seguridad de red (NSS) y los módulos de autenticación conectables (PAM) necesarios para comunicarse con winbind
Use “yum install [nombre_del_paquete] ” para instalar los paquetes.
# yum install [package_name]
Demonios y servicios de Samba
El paquete del servidor samba incluye los siguientes demonios y servicios asociados:
- smbd :El demonio del servidor que proporciona servicios de impresión y uso compartido de archivos a los clientes de Windows. También es responsable de la autenticación de usuarios, el bloqueo de recursos y el intercambio de datos a través del protocolo SMB.
- nmbd :El daemon del servidor de nombres NetBIOS responde a las solicitudes de servicio de nombres producidas por SMB/CIFS en sistemas basados en Windows. También proporciona compatibilidad con la exploración en la vista Entorno de red de Windows.
Estos demonios están controlados por sus servicios asociados, smb y nmb, por ejemplo:
# systemctl start smb # systemctl start nmb
El paquete samba-winbind incluye el demonio winbindd y el servicio asociado:
- winbindd :resuelve la información de usuarios y grupos en un servidor que ejecuta Windows y hace que esta información sea comprensible para Linux.
Este demonio está controlado por el servicio winbind:
# systemctl start winbind
Configuración del servidor Samba
El archivo de configuración principal de Samba es /etc/samba/smb.conf . Este archivo de configuración está dividido en secciones, cada una de las cuales comienza con texto entre corchetes. Con la excepción de la sección [global], cada sección describe un recurso compartido, conocido como "compartir “. Las secciones típicas son:
Sección | Descripción |
---|---|
[globales] | Define parámetros globales |
[viviendas] | Define recursos compartidos en el directorio de inicio |
[impresoras] | Define impresoras |
[nombre compartido] | Define un recurso compartido |
Los parámetros dentro de la sección definen los atributos compartidos. Suponiendo que los parámetros globales estén configurados correctamente, el siguiente ejemplo define un recurso compartido que otorga a cualquier usuario de Windows permisos de lectura y escritura en el directorio local /tmp:
# vi /etc/samba/smb.conf [tmp] comment = Insert a comment here path = /tmp writable = yes guest ok = yes
Consulte el smb.conf man page para obtener una descripción de todos los parámetros que puede configurar en el archivo de configuración.
# man smb.conf
Hay parámetros globales, parámetros de seguridad, parámetros de registro, parámetros del navegador, parámetros de comunicación y parámetros compartidos. También hay varias interfaces gráficas de usuario para configurar y administrar Samba. Puede encontrar una lista de estos en http://www.samba.org/samba/GUI/.
[viviendas] Compartir
Samba proporciona este recurso compartido para facilitar a los usuarios compartir sus directorios de inicio de Linux con un sistema Windows. El siguiente es un ejemplo:
# vi /etc/samba/smb.conf [homes] comment = Insert a comment here browsable = no writable = yes
Esta configuración evita que los usuarios que no sean los propietarios naveguen por los directorios de inicio y permite el acceso completo a los propietarios registrados.
Inicio de un servidor Samba
Para iniciar un servidor Samba, ejecute el comando que se muestra a continuación.
# systemctl start smb
Al realizar cambios de configuración en el archivo /etc/samba/smb.conf, ejecute un reinicio o una recarga:
# systemctl restart smb # systemctl reload smb
El argumento de recarga no detiene e inicia el servicio smb; solo recarga el archivo de configuración. Utilice el comando systemctl para configurar el servicio para que se inicie en el momento del arranque. Ejemplo:
# systemctl enable smb
Tipos de servidor Samba
– El tipo de servidor se configura en la sección [global] del archivo /etc/samba/smb.conf.
– Un servidor independiente puede ser un servidor de grupo de trabajo o un miembro de un grupo de trabajo.
– Un servidor miembro de dominio inicia sesión en un controlador de dominio y está sujeto a las reglas de seguridad del dominio.
– Un servidor Samba puede ser un controlador de dominio en un dominio de Windows NT pero no en un dominio de Active Directory.
Para obtener más detalles sobre los tipos de servidor Samba, consulte la publicación a continuación.
¿Cuáles son los diferentes tipos de servidores Samba?Acceso a recursos compartidos de Linux desde Windows
Para acceder a un recurso compartido en un servidor Linux Samba desde Windows, abra Mi PC o Explorer e ingrese el nombre de host del servidor Samba y el nombre del recurso compartido en el siguiente formato:
\\servername\sharename
Si ingresa \\nombre del servidor , Windows muestra los directorios que comparte el sistema Linux. También puede asignar una unidad de red a un nombre compartido utilizando la misma sintaxis.
smbusers File
Para que un usuario de Windows acceda a un recurso compartido de Samba en un sistema Linux, el usuario debe proporcionar un nombre de usuario de Windows y una contraseña de Samba. El nombre de usuario de Windows debe ser el mismo que el nombre de usuario de Linux o debe asignarse a un nombre de usuario de Linux. Samba almacena estos mapas de nombre de usuario en /etc/samba/smbusers expediente. Los usuarios con el mismo nombre de usuario en Linux y Windows no necesitan una entrada en este archivo, pero aún necesitan una contraseña de Samba.
El archivo /etc/samba/smbusers tiene dos entradas predeterminadas:
root = administrator admin nobody = guest pcguest smbguest
La primera entrada asigna el usuario raíz de Linux al administrador y a los usuarios administradores en Windows. La segunda entrada asigna al usuario de Linux none a tres nombres de usuario de Windows:guest, pcguest, smbguest.
Para asignar el nombre de usuario de Windows de john al nombre de usuario de Linux de user01, agregue la siguiente entrada a /etc/samba/smbusers:
# vi /etc/samba/smbusers user01 = john
Samba usa contraseñas de Samba, no contraseñas de Linux, para autenticar a los usuarios. Agregue una contraseña para el usuario user01 con el siguiente comando:
# smbpasswd –a user01 New SMB password: Retype new SMB password: Added user oracle.
Acceso a recursos compartidos de Windows desde Linux
Hay 2 Utilidades para consultar servidores Samba:
- buscarsmb
- árbol smb
Usa el findsmb Comando para consultar una subred para servidores Samba. El comando muestra la dirección IP, el nombre NetBIOS, el grupo de trabajo, el sistema operativo y la versión de cada servidor encontrado.
También puede usar el smbtree comando, que es un navegador de red SMB basado en texto. Muestra un diagrama de jerarquía con todos los dominios conocidos, los servidores en esos dominios y los recursos compartidos en los servidores.
Los escritorios GNOME y KDE proporcionan administradores de archivos basados en navegador para ver los recursos compartidos de Windows en la red. Introduzca smb: en la barra de ubicación de los administradores de archivos para buscar recursos compartidos.
Usa el cliente smb utilidad para conectarse a un recurso compartido de Windows desde la línea de comandos. El formato es el siguiente:
smbclient //[servername]/[sharename] [-U [username]]
El smb:\> se muestra el mensaje después de iniciar sesión correctamente. Escriba ayuda para mostrar una lista de comandos. Escriba exit para salir de smbclient.
Para montar recursos compartidos de Samba, instale el paquete cifs-utils:
# yum install cifs-utils
Usa el mount.cifs comando con el siguiente formato para montar recursos compartidos de Samba:
# mount.cifs //[servername]/[sharename] /mount-point -o username=[username],password=[password]