diciembre 25, 2021

Cómo configurar el servidor Samba en Redhat Linux

Este tutorial explica cómo configurar el servidor Samba en Linux y el cliente Samba en Windows y Linux, incluyendo cómo crear reglas IPTABLES y configurar booleanos SELinux para permitir el tráfico Samba paso a paso con ejemplos prácticos. Aprenda a compartir recursos y acceder a recursos compartidos en Samba network.

  • Microsoft window utiliza el protocolo común del Sistema de Archivos de Internet (CIFS) para establecer redes.
  • CIFS se desarrolló a partir del protocolo de bloque de mensajes del servidor (SMB).
  • Samba es un software de código abierto.
  • Samba utiliza el protocolo TCP / IP.
  • Samba es una implementación Linux de protocolos SMB / CIFS.
  • Samba permite la interoperabilidad entre Linux y Window.
  • Samba proporciona un servicio para compartir archivos e impresiones entre Linux y el sistema de ventanas.
  • Samba permite a Linux interactuar con cliente de ventana, Servidor, miembro de Active Directory, Controlador de dominio principal o servidor miembro.
  • Samba admite Listas de control de Microsoft Access.
  • El archivo de configuración principal del servidor Samba es /etc/samba / smb.conf
  • Samba Web Administration tool (SWAT) es una herramienta de configuración base de interfaz gráfica de usuario para el servidor Samba Disponible desde RHEL 6
  • En Linux SAMBA proporciona los siguientes servicios:
    • Autenticación y autorización de usuario
    • Uso compartido de archivos e impresoras
    • Resolución de nombres
    • Navegación

Tema del examen RHCE cubierto en este artículo

  • Proporcionar recursos compartidos de red a clientes específicos.
  • Proporcionar recursos compartidos de red adecuados para la colaboración en grupo.

Durante el examen RHCE no tendrá acceso a Microsoft window, por lo que debe saber cómo probar la configuración de Samba con el sistema Linux.

En este tutorial usaré dos sistemas Servidor y linuxclient de nuestro entorno de LABORATORIO. Configuraré el servidor Samba en el sistema Servidor y el cliente samba en el sistema linuxclient. Si desea comprobar la topología de red utilizada en este artículo, consulte el siguiente artículo. Laboratorio preparado para la práctica de RHEL.

RPM requeridas para el Servidor Samba

RPM Descripción
samba Base de RPM para el Servidor Samba
samba-client Base de RPM para el Cliente Samba
samba-common Incluir comandos de los requeridos por el Servidor Samba y el cliente
samba-doc proporcionar documentación de Samba
samba-swat interfaz gráfica de usuario para la configuración de Samba
samba-winbind Permitir interoperabilidad entre Linux y Windows
samba-domainjoin-gui Permite al usuario de Linux conectarse con grupos de trabajo y dominios de Windows.

Tareas de laboratorio

  • Configurar Samba en el sistema servidor. Configure iptables firewall y SELinux Booleanos para permitir la conexión Samba en el servidor.
  • Crear 5 usuarios en el sistema servidor. Haz un grupo de dos usuarios. Agregue todos los usuarios en la base de datos de usuarios de Samba.
  • Compruebe la conectividad del sistema linuxclient y windowclient. Verificar con el inicio de sesión de un usuario.
  • Crear una carpeta de datos compartidos en el servidor. Conceder acceso de lectura y escritura a la carpeta pública en sharedata. Comparte públicamente esta carpeta. Formulario de prueba linux y cliente de ventana.

Configurar el servidor Samba

En el servidor samba se requieren RPM siguientes

  • samba
  • samba-común
  • samba-winbind

Comprobar rpm necesarias

rpm-qa-samba

Puede instalar RPM desde varias fuentes, incluido el repositorio YUM, volcado de RPM, FTP, etc. En este artículo estoy instalando el disco RPM form RHEL 6. Monte el disco RHEL 6 en la carpeta multimedia y cambie el directorio a la carpeta del paquete

cd-media-package

Instale las RPM necesarias.

rpm-samba

Demonios de Samba

Para Samba necesitamos ejecutar tres servicios, uno opcional y dos requeridos

Servicio Demonios Descripción
Requerido smb smbd (Servidor SMB/CIFS) servicio principal de samba que proporciona autenticación y autorización de usuarios y uso compartido de archivos e impresoras
Requerido nmb nmbd (servidor de nombres NetBIOS) Búsqueda de recursos
Opcional winbind winbindd Para resolución de host y nombre de usuario

Si acaba de instalar RPM, este servicio se detendrá.

smb-nmb-stoped

Iniciar los servicios necesarios

smb-nmb-running

Asegúrese de que los servicios se estén ejecutando la próxima vez que arranque Linux

chkconfig-smb-on

Cómo permitir samba a través de firewall

Durante el examen RHCE 6 tendremos protección de firewall (iptables) y SELinux.

Para hacer que Samba se comunique fuera del servidor tenemos que configurar iptables y SELinux.

Cómo permitir Samba en iptables

SAMBA utiliza los puertos 137,138,139 y 445

Puerto 137 Servicio de nombres UDP NetBIOS (WINS)
Puerto 138 Datagrama NetBIOS UDP
Puerto 139 Sesión TCP NetBIOS (TCP), Uso compartido de archivos e Impresoras de Windows
Puerto 445 Microsoft-DS Active Directory, recursos compartidos de Windows (TCP)
Puerto 445 Uso compartido de archivos Microsoft-DS SMB (UDP)

Para abrir el firewall para Samba agrega las siguientes reglas y reinicia los iptables

 #iptables -A INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT #iptables -A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT #iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT #iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

iptables-samba-server

Cómo permitir el servidor Samba desde el firewall de SELinux

SELinux como característica de seguridad evita automáticamente la visualización de un recurso compartido. SELinux son las complejas características de seguridad de Linux. Para el examen RHCE 6, debe conocer los siguientes booleanos de SELinux

samba_enable_home_dirs Permite compartir directorios de inicio
samba_export_all_ro Habilitar el acceso de solo lectura a cualquier directorio
samba_export_all_rw Configura el acceso de lectura / escritura a cualquier directorio
samba_share_t Archivo predeterminado que Samba puede compartir

Puede habilitar samba_export_all_ro o samba_export_all_rw booleanos en el entorno de laboratorio, pero en la vida real sería un riesgo para la seguridad. Es un buen hábito establecer un tipo de archivo para archivos y directorios que deben compartirse a través de Samba. Puede hacerlo con el siguiente comando

# chcon -R -t samba_share_t /sharedata

En este ejemplo habilitamos el directorio / sharedata. Ahora Samba puede compartir este directorio.

Para compartir el directorio personal predeterminado, ejecute el siguiente comando:

setsebool -P samba_enable_home_dirs on

-P se asegura de que el cambio se conserve después del reinicio.

setbool

Puede crear un nuevo usuario de Samba solo a partir de cuentas válidas en un equipo Linux, así que cree 5 usuarios

useradd

Establecer contraseña para todos los usuarios. Evite establecer una contraseña para el sistema local si solo crea estos usuarios para el servicio Samba y no desea concederles acceso al sistema local.

passwd

passwd1

El comando smbpasswd-a se puede usar para agregar un usuario a la base de datos de contraseñas en /etc/ samba / para autenticación SAMBA. Configure los usuarios de Samba con el comando smbpasswd.

smbpasswd

Crear un grupo smb y añadir usuarios smbuser3 y smbuser4

group-add

Ahora abra el archivo de configuración principal de Samba

vi-smb-conf

La smb.el archivo conf incluye dos tipos de líneas de comentarios.

  • Se utiliza el símbolo de hash (#) describe una entidad
  • El punto y coma (;), utilizado para comentar la entidad (Agregar; para deshabilitar la entidad, elimine ; para habilitar la función)

Anote el valor del directorio de grupos de trabajo

workgroup-mygroup

Sería lo mismo en la red para una conectividad perfecta

Ahora vaya a la sección Compartir definiciones De forma predeterminada Samba comparte automáticamente el directorio personal del usuario que ha iniciado sesión y que se define en las primeras cuatro líneas de esta sección.
navegable = sin límite de usuario a su propio directorio personal. Samba lee la información del directorio personal del archivo/etc / passwd, por lo que no necesita especificar la ruta del directorio personal.
share-home

Cierra la pequeña y mediana empresa.archivo de configuración ahora y anote la dirección IP del servidor

serverip

Esas son todas las configuraciones que necesitamos en este momento en el servidor.

Configurar el cliente de Samba en el sistema Linux

En el cliente de Samba se requieren RPM siguientes

  • cliente de samba
  • samba-común
  • cliente de samba-winbind

rpm-qa-samba-client

Monte el disco RHEL 6 en la carpeta de medios y muévalo al directorio de paquetes

cd-media-ls-package

Instale RPM si es necesario.

rpm-samba-client

Compruebe la conectividad desde el servidor Samba.

ping-server

Intente listar compartir desde el servidor Samba con smbuser1

client-login

Para verificar «Compartir directorio personal de usuario», enumere el recurso compartido de smbuser5 y cree una carpeta sambatmp. Ha iniciado sesión desde smbuser5 y monta su directorio personal en la carpeta sambatmp. Para asegurarse de que el usuario tiene permiso de escritura, también cree un archivo de prueba.

smbuser5-login

Vaya al sistema servidor e inicie sesión desde smbuser5 y verifique las pruebas.

ls-smbuser5

Hemos configurado con éxito el cliente Samba en el sistema cliente Linux.

Configurar ventana 7 como sistema cliente Samba

Abrir propiedades del equipo

computer-properties

Haga clic en cambiar configuración

change-setting

Haga clic en cambiar

change-rename

Cambiar el nombre del grupo de trabajo a MYGROUP

mshome-workgroup

Se requiere reinicio del sistema, confirme el reinicio

restart-ok

Después del reinicio del sistema, Compruebe el servidor de formularios de conectividad

winconnectivity

Abra la red y haga clic en sistema de servidor

win-network

Inicio de sesión desde smbuser1

smbuerlogin

El usuario se conectará a su hogar directorio

smbuser

Hemos configurado con éxito window 7 como un sistema cliente de Samba.

Cree una carpeta de datos compartidos en el servidor. Conceder acceso de lectura y escritura a la carpeta pública en sharedata. Comparte públicamente esta carpeta. Formulario de prueba linux y cliente de ventana.

En el servidor, cree una carpeta / sharedata. Esta carpeta se crea a partir del usuario root, por lo que nuestros usuarios no podrán escribir en esta carpeta. Cambie su permiso 777. Configure SELinux Booleano . Ahora abre la smb.archivo de configuración

mkdir-sharedata

Este recurso compartido de / sharedata compartirá una ubicación común donde el usuario puede descargar / cargar / leer los archivos. En este extremo del archivo, agregue la siguiente estrofa y guarde el archivo

 # Common location for people to share files comment = common location file sharing path = /sharedata read only = no public = yes 

smb-conf-sharedata

Reiniciar el servicio smb

restart-smb

En linuxclient, cree un directorio tmpdata y monte la carpeta sharedata en él. Crear archivos de prueba.

mount-sharedata

sharedata es una carpeta temporal y la hemos compartido con permiso completo para todos. Significa que otro usuario debe ser capaz de leer / escribir el archivo hecho de smbuser5. Para probarlo, vaya al sistema de ventanas y abra el sistema de servidor de la red. Abra la carpeta sharedata y lea el archivo

read-file-on-window

Ahora borra este archivo.

confirm-delete-window

Crear una carpeta y crear un archivo en ella

create-file-window

Compruebe estos en el sistema del servidor.

check-on-server

En el ejemplo anterior, compartimos una carpeta de manera segura donde cualquier usuario puede eliminar otros archivos y carpetas. Ahora que sea un poco seguro. Ir al servidor y cambiar el permiso para 1777

set-stickybit-sharedata

En linuxclient ha iniciado sesión desde smbuser5 y crea un archivo

linuxclient-exmpale-stickybit

En la ventana estamos registrados desde smbuser1, intente leer el archivo.

read-stickybit-file-window

Ahora intenta eliminar este archivo.

try-to-delete-sticky-bit-file

será denegada

sticky-bit-error-delete

Cómo denegar a los usuarios en Samba

Samba permite a negar al usuario / usuarios de recursos compartidos. Para denegar smbuser5 de sharedata abra /etc/samba / smb.conf y cambie el valor de configuración a siguiente y guarde el archivo

deny-smbuser5-server

Recarga el servicio smb

reload-smb

En el sistema linuxclient, primero intente montar datos compartidos desde smbuser5 y luego desde smbuser1

deny-smbuser5-clinet

Cómo limitar samba al grupo

Hemos creado un grupo smbgroup arriba en este tutorial. Ahora configure Samba para permitir el acceso solo a este grupo.

En el servidor cambie el grupo de datos compartidos y actualice el permiso a 1770. Abre la smb.archivo de configuración

chgrp-sharedata

Actualiza la estrofa y guarda el archivo

group-samba-share

recarga el servicio smb

reload-smb

En el cliente linux, pruebe primero con smbuser5, que no es miembro de smbgroup, y luego pruebe con smbuser3, que es miembro de smbgroup

group-samba-linuxclient

Cómo limitar samba a usuarios

Ahora compartiremos solo para usuario / usuarios. Ahora configure Samba para permitir solo smbuser1 en la carpeta sharedata.

En el servidor, haga de smbuser1 el propietario de la carpeta / sharedata y actualice el permiso. Abre la smb.conf

samba-user-share

cambiar la estrofa y guardar el archivo

samba-user-share-config

Recargar el archivo

reload-smb

En linuxclient, primero pruebe con otros usuarios y luego pruebe con smbuser1

single-user-samba

Hasta ahora en este artículo hemos configurado diferentes niveles de acceso para compartir Samba. Para el examen RHCE 6, recuerde siempre que los permisos de archivo, las opciones de montaje del sistema de archivos, los booleanos SELinux, ACL no pueden ser anulados por Samba. Significa que si un directorio no tiene permiso de escritura y tiene la configuración de Samba writeable = yes, no permitirá escribir. Esta es la razón por la que primero actualizamos el permiso del sistema de archivos de lo que configuramos la configuración de Samba.

Durante el examen RHCE 6, seguir 2 comandos puede ser muy útil para usted.

testparm

el comando testparm comprobará smb.archivo de configuración para errores internos. Si la salida de estos comandos regresa sin errores, se utiliza el archivo de configuración.

testparm

smbstatus

Este comando listará la conexión Samba actual.

smbstaus

Para el examen RHCE 6 también debe conocer las siguientes directivas de smb.archivo conf

Cómo cambiar el nombre del servidor samba

De forma predeterminada, el nombre de host Samba como nombre NetBIOS. NetBIOS es un nombre que otros clientes ven en las listas de exploración de red, como las que se muestran desde un comando de Microsoft net view o un comando regular de Linux smbclient. Para cambiar el nombre del servidor Samba, descomente y cambie el valor de la siguiente directiva.

; netbios name = MYSERVER

Cómo cambiar el nombre de grupo de trabajo de samba

El nombre predeterminado de grupo de trabajo de Samba es MYGROUP. Puede actualizarlo desde smb.conf archivo. Para cambiar el nombre de grupo de trabajo predeterminado, actualice el valor de la siguiente directiva.

workgroup = MYGROUP

Cómo restringir samba a la red local

Para limitar el acceso a la red especificada, descomente la siguiente directiva y especifique la red.

; hosts allow = 127. 192.168.12. 192.168.13.

Si descomenta sin cambiar el valor, limitaría el acceso a las redes con las direcciones IP de red 192.168.12.0 y 192.168.13.0, así como al equipo local (127.): También puede configurar la directiva hosts deny. Configure aquí las directivas de autorización/denegación de host solo si desea realizar cambios globales. Los directorios compartidos individualmente también se pueden configurar con hosts allow / deny. Así que si está buscando configuraciones individuales, hágalo en su propia sección.

network-related-opration

Eso es todo por este artículo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.