Compartición de archivos
Requisitos y objetivos
1. Requisitos
Los conocimientos necesarios para la certificación LPC-1:
Comandos de seguimiento de los procesos.
Edición de archivos.
Comandos de gestión de directorios y archivos.
Los conocimientos adquiridos en los anteriores capítulos, especialmente:
Gestión de la red local.
Gestión de los servicios.
Gestión de DNS.
2. Objectivos
Al final de este capítulo, deberá poder:
Configurar un servidor Samba para tipos de clientes diferentes, como servidor autónomo o integrados en un dominio Active Directory.
Gestionar el control de acceso y la seguridad de un servidor Samba.
Configurar y administrar los recursos compartidos de un servidor Samba.
Configurar un cliente Linux del servidor Samba.
Configurar y administrar un servidor NFS.
Compartir sistemas de archivos usando NFS.
Configurar y administrar un cliente Linux NFS.
Servidores de archivos
Este tema está divido en dos partes con pesos diferentes.
1. Configuración de un servidor Samba
Peso |
5 |
Objetivos |
Configurar un servidor Samba para clientes de tipos diferentes. Configurar Samba como servidor autónomo o integrado en un dominio Active Directory. Configurar comparticiones simples CIFS y comparticiones de impresoras. Configurar un cliente Linux del servidor Samba. Resolución de problemas de instalación. |
a. Competencias principales
-
Documentación de Samba 4.
-
Archivos de configuración de Samba 4.
-
Herramientas de Samba 4.
-
Montar recursos compartidos CIFS en Linux.
-
Asociar cuentas de usuario Windows a cuentas de usuarios Linux.
-
Seguridad a nivel del usuario, recursos compartidos y Active Directory.
b. Elementos empleados
-
smbd, nmbd, winbindd
-
smbcontrol, smbstatus, testparm, smbpasswd, nmblookup
-
samba-tool
-
net
-
smbclient
-
mount.cifs
-
/etc/samba/
-
/var/log/samba/
2. Configuración de un servidor NFS
Peso |
3 |
Objetivos |
Exportar los sistemas de archivos con NFS, gestionar las restricciones de acceso, montar un sistema de archivos NFS en un cliente y proteger NFS. |
a. Competencias principales
-
Archivos de configuración NFS versión 3.
-
Herramientas de NFS.
-
Restricciones de acceso a ciertas máquinas y/o ciertas subredes.
-
Opciones de montaje en el servidor y en los clientes.
-
TCP Wrappers.
-
Conocimientos básicos de NFS versión 4.
b. Elementos empleados
-
/etc/exports
-
exportfs...
Configuración de un servidor Samba
Samba es un conjunto de software libre que permite a los sistemas Linux y Unix compartir recursos de discos e impresoras con los sistemas Windows, usando el protocolo de compartición de recursos SMB.
El nombre del programa, SaMBa, está derivado del protocolo SMB (Server Message Block) usado por Microsoft para la compartición de recursos.
CIFS (Common Internet File System) es un derivado del protocolo SMB, desarrollado por Microsoft pero que fue abandonado. Samba es compatible con CIFS y con SMB.
En Linux, Samba está constituido por un conjunto de programas, que implementan un servidor de compartición de recursos, un cliente, así como herramientas comunes al servidor y al cliente. Lo proporcionan varios paquetes de software independientes: samba para el programa del servidor, samba-client (o smbclient) para el programa del cliente y samba-common (y samba-common-tools o samba-common-bin) para las herramientas comunes a los dos.
La versión principal actual de Samba es la versión 4, es la que hay que estudiar en el marco de la certificación LPIC-2.
La documentación de Samba se encuentra disponible en el sitio de Samba: https://wiki.samba.org/
Ejemplos
Instalación de Samba (servidor y cliente) en una distribución de tipo Red Hat.
dnf install samba
[...]
Instalado:
python3-dns-1.15.0-10.el8.noarch python3-ldb-2.3.0-2.el8.x86_64
python3-samba-4.15.5-8.el8_6.x86_64 python3-talloc-2.3.2-1.el8.x86_64
python3-tdb-1.4.3-1.el8.x86_64 python3-tevent-0.11.0-0.el8.x86_64
samba-4.15.5-8.el8_6.x86_64 samba-common-tools-4.15.5-8.el8_6.x86_64
samba-libs-4.15.5-8.el8_6.x86_64 tdb-tools-1.4.3-1.el8.x86_64
¡Listo!
dnf install samba-client
[...]
Instalado:
samba-client-4.15.5-8.el8_6.x86_64
¡Listo!
Instalación de Samba (servidor y cliente) en una distribución de tipo Debian.
1. Configuración del servidor Samba
El servidor Samba permite a los clientes SMB/CIFS (Windows, Unix...
Configuración de un servidor NFS
NFS (Network File System) es un protocolo cliente-servidor de compartición de archivos y directorios, creado por Sun Microsystems en 1984, y que se convirtió en el estándar de facto de los entornos Unix. Fue definido por una serie de RFC, adaptado a Linux y a Windows.
La versión mayor, la más reciente del protocolo, es la versión 4 (RFC 7530), pero la versión 3 (RFC 1813) sigue siendo muy usada y constituye el objeto principal de este tema de la certificación LPIC-2.
NFS que es un protocolo de nivel aplicación. Se basa en un protocolo de nivel de sesión, los RPC (Remote Procedure Call, llamada de procedimiento remoto), creado también inicialmente por Sun Microsystems.
1. NFS versión 4
La version 4 del protocolo NFS es el resultado de una reestructuración completa. Al contrario que para las versiones anteriores que funcionaban en modo sin estado (stateless) y utilizaban UDP o TCP, esta versión implementa un servidor con estado, y solamente usa TCP.
El protocolo ya no se basa en los RPC, lo que le permite evitar las restricciones relativas al daemon rpcbind/portmapper (uso posible en Internet y a través de firewalls).
Es mucho más seguro (identificación a través de Kerberos, comunicaciones cifradas, etc.).
Esta versión no se estudiará profundamente en el marco de la certificación LPIC-2, que se centra en la versión 3, la más usada hoy día.
2. El servicio rpcbind/portmapper
Este servicio tiene como función gestionar las solicitudes RPC, enviadas por los clientes hacia los diferentes servidores que se basan en este protocolo de nivel de sesión para comunicar con sus clientes.
a. Principio de funcionamiento
El daemon (rpcbind o portmapper, dependiendo de las versiones) se inicia y se pone en escucha en el puerto bien conocido de los RPC, el puerto 111 en UDP y en TCP.
Cada servidor que quiera utilizar los RPC se registra en el daemon rpcbind/portmapper (que tiene que haber sido iniciado anteriormente), indicándole su identificador de protocolo aplicativo RPC y su versión, así como el número de puerto dinámico en el que se pone en espera.
Cuando el daemon recibe una solicitud de un cliente RPC en el puerto 111 (UDP o TCP), especificando el protocolo de aplicación y la versión...
Validación de lo aprendido: preguntas/respuestas
Responda a estas preguntas abiertas, parecidas a las que le harán en el examen de la certificación, pero estas últimas serán de tipo test o pidiéndole una respuesta corta que introducirá mediante el teclado.
1. Preguntas
1 ¿Cuáles son los protocolos de compartición de recursos gestionados por un servidor Samba?
2 ¿En qué sección del archivo de configuración del servidor se encuentran los parámetros generales del servidor?
3 ¿Qué comando permite validar el contenido del archivo de configuración del servidor Samba?
4 ¿Qué significa el parámetro de configuración Samba security = ads?
5 ¿Qué comando permite crear una cuenta de usuario de Samba local?
6 ¿Para qué sirve el parámetro username map?
7 ¿En qué puerto o puertos escucha el daemon rpcbind?
8 ¿Cuáles son los daemons esenciales que componen el servidor NFS?
9 En el archivo /etc/exports, ¿qué significa la línea siguiente: /var/divers?
10 ¿Qué significa la opción de compartición NFS root_squash?
2. Resultado
En las páginas siguientes encontrará las respuestas a estas preguntas. Por cada respuesta correcta cuente un punto.
Número de puntos: /10
Para este capítulo...
Trabajos prácticos
Aquí se proponen ejercicios para implementar algunos de los puntos abordados en el capítulo. En cada uno de ellos se da un ejemplo comentado de la realización del ejercicio, que deberá adaptar a la configuración de sus sistemas.
Para las pruebas, desactivamos temporalmente el firewall y et SELinux en el servidor Samba, para evitar interacciones difíciles de diagnosticar:
systemctl stop firewalld
setenforce 0
1. Configuración y uso de un servidor Samba
Instalamos un servidor Samba en una distribución RHEL 8.5. El servidor compartirá un directorio, accesible a todos los usuarios que tengan una cuenta de usuario en la base de cuentas local de Samba.
Comandos y archivos útiles
-
yum
-
/etc/samba/smb.conf
-
testparm
-
systemctl
-
smbpasswd
-
smbclient
-
mount
Etapas
1. |
Compruebe que el paquete Samba está instalado. |
2. |
Configure el servidor Samba para compartir un directorio, accesible en lectura para los usuarios de la base de cuentas local de Samba. |
3. |
Cree la base de cuentas local de Samba. |
4. |
Inicie o reinicie el servidor Samba. |
5. |
Compruebe el acceso a la compartición del servidor desde una máquina remota. |
6. |
En la máquina del cliente, monte la compartición del servidor en un directorio local. |
Resumen de comandos y resultado en pantalla
1. |
Compruebe que el paquete Samba está instalado. |
Instalamos el paquete samba:
[root@srvrh ~]# yum install samba
[...]
Instalado:
python3-dns-1.15.0-10.el8.noarch python3-ldb-2.3.0-2.el8.x86_64
python3-samba-4.15.5-8.el8_6.x86_64 python3-talloc-2.3.2-1.el8.x86_64
python3-tdb-1.4.3-1.el8.x86_64 python3-tevent-0.11.0-0.el8.x86_64
samba-4.15.5-8.el8_6.x86_64 samba-common-tools-4.15.5-8.el8_6.x86_64
samba-libs-4.15.5-8.el8_6.x86_64 tdb-tools-1.4.3-1.el8.x86_64
¡Listo!
2. |
Configure el servidor Samba para compartir un directorio, accesible en lectura para los usuarios de la base de cuentas local de Samba. |
Creamos el directorio local y un archivo de prueba....