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
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
Instale las RPM necesarias.
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á.
Iniciar los servicios necesarios
Asegúrese de que los servicios se estén ejecutando la próxima vez que arranque Linux
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
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.
Puede crear un nuevo usuario de Samba solo a partir de cuentas válidas en un equipo Linux, así que cree 5 usuarios
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.
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.
Crear un grupo smb y añadir usuarios smbuser3 y smbuser4
Ahora abra el archivo de configuración principal de Samba
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
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.
Cierra la pequeña y mediana empresa.archivo de configuración ahora y anote la dirección IP del servidor
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
Monte el disco RHEL 6 en la carpeta de medios y muévalo al directorio de paquetes
Instale RPM si es necesario.
Compruebe la conectividad desde el servidor Samba.
Intente listar compartir desde el servidor Samba con smbuser1
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.
Vaya al sistema servidor e inicie sesión desde smbuser5 y verifique las pruebas.
Hemos configurado con éxito el cliente Samba en el sistema cliente Linux.
Configurar ventana 7 como sistema cliente Samba
Abrir propiedades del equipo
Haga clic en cambiar configuración
Haga clic en cambiar
Cambiar el nombre del grupo de trabajo a MYGROUP
Se requiere reinicio del sistema, confirme el reinicio
Después del reinicio del sistema, Compruebe el servidor de formularios de conectividad
Abra la red y haga clic en sistema de servidor
Inicio de sesión desde smbuser1
El usuario se conectará a su hogar directorio
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
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
Reiniciar el servicio smb
En linuxclient, cree un directorio tmpdata y monte la carpeta sharedata en él. Crear archivos de prueba.
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
Ahora borra este archivo.
Crear una carpeta y crear un archivo en ella
Compruebe estos en el sistema del servidor.
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
En linuxclient ha iniciado sesión desde smbuser5 y crea un archivo
En la ventana estamos registrados desde smbuser1, intente leer el archivo.
Ahora intenta eliminar este archivo.
será denegada
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
Recarga el servicio smb
En el sistema linuxclient, primero intente montar datos compartidos desde smbuser5 y luego desde smbuser1
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
Actualiza la estrofa y guarda el archivo
recarga el servicio 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
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
cambiar la estrofa y guardar el archivo
Recargar el archivo
En linuxclient, primero pruebe con otros usuarios y luego pruebe con smbuser1
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.
smbstatus
Este comando listará la conexión Samba actual.
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.
Eso es todo por este artículo.