Professional Documents
Culture Documents
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons
Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is
available at
http://creativecommons.org/licenses/by-sa/3.0/
. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must
provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert,
Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift,
Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States
and other countries.
Linux ® is the registered trademark of Linus Torvalds in the United States and other countries.
XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States
and/or other countries.
MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and
other countries.
Node.js ® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the
official Joyent Node.js open source or commercial project.
The OpenStack ® Word Mark and OpenStack logo are either registered trademarks/service marks
or trademarks/service marks of the OpenStack Foundation, in the United States and other
countries and are used with the OpenStack Foundation's permission. We are not affiliated with,
endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
Resumen
Este documento describe cómo configurar y ejecutar diferentes tipos de servidores en Red Hat
Enterprise Linux 8, incluyendo el servidor web Apache HTTP, el servidor Samba, el servidor NFS, los
servidores de bases de datos disponibles y el servidor CUPS.
Table of Contents
Table of Contents
. . . . . . . . QUE
HACER . . . . . .EL
. . .CÓDIGO
. . . . . . . . .ABIERTO
. . . . . . . . . .SEA
. . . . .MÁS
. . . . .INCLUSIVO
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8. . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .COMENTARIOS
PROPORCIONAR . . . . . . . . . . . . . . . . SOBRE
. . . . . . . .LA
. . . DOCUMENTACIÓN
. . . . . . . . . . . . . . . . . . . . DE
. . . .RED
. . . . .HAT
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9. . . . . . . . . . . . .
.CAPÍTULO
. . . . . . . . . . .1.. .CONFIGURACIÓN
. . . . . . . . . . . . . . . . . . .DEL
. . . . SERVIDOR
. . . . . . . . . . . .WEB
. . . . . APACHE
. . . . . . . . . .HTTP
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
..............
1.1. INTRODUCCIÓN AL SERVIDOR WEB APACHE HTTP 10
1.1.1. Cambios notables en el servidor HTTP Apache 10
1.1.2. Actualización de la configuración 12
1.2. LOS ARCHIVOS DE CONFIGURACIÓN DE APACHE 12
1.3. GESTIÓN DEL SERVICIO HTTPD 13
1.4. CONFIGURACIÓN DE UN SERVIDOR HTTP APACHE DE UNA SOLA INSTANCIA 13
1.5. CONFIGURACIÓN DE HOSTS VIRTUALES BASADOS EN NOMBRES DE APACHE 14
1.6. CONFIGURACIÓN DEL CIFRADO TLS EN UN SERVIDOR HTTP APACHE 17
1.6.1. Cómo añadir el cifrado TLS a un servidor HTTP Apache 17
1.6.2. Configuración de las versiones de protocolo TLS admitidas en un servidor HTTP Apache 19
1.6.3. Cómo configurar los cifrados admitidos en un servidor HTTP Apache 20
1.7. CONFIGURACIÓN DE LA AUTENTICACIÓN DEL CERTIFICADO DE CLIENTE TLS 21
1.8. INSTALACIÓN DEL MANUAL DEL SERVIDOR HTTP APACHE 22
1.9. TRABAJAR CON MÓDULOS 23
1.9.1. Cargar un módulo 23
1.9.2. Escribir un módulo 23
1.10. EXPORTACIÓN DE UNA CLAVE PRIVADA Y DE CERTIFICADOS DE UNA BASE DE DATOS NSS PARA
UTILIZARLOS EN UNA CONFIGURACIÓN DE SERVIDOR WEB APACHE 24
1.11. RECURSOS ADICIONALES 25
. . . . . . . . . . . .2.
CAPÍTULO . . INSTALACIÓN
...............Y
. . CONFIGURACIÓN
. . . . . . . . . . . . . . . . . . . DE
. . . .NGINX
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27
..............
2.1. INSTALACIÓN Y PREPARACIÓN DE NGINX 27
2.2. CONFIGURAR NGINX COMO UN SERVIDOR WEB QUE PROPORCIONA DIFERENTES CONTENIDOS PARA
DIFERENTES DOMINIOS 29
2.3. AÑADIR ENCRIPTACIÓN TLS A UN SERVIDOR WEB NGINX 31
2.4. CONFIGURAR NGINX COMO PROXY INVERSO PARA EL TRÁFICO HTTP 32
2.5. CONFIGURACIÓN DE NGINX COMO EQUILIBRADOR DE CARGA HTTP 33
2.6. RECURSOS ADICIONALES 34
.CAPÍTULO
. . . . . . . . . . .3.
. . USO
. . . . . DE
. . . .SAMBA
. . . . . . . .COMO
. . . . . . . SERVIDOR
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
..............
3.1. ENTENDER LOS DIFERENTES SERVICIOS Y MODOS DE SAMBA 35
3.1.1. Los servicios de Samba 35
3.1.2. Los servicios de seguridad de Samba 36
3.1.3. Escenarios cuando los servicios de Samba y las utilidades de cliente de Samba cargan y recargan su
configuración 36
3.1.4. Editar la configuración de Samba de forma guardada 37
3.2. VERIFICACIÓN DE LA CONFIGURACIÓN DE SAMBA 38
3.2.1. Verificación del archivo smb.conf mediante la utilidad testparm 38
3.3. CONFIGURACIÓN DE SAMBA COMO SERVIDOR INDEPENDIENTE 39
3.3.1. Establecimiento de la configuración del servidor independiente 39
3.3.2. Creación y habilitación de cuentas de usuario locales 40
3.4. COMPRENDER Y CONFIGURAR LA ASIGNACIÓN DE ID DE SAMBA 41
3.4.1. Planificación de rangos de ID de Samba 41
3.4.2. The * default domain 42
3.4.3. Utilizar el back end de mapeo de ID de tdb 43
3.4.4. Utilización del back end de mapeo de ID de anuncios 43
3.4.5. Utilización del back end de asignación de ID de crestas 46
Ventajas de utilizar el back end de rid 46
1
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
2
Table of Contents
. . . . . . . . . . . .4.
CAPÍTULO . . EXPORTACIÓN
. . . . . . . . . . . . . . . . .DE
. . . RECURSOS
. . . . . . . . . . . . COMPARTIDOS
. . . . . . . . . . . . . . . . .NFS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
...............
4.1. INTRODUCCIÓN A NFS 105
4.2. VERSIONES DE NFS COMPATIBLES 105
Versión NFS por defecto 105
Características de las versiones menores de NFS 105
4.3. LOS PROTOCOLOS TCP Y UDP EN NFSV3 Y NFSV4 106
4.4. SERVICIOS REQUERIDOS POR NFS 106
Los servicios RPC con NFSv4 107
4.5. FORMATOS DE NOMBRES DE HOST NFS 107
4.6. CONFIGURACIÓN DEL SERVIDOR NFS 108
3
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
. . . . . . . . . . . .5.
CAPÍTULO . . ASEGURAR
. . . . . . . . . . . . .NFS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .120
...............
5.1. SEGURIDAD NFS CON AUTH_SYS Y CONTROLES DE EXPORTACIÓN 120
5.2. SEGURIDAD NFS CON AUTH_GSS 120
5.3. CONFIGURACIÓN DE UN SERVIDOR Y UN CLIENTE NFS PARA UTILIZAR KERBEROS 120
5.4. OPCIONES DE SEGURIDAD DE NFSV4 121
5.5. PERMISOS DE ARCHIVOS EN EXPORTACIONES NFS MONTADAS 122
. . . . . . . . . . . .6.
CAPÍTULO . . HABILITACIÓN
. . . . . . . . . . . . . . . . DE
. . . .DISPOSICIONES
. . . . . . . . . . . . . . . . .SCSI
. . . . . PNFS
. . . . . . .EN
. . .NFS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
...............
6.1. LA TECNOLOGÍA PNFS 123
6.2. DISPOSICIONES SCSI PNFS 123
Operaciones entre el cliente y el servidor 123
Reservas de dispositivos 124
6.3. COMPROBACIÓN DE UN DISPOSITIVO SCSI COMPATIBLE CON PNFS 124
6.4. CONFIGURACIÓN DE PNFS SCSI EN EL SERVIDOR 125
6.5. CONFIGURACIÓN DE PNFS SCSI EN EL CLIENTE 125
6.6. LIBERACIÓN DE LA RESERVA SCSI PNFS EN EL SERVIDOR 126
6.7. SUPERVISIÓN DE LA FUNCIONALIDAD DE LOS DISEÑOS SCSI DE PNFS 127
6.7.1. Comprobación de las operaciones SCSI pNFS desde el servidor mediante nfsstat 127
6.7.2. Comprobación de las operaciones SCSI de pNFS desde el cliente mediante mountstats 128
. . . . . . . . . . . .7.
CAPÍTULO . . CONFIGURACIÓN
. . . . . . . . . . . . . . . . . . . DEL
. . . . .SERVIDOR
. . . . . . . . . . . PROXY
. . . . . . . . .DE
. . .CACHÉ
. . . . . . . .SQUID
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
...............
7.1. CONFIGURACIÓN DE SQUID COMO PROXY DE CACHÉ SIN AUTENTICACIÓN 129
7.2. CONFIGURACIÓN DE SQUID COMO PROXY DE CACHÉ CON AUTENTICACIÓN LDAP 131
7.3. CONFIGURACIÓN DE SQUID COMO PROXY DE CACHÉ CON AUTENTICACIÓN KERBEROS 134
7.4. CONFIGURACIÓN DE UNA LISTA DE DENEGACIÓN DE DOMINIO EN SQUID 138
7.5. CONFIGURAR EL SERVICIO SQUID PARA QUE ESCUCHE EN UN PUERTO O DIRECCIÓN IP ESPECÍFICOS
138
7.6. RECURSOS ADICIONALES 139
. . . . . . . . . . . .8.
CAPÍTULO . . SERVIDORES
. . . . . . . . . . . . . . .DE
. . .BASES
. . . . . . . DE
. . . .DATOS
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .140
...............
8.1. INTRODUCCIÓN A LOS SERVIDORES DE BASES DE DATOS 140
8.2. USO DE MARIADB 140
8.2.1. Introducción a MariaDB 140
8.2.2. Instalación de MariaDB 140
4
Table of Contents
5
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
.CAPÍTULO
. . . . . . . . . . .9.
. . CONFIGURACIÓN
. . . . . . . . . . . . . . . . . . . DE
. . . .LA
. . .IMPRESIÓN
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169
...............
9.1. ACTIVACIÓN DEL SERVICIO DE COPAS 169
9.2. HERRAMIENTAS DE CONFIGURACIÓN DE LA IMPRESIÓN 169
9.3. ACCESO Y CONFIGURACIÓN DE LA INTERFAZ WEB DE CUPS 170
9.3.1. Adquirir acceso de administración a la interfaz web de CUPS 171
9.4. AÑADIR UNA IMPRESORA EN LA INTERFAZ WEB DE CUPS 173
9.5. CONFIGURAR UNA IMPRESORA EN LA INTERFAZ WEB DE CUPS 177
9.6. IMPRESIÓN DE UNA PÁGINA DE PRUEBA MEDIANTE LA INTERFAZ WEB DE CUPS 179
9.7. CONFIGURACIÓN DE LAS OPCIONES DE IMPRESIÓN MEDIANTE LA INTERFAZ WEB DE CUPS 179
9.8. INSTALACIÓN DE CERTIFICADOS PARA UN SERVIDOR DE IMPRESIÓN 180
9.9. USO DE SAMBA PARA IMPRIMIR EN UN SERVIDOR DE IMPRESIÓN DE WINDOWS CON AUTENTICACIÓN
KERBEROS 183
9.10. TRABAJAR CON LOS REGISTROS DE CUPS 184
9.10.1. Tipos de registros CUPS 184
9.10.2. Acceso a los registros de CUPS 185
9.10.2.1. Acceso a todos los registros de CUPS 185
9.10.2.2. Acceso a los registros de CUPS para un trabajo de impresión específico 185
9.10.2.3. Acceder a los registros de CUPS por un periodo de tiempo específico 185
9.10.2.4. Información relacionada 186
9.10.3. Configuración de la ubicación del registro de CUPS 186
6
Table of Contents
7
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
8
PROPORCIONAR COMENTARIOS SOBRE LA DOCUMENTACIÓN DE RED HAT
2. Utilice el cursor del ratón para resaltar la parte del texto que desea comentar.
3. Haga clic en la ventana emergente Add Feedback que aparece debajo del texto resaltado.
9
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
El Apache HTTP Server, httpd, es un servidor web de código abierto desarrollado por la Apache
Software Foundation.
Si está actualizando desde una versión anterior de Red Hat Enterprise Linux, necesitará actualizar la
configuración del servicio httpd en consecuencia. Esta sección revisa algunas de las nuevas
características añadidas y le guía a través de la actualización de los archivos de configuración anteriores.
la compatibilidad conHTTP/2 la proporciona ahora el paquete mod_http2, que forma parte del
módulo httpd.
mod_proxy_fdpass - proporciona soporte para pasar el socket del cliente a otro proceso
mod_cache_socache - una caché HTTP que utiliza, por ejemplo, memcache backend
mod_request
mod_macro
mod_watchdog
Un nuevo httpd-init.service sustituye al %post script para crear un par de claves autofirmadas
mod_ssl.
El sitio web Apache HTTP Server ahora soporta la carga de certificados TLS y claves privadas
de tokens de seguridad de hardware directamente desde los módulos PKCS#11. Como
resultado, una configuración de mod_ssl puede ahora utilizar URLs de PKCS#11 para
identificar la clave privada TLS y, opcionalmente, el certificado TLS en las directivas
SSLCertificateKeyFile y SSLCertificateFile.
Tenga en cuenta que la directiva ListenFree sólo está disponible actualmente en RHEL 8.
mod_file_cache
mod_nss
Utilice mod_ssl en su lugar. Para más detalles sobre la migración desde mod_nss, consulte
Sección 1.10, “Exportación de una clave privada y de certificados de una base de datos NSS
para utilizarlos en una configuración de servidor web Apache”.
mod_perl
El tipo por defecto de la base de datos de autenticación DBM utilizada por el Apache HTTP
Server en RHEL 8 se ha cambiado de SDBM a db5.
El módulo mod_wsgi para el Apache HTTP Server ha sido actualizado a Python 3. Las
aplicaciones WSGI ahora sólo son compatibles con Python 3, y deben ser migradas desde
Python 2.
11
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
El módulo de multiprocesamiento (MPM) configurado por defecto con el Apache HTTP Server
ha cambiado de un modelo multiproceso y bifurcado (conocido como prefork) a un modelo
multihilo de alto rendimiento, event.
Cualquier módulo de terceros que no sea seguro para los hilos debe ser reemplazado o
eliminado. Para cambiar el MPM configurado, edite el archivo /etc/httpd/conf.modules.d/00-
mpm.conf. Consulte la página man httpd.service(8) para obtener más información.
Los UID y GID mínimos permitidos para los usuarios por suEXEC son ahora 1000 y 500,
respectivamente (antes 100 y 100).
Al detener el servicio httpd se utiliza ahora una "parada elegante" por defecto.
Si se utilizan módulos de terceros, asegúrese de que son compatibles con un MPM roscado.
Si se utiliza suexec, asegúrese de que los identificadores de usuario y grupo cumplen los nuevos
mínimos.
# apachectl configtest
Syntax OK
Ruta Descripción
12
CAPÍTULO 1. CONFIGURACIÓN DEL SERVIDOR WEB APACHE HTTP
Ruta Descripción
Aunque la configuración por defecto es adecuada para la mayoría de las situaciones, puede utilizar
también otras opciones de configuración. Para que cualquier cambio surta efecto, reinicie primero el
servidor web. Consulte Sección 1.3, “Gestión del servicio httpd” para obtener más información sobre
cómo reiniciar el servicio httpd.
Para comprobar la configuración en busca de posibles errores, escriba lo siguiente en un prompt del
shell:
# apachectl configtest
Syntax OK
Para facilitar la recuperación de los errores, haga una copia del archivo original antes de editarlo.
Requisitos previos
Procedimiento
Siga el procedimiento de esta sección si el servidor web debe proporcionar el mismo contenido para
13
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
todos los dominios asociados al servidor. Si desea proporcionar un contenido diferente para diferentes
dominios, configure hosts virtuales basados en nombres. Para más detalles, consulte Sección 1.5,
“Configuración de hosts virtuales basados en nombres de Apache”.
Procedimiento
NOTA
Pasos de verificación
Recursos adicionales
Para más detalles sobre la configuración de Apache y la adaptación del servicio a su entorno,
consulte el manual de Apache. Para más detalles sobre la instalación del manual, consulte
Sección 1.8, “Instalación del manual del servidor HTTP Apache” .
Para más detalles sobre el uso o el ajuste del servicio httpd systemd , consulte la página man
httpd.service(8).
Los hosts virtuales basados en nombres permiten a Apache servir diferentes contenidos para diferentes
14
CAPÍTULO 1. CONFIGURACIÓN DEL SERVIDOR WEB APACHE HTTP
Los hosts virtuales basados en nombres permiten a Apache servir diferentes contenidos para diferentes
dominios que se resuelven a la dirección IP del servidor.
Requisitos previos
Procedimiento
<VirtualHost *:80>
DocumentRoot "/var/www/example.com/"
ServerName example.com
CustomLog /var/log/httpd/example.com_access.log combined
ErrorLog /var/log/httpd/example.com_error.log
</VirtualHost>
Todos los ajustes de la directiva <VirtualHost *:80> son específicos para este host
virtual.
ServerName establece los dominios para los que este host virtual sirve contenido.
Para establecer varios dominios, añada el parámetro ServerAlias a la configuración y
especifique los dominios adicionales separados con un espacio en este parámetro.
NOTA
<VirtualHost *:80>
15
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
DocumentRoot "/var/www/example.net/"
ServerName example.net
CustomLog /var/log/httpd/example.net_access.log combined
ErrorLog /var/log/httpd/example.net_error.log
</VirtualHost>
# mkdir /var/www/example.com/
# mkdir /var/www/example.net/
Pasos de verificación
Recursos adicionales
Para más detalles sobre la configuración de los hosts virtuales de Apache, consulte la
documentación de Virtual Hosts en el manual de Apache. Para más detalles sobre la instalación
del manual, consulte Sección 1.8, “Instalación del manual del servidor HTTP Apache” .
16
CAPÍTULO 1. CONFIGURACIÓN DEL SERVIDOR WEB APACHE HTTP
Requisitos previos
Requisitos previos
Los clientes y el servidor web resuelven el nombre de host del servidor a la dirección IP del
servidor web.
Procedimiento
IMPORTANTE
c. Establezca las rutas de acceso a la clave privada, el certificado del servidor y el certificado
de la CA:
SSLCertificateKeyFile "/etc/pki/tls/private/example.com.key"
SSLCertificateFile "/etc/pki/tls/certs/example.com.crt"
SSLCACertificateFile "/etc/pki/tls/certs/ca.crt"
3. Por razones de seguridad, configure que sólo el usuario root pueda acceder al archivo de la
clave privada:
AVISO
NOTA
Pasos de verificación
Recursos adicionales
18
CAPÍTULO 1. CONFIGURACIÓN DEL SERVIDOR WEB APACHE HTTP
Esta sección describe cómo configurar manualmente las versiones del protocolo TLS que soporta su
servidor HTTP Apache. Siga el procedimiento si su entorno requiere habilitar sólo versiones específicas
del protocolo TLS, por ejemplo:
Si su entorno requiere que los clientes también puedan utilizar el protocolo débil TLS1
(TLSv1.0) o TLS1.1.
Requisitos previos
El cifrado TLS está habilitado en el servidor como se describe en Sección 1.6.1, “Cómo añadir el
cifrado TLS a un servidor HTTP Apache”.
Procedimiento
Pasos de verificación
19
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Recursos adicionales
Para más detalles sobre la política criptográfica a nivel de sistema, consulte la página man
update-crypto-policies(8) y Using system-wide cryptographic policies .
Esta sección describe cómo configurar manualmente los cifrados que soporta su servidor HTTP Apache.
Siga el procedimiento si su entorno requiere cifrados específicos.
Requisitos previos
El cifrado TLS está habilitado en el servidor como se describe en Sección 1.6.1, “Cómo añadir el
cifrado TLS a un servidor HTTP Apache”.
Procedimiento
Este ejemplo activa sólo los cifrados EECDH AESGCM, EDH AESGCM, AES256 EECDH, y
AES256 EDH y desactiva todos los cifrados que utilizan el código de autenticación de mensajes
(MAC) SHA1 y SHA256.
Pasos de verificación
20
CAPÍTULO 1. CONFIGURACIÓN DEL SERVIDOR WEB APACHE HTTP
Recursos adicionales
Para más detalles sobre la política criptográfica a nivel de sistema, consulte la página man
update-crypto-policies(8) y Using system-wide cryptographic policies .
Si el servidor HTTP Apache utiliza el protocolo TLS 1.3, algunos clientes requieren una configuración
adicional. Por ejemplo, en Firefox, establezca el parámetro security.tls.enable_post_handshake_auth
en el menú about:config a true. Para más detalles, consulte Transport Layer Security versión 1.3 en Red
Hat Enterprise Linux 8.
Requisitos previos
El cifrado TLS está habilitado en el servidor como se describe en Sección 1.6.1, “Cómo añadir el
cifrado TLS a un servidor HTTP Apache”.
Procedimiento
<Directory "/var/www/html/Example/">
SSLVerifyClient require
</Directory>
La configuración SSLVerifyClient require define que el servidor debe validar con éxito el
certificado del cliente antes de que éste pueda acceder al contenido del directorio
/var/www/html/Example/.
21
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Pasos de verificación
$ curl https://example.com/Example/
curl: (56) OpenSSL SSL_read: error:1409445C:SSL routines:ssl3_read_bytes:tlsv13 alert
certificate required, errno 0
El error indica que el servidor web requiere un certificado de autentificación del cliente.
2. Pase la clave privada y el certificado del cliente, así como el certificado de la CA a curl para
acceder a la misma URL con autenticación de cliente:
Recursos adicionales
Configuración de la autenticación
Módulos
Caché de contenidos
Consejos de seguridad
Requisitos previos
Procedimiento
22
CAPÍTULO 1. CONFIGURACIÓN DEL SERVIDOR WEB APACHE HTTP
2. Opcional: Por defecto, todos los clientes que se conectan al servidor HTTP Apache pueden
mostrar el manual. Para restringir el acceso a un rango IP específico, como la subred
192.0.2.0/24, edite el archivo /etc/httpd/conf.d/manual.conf y añada la configuración Require
ip 192.0.2.0/24 a la directiva <Directory "/usr/share/httpd/manual">:
<Directory "/usr/share/httpd/manual">
...
Require ip 192.0.2.0/24
...
</Directory>
Pasos de verificación
1. Para visualizar el manual del servidor HTTP Apache, conéctese con un navegador web a
http://host_name_or_IP_address/manual/
Después de cargar el módulo, reinicie el servidor web para recargar la configuración. Consulte
Sección 1.3, “Gestión del servicio httpd” para obtener más información sobre cómo reiniciar el servicio
httpd.
Este paquete contiene los archivos de inclusión, los archivos de cabecera y la utilidad APache
eXtenSion (apxs) necesarios para compilar un módulo.
23
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
# apxs -i -a -c nombre_del_módulo.c
Si la compilación fue exitosa, debería poder cargar el módulo de la misma manera que cualquier otro
módulo que se distribuya con el archivo Apache HTTP Server.
Este procedimiento asume que la base de datos NSS está almacenada en /etc/httpd/alias/ y que usted
almacena la clave privada y los certificados exportados en el directorio /etc/pki/tls/.
Requisitos previos
Procedimiento
# certutil -d /etc/httpd/alias/ -L
Certificate Nickname Trust Attributes
SSL,S/MIME,JAR/XPI
Example CA C,,
Example Server Certificate u,u,u
2. Para extraer la clave privada, debe exportar temporalmente la clave a un archivo PKCS #12:
a. Utilice el apodo del certificado asociado a la clave privada, para exportar la clave a un
archivo PKCS #12:
Tenga en cuenta que debe establecer una contraseña en el archivo PKCS #12. Necesitará
esta contraseña en el siguiente paso.
24
CAPÍTULO 1. CONFIGURACIÓN DEL SERVIDOR WEB APACHE HTTP
# rm /etc/pki/tls/private/export.p12
4. Utilice el apodo del certificado del servidor en la base de datos del NSS para exportar el
certificado de la CA:
5. Establezca los permisos en /etc/pki/tls/certs/server.crt para garantizar que sólo el usuario root
pueda acceder a este archivo:
6. Utilice el apodo del certificado CA en la base de datos NSS para exportar el certificado CA:
7. Siga Sección 1.6, “Configuración del cifrado TLS en un servidor HTTP Apache” para configurar
el servidor web Apache, y:
Recursos adicionales
httpd.service(8) - La página del manual del archivo de la unidad httpd.service, que describe
cómo personalizar y mejorar el servicio.
25
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
26
CAPÍTULO 2. INSTALACIÓN Y CONFIGURACIÓN DE NGINX
Servidor web
Proxy inverso
Equilibrador de carga
Utilizando la configuración por defecto, NGINX se ejecuta como un servidor web en el puerto 80 y
proporciona contenido desde el directorio /usr/share/nginx/html/.
Requisitos previos
Procedimiento
27
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
4. Abra los puertos en los que NGINX debe prestar su servicio en el cortafuegos. Por ejemplo, para
abrir los puertos por defecto para HTTP (puerto 80) y HTTPS (puerto 443) en firewalld,
introduzca:
Si no desea utilizar la configuración por defecto, sáltese este paso y configure NGINX como
corresponda antes de iniciar el servicio.
Pasos de verificación
1. Utilice la utilidad yum para verificar que el paquete nginx está instalado:
2. Asegúrese de que los puertos en los que NGINX debe prestar su servicio están abiertos en el
firewalld:
# firewall-cmd --list-ports
80/tcp 443/tcp
Recursos adicionales
Para más detalles sobre el Gestor de Suscripciones , consulte la guía Uso y configuración del
Gestor de Suscripciones.
Para obtener más detalles sobre los flujos de aplicaciones, los módulos y la instalación de
paquetes, consulte la guía Instalación, gestión y eliminación de componentes del espacio de
usuario.
Para más detalles sobre la configuración de los cortafuegos, consulte la guía sobre la seguridad
de las redes.
Servir todas las demás solicitudes, por ejemplo, a la dirección IP del servidor o a otros dominios
asociados a la dirección IP del servidor, con contenido del directorio /usr/share/nginx/html/
Requisitos previos
Procedimiento
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /usr/share/nginx/html;
}
La directiva listen define qué dirección IP y qué puertos escucha el servicio. En este
caso, NGINX escucha en el puerto 80 en todas las direcciones IPv4 e IPv6. El
parámetro default_server indica que NGINX utiliza este bloque server por defecto
para las peticiones que coincidan con las direcciones IP y los puertos.
El parámetro server_name define los nombres de host de los que es responsable este
bloque server. Establecer server_name a _ configura a NGINX para aceptar cualquier
nombre de host para este bloque server.
La directiva root establece la ruta del contenido web para este bloque server.
29
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
server {
server_name example.com;
root /var/www/example.com/;
access_log /var/log/nginx/example.com/access.log;
error_log /var/log/nginx/example.com/error.log;
}
server {
server_name example.net;
root /var/www/example.net/;
access_log /var/log/nginx/example.net/access.log;
error_log /var/log/nginx/example.net/error.log;
}
# mkdir -p /var/www/example.com/
# mkdir -p /var/www/example.net/
Tenga en cuenta que debe instalar el paquete policycoreutils-python-utils para ejecutar los
comandos de restorecon.
# mkdir /var/log/nginx/example.com/
# mkdir /var/log/nginx/example.net/
Pasos de verificación
30
CAPÍTULO 2. INSTALACIÓN Y CONFIGURACIÓN DE NGINX
Requisitos previos
Los clientes y el servidor web resuelven el nombre de host del servidor a la dirección IP del
servidor web.
Procedimiento
server {
listen 443 ssl;
server_name example.com;
root /usr/share/nginx/html;
ssl_certificate /etc/pki/tls/certs/example.com.crt;
ssl_certificate_key /etc/pki/tls/private/example.com.key;
}
2. Por razones de seguridad, configure que sólo el usuario root pueda acceder al archivo de la
clave privada:
31
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
AVISO
Pasos de verificación
Este procedimiento explica cómo reenviar el tráfico al directorio /example del servidor web a la URL
https://example.com.
Requisitos previos
Procedimiento
location /example {
proxy_pass https://example.com;
}
El bloque location define que NGINX pase todas las peticiones en el directorio /example a
https://example.com.
32
CAPÍTULO 2. INSTALACIÓN Y CONFIGURACIÓN DE NGINX
# setsebool -P httpd_can_network_connect 1
Pasos de verificación
Requisitos previos
Procedimiento
http {
upstream backend {
least_conn;
server server1.example.com;
server server2.example.com;
server server3.example.com backup;
}
server {
location / {
proxy_pass http://backend;
}
}
}
La directiva least_conn en el grupo de hosts llamado backend define que NGINX envíe las
peticiones a server1.example.com o server2.example.com, dependiendo del host que tenga
el menor número de conexiones activas. NGINX utiliza server3.example.com solo como
respaldo en caso de que los otros dos hosts no estén disponibles.
33
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
No hay método para utilizar round robin y distribuir las peticiones de manera uniforme entre
los servidores.
ip_hash para enviar solicitudes de una dirección de cliente al mismo servidor basándose en
un hash calculado a partir de los tres primeros octetos de la dirección IPv4 o de la dirección
IPv6 completa del cliente.
hash para determinar el servidor basándose en una clave definida por el usuario, que puede
ser una cadena, una variable o una combinación de ambas. El parámetro consistent
configura que NGINX distribuya las peticiones entre todos los servidores basándose en el
valor de la clave hash definida por el usuario.
34
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Un servidor independiente
NOTA
Red Hat soporta los modos PDC y BDC sólo en instalaciones existentes con
versiones de Windows que soportan dominios NT4. Red Hat recomienda no
configurar un nuevo dominio Samba NT4, porque los sistemas operativos de
Microsoft posteriores a Windows 7 y Windows Server 2008 R2 no admiten
dominios NT4.
smbd
Este servicio proporciona servicios de compartición e impresión de archivos utilizando el protocolo
SMB. Además, el servicio es responsable del bloqueo de recursos y de la autenticación de los
usuarios que se conectan. El servicio smb systemd inicia y detiene el demonio smbd.
Para utilizar el servicio smbd, instale el paquete samba.
nmbd
Este servicio proporciona la resolución de nombres de host e IP utilizando el protocolo NetBIOS
sobre IPv4. Además de la resolución de nombres, el servicio nmbd permite navegar por la red SMB
para localizar dominios, grupos de trabajo, hosts, archivos compartidos e impresoras. Para ello, el
servicio comunica esta información directamente al cliente emisor o la reenvía a un navegador local
o principal. El servicio nmb systemd inicia y detiene el demonio nmbd.
Tenga en cuenta que las redes SMB modernas utilizan DNS para resolver los clientes y las
direcciones IP.
35
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
winbindd
Este servicio proporciona una interfaz para que el conmutador de servicio de nombres (NSS) utilice
usuarios y grupos de dominio AD o NT4 en el sistema local. Esto permite, por ejemplo, que los
usuarios del dominio se autentiquen en servicios alojados en un servidor Samba o en otros servicios
locales. El servicio winbind systemd inicia y detiene el demonio winbindd.
Si configura Samba como miembro del dominio, winbindd debe iniciarse antes que el servicio smbd.
De lo contrario, los usuarios y grupos del dominio no están disponibles para el sistema local..
IMPORTANTE
Red Hat sólo soporta la ejecución de Samba como servidor con el servicio winbindd
para proporcionar usuarios y grupos de dominio al sistema local. Debido a ciertas
limitaciones, tales como la falta de soporte de la lista de control de acceso (ACL) de
Windows y de la recuperación de NT LAN Manager (NTLM), SSSD no es compatible.
Recursos adicionales
3.1.3. Escenarios cuando los servicios de Samba y las utilidades de cliente de Samba
cargan y recargan su configuración
36
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
A petición manual, por ejemplo, cuando se ejecuta el comando smbcontrol all reload-
config.
Las utilidades de los clientes de Samba leen su configuración sólo cuando usted las inicia.
Tenga en cuenta que ciertos parámetros, como security, requieren un reinicio del servicio smb para
que surta efecto y no basta con una recarga.
Recursos adicionales
Requisitos previos
Procedimiento
# cp /etc/samba/smb.conf /etc/samba/samba.conf.copy
# testparm -s /etc/samba/samba.conf.copy
# mv /etc/samba/samba.conf.copy /etc/samba/smb.conf
Recursos adicionales
37
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Recursos adicionales
Sección 3.1.3, “Escenarios cuando los servicios de Samba y las utilidades de cliente de Samba
cargan y recargan su configuración”
IMPORTANTE
Requisitos previos
Procedimiento
# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Unknown parameter encountered: "log levell"
Processing section "[example_share]"
Loaded services file OK.
ERROR: The idmap range for the domain * (tdb) overlaps with the range of DOMAIN
(ad)!
# Global parameters
[global]
...
[example_share]
...
38
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Procedimiento
[global]
workgroup = Example-WG
netbios name = Server
security = user
Esta configuración define un servidor independiente llamado Server dentro del grupo de
trabajo Example-WG. Además, esta configuración permite el registro en un nivel mínimo ( 1) y
los archivos de registro se almacenarán en el directorio /var/log/samba/. Samba expandirá la
macro %m en el parámetro log file al nombre NetBIOS de los clientes conectados. Esto
permite archivos de registro individuales para cada cliente.
Sección 3.7, “Configuración de un archivo compartido Samba que utiliza ACLs POSIX”
Sección 3.9, “Configuración de un recurso compartido que utiliza las ACL de Windows”
# testparm
5. Si configura recursos compartidos que requieren autenticación, cree las cuentas de usuario.
Para más detalles, consulte Sección 3.3.2, “Creación y habilitación de cuentas de usuario
locales”.
6. Abra los puertos necesarios y recargue la configuración del cortafuegos mediante la utilidad
firewall-cmd:
39
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Recursos adicionales
Para más detalles sobre los parámetros utilizados en el procedimiento, consulte las
descripciones de los parámetros en la página man smb.conf(5).
Si utiliza la configuración por defecto passdb backend = tdbsam, Samba almacena las cuentas de
usuario en la base de datos /var/lib/samba/private/passdb.tdb.
El procedimiento de esta sección describe cómo crear un usuario local de Samba llamado example.
Requisitos previos
Procedimiento
Este comando añade la cuenta example sin crear un directorio de inicio. Si la cuenta sólo se
utiliza para autenticarse en Samba, asigne el comando /sbin/nologin como shell para evitar que
la cuenta se registre localmente.
# passwd example
Enter new UNIX password: password
Retype new UNIX password: password
passwd: password updated successfully
Samba no utiliza la contraseña establecida en la cuenta del sistema operativo para autenticarse.
Sin embargo, es necesario establecer una contraseña para habilitar la cuenta. Si una cuenta está
deshabilitada, Samba deniega el acceso si este usuario se conecta.
3. Añade el usuario a la base de datos Samba y establece una contraseña para la cuenta:
# smbpasswd -a example
New SMB password: password
Retype new SMB password: password
40
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Utilice esta contraseña para autenticarse cuando utilice esta cuenta para conectarse a un
recurso compartido de Samba.
# smbpasswd -e example
Enabled user example.
Para que el servicio winbindd proporcione a Linux identificadores únicos para usuarios y grupos, debe
configurar la asignación de identificadores en el archivo /etc/samba/smb.conf para:
Cada dominio de confianza desde el que los usuarios deben poder acceder a los recursos de
este servidor Samba
Samba proporciona diferentes back ends de mapeo de ID para configuraciones específicas. Los back
ends más utilizados son:
ad Sólo dominios AD
41
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
AVISO
A continuación se muestran los rangos de asignación de ID no superpuestos para los dominios por
defecto (*), AD-DOM, y el TRUST-DOM.
[global]
...
idmap config * : backend = tdb
idmap config * : range = 10000-999999
IMPORTANTE
Sólo puede asignar un rango por dominio. Por lo tanto, deje suficiente espacio entre los
rangos de los dominios. Esto le permite ampliar el rango más adelante si su dominio crece.
Sin embargo, para todos los demás objetos, Samba asigna IDs del dominio por defecto. Esto incluye:
IMPORTANTE
Debe configurar el dominio por defecto como se describe en esta sección para que
Samba funcione correctamente.
42
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
El back end del dominio por defecto debe ser escribible para almacenar permanentemente los IDs
asignados.
Para el dominio por defecto, puede utilizar uno de los siguientes back ends:
tdb
Cuando configure el dominio por defecto para utilizar el back end tdb, establezca un rango de ID lo
suficientemente grande como para incluir los objetos que se crearán en el futuro y que no forman
parte de una configuración de asignación de ID de dominio definida.
Por ejemplo, establezca lo siguiente en la sección [global] del archivo /etc/samba/smb.conf:
Para más detalles, consulte Sección 3.4.3, “Utilizar el back end de mapeo de ID de tdb” .
autorid
Cuando se configura el dominio por defecto para utilizar el back end autorid, añadir configuraciones
adicionales de mapeo de ID para los dominios es opcional.
Por ejemplo, establezca lo siguiente en la sección [global] del archivo /etc/samba/smb.conf:
Para más detalles, consulte Sección 3.4.6, “Utilizar el back end de mapeo de autorid ID” .
Utilice este back end sólo para el dominio por defecto *. Por ejemplo:
Recursos adicionales
El back end de mapeo de ID de ad implementa una API de sólo lectura para leer la información de
cuentas y grupos de AD. Esto proporciona los siguientes beneficios:
Los ID de usuario y grupo son consistentes en todos los servidores Samba que utilizan este back
43
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Los ID de usuario y grupo son consistentes en todos los servidores Samba que utilizan este back
end.
Las identificaciones no se almacenan en una base de datos local que pueda corromperse, y por
lo tanto no se pueden perder las titularidades de los archivos.
NOTA
El back end del anuncio lee los siguientes atributos del AD:
[a] Samba sólo lee este atributo si se establece idmap config DOMAIN:unix_nss_info = yes.
[b] Samba sólo lee este atributo si se establece idmap config DOMAIN:unix_primary_group = yes.
Requisitos previos
Tanto los usuarios como los grupos deben tener IDs únicos establecidos en AD, y los IDs deben
estar dentro del rango configurado en el archivo /etc/samba/smb.conf. Los objetos cuyos IDs
estén fuera del rango no estarán disponibles en el servidor Samba.
Los usuarios y grupos deben tener todos los atributos requeridos en AD. Si faltan los atributos
requeridos, el usuario o grupo no estará disponible en el servidor Samba. Los atributos
requeridos dependen de su configuración. Requisitos previos
44
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Procedimiento
a. Añada una configuración de asignación de ID para el dominio por defecto (*) si no existe. Por
ejemplo:
c. Establezca el rango de IDs que se asigna a los usuarios y grupos en el dominio AD. Por
ejemplo:
IMPORTANTE
d. Establezca que Samba utilice el esquema RFC 2307 cuando lea los atributos de AD:
e. Para permitir que Samba lea el shell de inicio de sesión y la ruta de acceso al directorio
personal de los usuarios desde el atributo AD correspondiente, establezca:
Como alternativa, puede establecer una ruta de directorio principal y un shell de inicio de
sesión uniformes para todo el dominio que se apliquen a todos los usuarios. Por ejemplo:
f. Por defecto, Samba utiliza el atributo primaryGroupID de un objeto de usuario como grupo
principal del usuario en Linux. Como alternativa, puede configurar Samba para que utilice el
valor establecido en el atributo gidNumber en su lugar:
# testparm
45
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Recursos adicionales
Para más detalles sobre los parámetros utilizados en el procedimiento, consulte las páginas de
manual smb.conf(5) y idmap_ad(8).
Samba puede utilizar el identificador relativo (RID) de un SID de Windows para generar un ID en Red Hat
Enterprise Linux.
NOTA
El back end de mapeo de ID de rid implementa una API de sólo lectura para calcular la información de
cuentas y grupos basada en un esquema de mapeo algorítmico para dominios AD y NT4. Cuando
configure el back end, debe establecer el RID más bajo y el más alto en el idmap config DOMAIN :
range parámetro. Samba no mapeará usuarios o grupos con un RID inferior o superior al establecido en
este parámetro.
IMPORTANTE
Como back end de sólo lectura, rid no puede asignar nuevos IDs, como por ejemplo para
los grupos de BUILTIN. Por lo tanto, no utilice este back end para el dominio por defecto
*.
Todos los usuarios y grupos del dominio que tienen un RID dentro del rango configurado están
automáticamente disponibles en el miembro del dominio.
Todos los usuarios del dominio tienen asignados el mismo shell de inicio de sesión y el mismo
directorio personal. Sin embargo, se pueden utilizar variables.
Los ID de usuario y grupo sólo son iguales entre los miembros del dominio Samba si todos
utilizan el back end rid con la misma configuración de rango de ID.
Según las fórmulas que utiliza el servicio winbindd para calcular los ID, pueden producirse
46
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Según las fórmulas que utiliza el servicio winbindd para calcular los ID, pueden producirse
duplicados en entornos multidominio si los objetos de diferentes dominios tienen el mismo RID.
Requisitos previos
Procedimiento
a. Añada una configuración de asignación de ID para el dominio por defecto (*) si no existe. Por
ejemplo:
c. Establezca un rango lo suficientemente grande como para incluir todos los RID que se
asignarán en el futuro. Por ejemplo:
Samba ignora a los usuarios y grupos cuyos RIDs en este dominio no están dentro del rango.
IMPORTANTE
d. Establezca una ruta de acceso al shell y al directorio principal que se asignará a todos los
usuarios asignados. Por ejemplo:
# testparm
Recursos adicionales
47
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Para más detalles sobre cómo Samba calcula el ID local a partir de un RID, consulte la página
man idmap_rid(8).
El back end autorid funciona de forma similar al back end de mapeo de ID rid, pero puede asignar
automáticamente IDs para diferentes dominios. Esto le permite utilizar el back end autorid en las
siguientes situaciones:
Para el dominio por defecto * y los dominios adicionales, sin necesidad de crear configuraciones
de asignación de ID para cada uno de los dominios adicionales
NOTA
Partes de esta sección fueron adoptadas de la documentación de idmap config autorid publicada en el
Wiki de Samba. Licencia: CC BY 4.0. Autores y colaboradores: Ver la pestaña de historia en la página de
la Wiki.
Todos los usuarios y grupos del dominio cuyo UID y GID calculados están dentro del rango
configurado están automáticamente disponibles en el miembro del dominio.
No se duplican los ID, aunque varios objetos en un entorno multidominio tengan el mismo RID.
Inconvenientes
Los ID de usuario y de grupo no son los mismos en todos los miembros del dominio Samba.
Todos los usuarios del dominio tienen asignados el mismo shell de inicio de sesión y el mismo
directorio personal. Sin embargo, se pueden utilizar variables.
Requisitos previos
48
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Procedimiento
b. Establezca un rango lo suficientemente grande como para asignar IDs para todos los objetos
existentes y futuros. Por ejemplo:
Samba ignora a los usuarios y grupos cuyos IDs calculados en este dominio no están dentro
del rango.
AVISO
Samba assigns this number of continuous IDs for each domain’s object until all IDs from the
range set in the idmap config * : range parameter are taken.
d. Establezca una ruta de acceso al shell y al directorio principal que se asignará a todos los
usuarios asignados. Por ejemplo:
IMPORTANTE
49
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
# testparm
Recursos adicionales
Para obtener detalles sobre cómo el back end calculó los IDs, consulte la sección THE
MAPPING FORMULAS en la página man idmap_autorid(8).
Para más detalles sobre el uso del parámetro idmap config rangesize , consulte la descripción
del parámetro rangesize en la página de manual idmap_autorid(8).
Autenticar a los usuarios del dominio en los servicios locales, como sshd
Procedimiento
3. Para compartir directorios o impresoras en el miembro del dominio, instale el paquete samba:
# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
IMPORTANTE
Para que Samba pueda consultar la información de los usuarios y grupos del
dominio, el servicio winbind debe estar funcionando antes de iniciar smb.
Pasos de verificación
1. Muestra los detalles de un usuario AD, como la cuenta de administrador AD en el dominio AD:
2. Consultar los miembros del grupo de usuarios del dominio en el dominio AD:
51
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
3. Opcionalmente, verifique que puede utilizar los usuarios y grupos del dominio cuando
establezca los permisos de los archivos y directorios. Por ejemplo, para establecer el propietario
del archivo /srv/samba/example.txt como AD\administrator y el grupo como AD\Domain
Users:
# kinit administrator@AD.EXAMPLE.COM
# klist
Ticket cache: KCM:0
Default principal: administrator@AD.EXAMPLE.COM
# wbinfo --all-domains
BUILTIN
SAMBA-SERVER
AD
Recursos adicionales
Si no desea utilizar los cifrados RC4 obsoletos, puede activar el tipo de cifrado AES en AD.
Consulte Sección 3.6.2, “Habilitación del tipo de cifrado AES en Active Directory mediante un
GPO”. Tenga en cuenta que esto puede tener un impacto en otros servicios de su AD.
Para más detalles sobre la utilidad realm, consulte la página de manual realm(8).
Por ejemplo, si el atributo sAMAccountName de un usuario de Active Directory está configurado como
EXAMPLE y el usuario intenta iniciar sesión con el nombre de usuario en minúsculas, Kerberos devuelve
52
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Requisitos previos
Red Hat Enterprise Linux autentifica los intentos de inicio de sesión contra Active Directory.
Procedimiento
Edite el archivo /etc/krb5.conf y añada la siguiente sección:
[plugins]
localauth = {
module = winbind:/usr/lib64/samba/krb5/winbind_krb5_localauth.so
enable_only = winbind
}
Recursos adicionales
IMPORTANTE
Se anima a los clientes que despliegan Samba en los miembros del dominio IdM a que
proporcionen sus comentarios a Red Hat.
Requisitos previos
Tanto los servidores de IdM como el cliente deben ejecutarse en RHEL 8.1 o posterior.
53
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
3.6.1. Preparación del dominio IdM para instalar Samba en los miembros del dominio
Antes de establecer una confianza con AD y si desea configurar Samba en un cliente IdM, debe
preparar el dominio IdM mediante la utilidad ipa-adtrust-install en un servidor IdM. Sin embargo,
aunque se den ambas situaciones, debe ejecutar ipa-adtrust-install sólo una vez en un maestro de IdM.
Requisitos previos
Procedimiento
Los registros de servicio DNS se crean automáticamente si IdM se ha instalado con un servidor
DNS integrado.
Si IdM se instaló sin un servidor DNS integrado, ipa-adtrust-install imprime una lista de
registros de servicio que deben añadirse manualmente al DNS antes de poder continuar.
WARNING: The smb.conf already exists. Running ipa-adtrust-install will break your existing
Samba configuration.
Do you want to enable support for trusted domains in Schema Compatibility plugin?
This will allow clients older than SSSD 1.9 and non-Linux clients to work with trusted users.
6. Cuando se le solicite, introduzca el nombre NetBIOS del dominio IdM o pulse Enter para
aceptar el nombre propuesto:
54
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
7. Se le pide que ejecute la tarea de generación de SID para crear un SID para cualquier usuario
existente:
Cuando el directorio se instala por primera vez, existe al menos un usuario (el administrador de
IdM) y como esta es una tarea que consume muchos recursos, si tienes un número elevado de
usuarios, puedes ejecutarla en otro momento.
8. (Optional) Por defecto, el rango de puertos RPC dinámicos está definido como 49152-65535
para Windows Server 2008 y posteriores. Si necesita definir un rango de puertos RPC
dinámicos diferente para su entorno, configure Samba para utilizar puertos diferentes y abra
esos puertos en la configuración de su cortafuegos. El siguiente ejemplo establece el rango de
puertos en 55000-65000.
[root@ipaserver ~]# net conf setparm global 'rpc server dynamic port range' 55000-
65000
[root@ipaserver ~]# firewall-cmd --add-port=55000-65000/tcp
[root@ipaserver ~]# firewall-cmd --runtime-to-permanent
10. Utilice la utilidad smbclient para verificar que Samba responde a la autenticación Kerberos
desde el lado de IdM:
3.6.2. Habilitación del tipo de cifrado AES en Active Directory mediante un GPO
Esta sección describe cómo habilitar el tipo de cifrado AES en Active Directory (AD) mediante un objeto
de política de grupo (GPO). Algunas características de RHEL 8, como la ejecución de un servidor
Samba en un cliente IdM, requieren este tipo de cifrado.
Tenga en cuenta que RHEL 8 no soporta los tipos de cifrado débil DES y RC4.
Requisitos previos
Usted está conectado a AD como un usuario que puede editar las políticas de grupo.
Procedimiento
2. Haga clic con el botón derecho del ratón en Default Domain Policy, y seleccione Edit. Se abre
55
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
2. Haga clic con el botón derecho del ratón en Default Domain Policy, y seleccione Edit. Se abre
la página Group Policy Management Editor.
4. Haga doble clic en la política Network security: Configure encryption types allowed for
Kerberos.
9. Espere a que los controladores de dominio (DC) de Windows apliquen la política de grupo
automáticamente. Como alternativa, para aplicar la GPO manualmente en un DC, introduzca el
siguiente comando utilizando una cuenta que tenga permisos de administrador:
Requisitos previos
Tanto los servidores de IdM como el cliente deben ejecutarse en RHEL 8.1 o posterior.
El dominio IdM se prepara como se describe en Sección 3.6.1, “Preparación del dominio IdM para
instalar Samba en los miembros del dominio”.
Si IdM tiene una confianza configurada con AD, habilite el tipo de cifrado AES para Kerberos. Por
ejemplo, utilice un objeto de política de grupo (GPO) para habilitar el tipo de cifrado AES. Para
obtener más información, consulte Sección 3.6.2, “Habilitación del tipo de cifrado AES en Active
Directory mediante un GPO”.
Procedimiento
2. Utilice la utilidad ipa-client-samba para preparar el cliente y crear una configuración inicial de
Samba:
[root@idm_client]# ipa-client-samba
Searching for IPA server...
IPA server: DNS discovery
Chosen IPA master: idm_server.idm.example.com
SMB principal to be created: cifs/idm_client.idm.example.com@IDM.EXAMPLE.COM
NetBIOS name to be used: IDM_CLIENT
Discovered domains to use:
56
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
[homes]
read only = no
Sección 3.7, “Configuración de un archivo compartido Samba que utiliza ACLs POSIX”
Sección 3.9, “Configuración de un recurso compartido que utiliza las ACL de Windows”
Pasos de verificación
Ejecute los siguientes pasos de verificación en otro miembro del dominio IdM que tenga instalado el
paquete samba-client:
$ kinit example_user
$ smbclient -L idm_client.idm.example.com -k
lp_load_ex: changing to config backend registry
57
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Recursos adicionales
Para obtener detalles sobre los pasos que ipa-client-samba realiza durante la configuración,
consulte la página de manual ipa-client-samba(1).
Requisitos previos
Has configurado Samba en un cliente IdM. Después, se añadió una nueva confianza a IdM.
Los tipos de cifrado DES y RC4 para Kerberos deben estar desactivados en el dominio AD de
confianza. Por razones de seguridad, RHEL 8 no admite estos tipos de cifrado débil.
Procedimiento
[root@idm_client]# kinit -k
2. Utilice el comando ipa idrange-find para mostrar tanto el ID base como el tamaño del rango de
ID del nuevo dominio. Por ejemplo, el siguiente comando muestra los valores del dominio
ad.example.com:
Los valores de los atributos ipabaseid y ipaidrangesize son necesarios en los siguientes pasos.
58
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Con los valores del paso anterior, el mayor ID utilizable para el dominio ad.example.com es
1918599999 (1918400000 200000 - 1).
Especifique el valor del atributo ipabaseid como el más bajo y el valor calculado del paso
anterior como el valor más alto del rango.
Pasos de verificación
$ kinit example_user
$ smbclient -L idm_client.idm.example.com -k
lp_load_ex: changing to config backend registry
NOTA
Si necesita utilizar ACLs de Windows de grano fino en su lugar, consulte Sección 3.9,
“Configuración de un recurso compartido que utiliza las ACL de Windows”.
Partes de esta sección fueron adoptadas de la documentación Setting up a Share Using POSIX ACLs
59
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Partes de esta sección fueron adoptadas de la documentación Setting up a Share Using POSIX ACLs
publicada en el Wiki de Samba. Licencia: CC BY 4.0. Autores y colaboradores: Ver la pestaña de historia
en la página de la Wiki.
Requisitos previos
Samba se ha configurado en uno de los siguientes modos:
Servidor autónomo
Procedimiento
# mkdir -p /srv/samba/example/
3. Establezca las ACL del sistema de archivos en el directorio. Para más detalles, consulte:
Sección 3.7.2, “Establecer ACLs estándar de Linux en un recurso compartido de Samba que
utiliza ACLs POSIX”
[example]
path = /srv/samba/example/
read only = no
NOTA
# testparm
6. Abra los puertos necesarios y recargue la configuración del cortafuegos mediante la utilidad
firewall-cmd:
60
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Requisitos previos
Procedimiento
NOTA
Recursos adicionales
Para más detalles sobre los permisos, consulte las páginas de manual chown(1) y chmod(1).
Las ACLs POSIX extendidas permiten configurar ACLs complejas con múltiples usuarios y grupos. Sin
embargo, sólo puede establecer los siguientes permisos:
No hay acceso
61
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Leer el acceso
Acceso de escritura
Control total
Si necesita los permisos finos de Windows, como Create folder / append data, configure el recurso
compartido para utilizar las ACL de Windows. Consulte Sección 3.9, “Configuración de un recurso
compartido que utiliza las ACL de Windows”.
El siguiente procedimiento muestra cómo habilitar las ACL extendidas en un recurso compartido.
Además, contiene un ejemplo sobre la configuración de ACL extendidas.
Requisitos previos
Procedimiento
heredar acls = si
Para más detalles, consulte la descripción del parámetro en la página de manual smb.conf(5).
62
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
c. Establezca los permisos de la entrada ACL other para denegar el acceso a los
usuarios que no coincidan con las demás entradas ACL:
Estos ajustes se aplican sólo a este directorio. En Windows, estas ACL se asignan al
modo This folder only.
3. Para permitir que los permisos establecidos en el paso anterior sean heredados por los
nuevos objetos del sistema de archivos creados en este directorio:
Con estos ajustes, el modo This folder only para los directores está ahora establecido
en This folder, subfolders, and files.
Domain\N - Usuarios del dominio Leer & ejecutar Esta carpeta, subcarpetas y archivos
63
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
[a] Samba asigna los permisos para esta entidad de seguridad desde la entrada ACL de other.
[d] En los nuevos objetos del sistema de archivos, el creador hereda automáticamente los permisos de este
principal.
[e] La configuración o la eliminación de estas entidades de seguridad de las ACL no es compatible con los
recursos compartidos que utilizan ACL POSIX.
[f] En los nuevos objetos del sistema de archivos, el grupo principal del creador hereda automáticamente los
permisos de este principal.
NOTA
Los permisos basados en acciones gestionan si un usuario, grupo o host puede acceder a
un recurso compartido. Estos ajustes no afectan a las ACL del sistema de archivos.
Utilice la configuración basada en los recursos compartidos para restringir el acceso a los recursos
compartidos, por ejemplo, para denegar el acceso desde determinados hosts.
Requisitos previos
Requisitos previos
Procedimiento
1. Por ejemplo, para permitir que todos los miembros del grupo Domain Users accedan a un
recurso compartido mientras se deniega el acceso a la cuenta user, añada los siguientes
parámetros a la configuración del recurso compartido:
64
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
El parámetro invalid users tiene mayor prioridad que el parámetro valid users. Por ejemplo, si
la cuenta user es miembro del grupo Domain Users, el acceso se deniega a esta cuenta
cuando se utiliza el ejemplo anterior.
Recursos adicionales
Para más detalles, consulte las descripciones de los parámetros en la página de manual
smb.conf(5).
Requisitos previos
El recurso compartido de Samba en el que desea establecer el acceso basado en el host existe.
Procedimiento
El parámetro hosts deny tiene mayor prioridad que hosts allow. Por ejemplo, si
client1.example.com resuelve a una dirección IP que aparece en el parámetro hosts allow, se
deniega el acceso a este host.
Recursos adicionales
Para más detalles, consulte las descripciones de los parámetros en la página de manual
smb.conf(5).
65
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Samba admite la configuración de ACL de Windows en los recursos compartidos y en el objeto del
sistema de archivos. Esto le permite:
Gestionar los permisos de uso compartido y las ACL del sistema de archivos mediante Windows
Alternativamente, puede configurar un recurso compartido para utilizar ACLs POSIX. Para más detalles,
consulte Sección 3.7, “Configuración de un archivo compartido Samba que utiliza ACLs POSIX” .
Partes de esta sección fueron adoptadas de la documentación Setting up a Share Using Windows ACLs
publicada en el Wiki de Samba. Licencia: CC BY 4.0. Autores y colaboradores: Ver la pestaña de historia
en la página de la Wiki.
Procedimiento
NOTA
2. Para listar todos los usuarios y grupos que tienen SeDiskOperatorPrivilege concedido:
Requisitos previos
Procedimiento
66
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
1. Para habilitarlo globalmente para todos los recursos compartidos, añada la siguiente
configuración a la sección [global] del archivo /etc/samba/smb.conf:
Como alternativa, puede habilitar el soporte de ACL de Windows para acciones individuales,
añadiendo los mismos parámetros a la sección de una acción.
Procedimiento
# mkdir -p /srv/samba/example/
[example]
path = /srv/samba/example/
read only = no
NOTA
4. Si no ha habilitado la compatibilidad con ACL de Windows en la sección [global] para todos los
recursos compartidos, añada los siguientes parámetros a la sección [example] para habilitar
esta función para este recurso compartido:
67
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
# testparm
6. Abra los puertos necesarios y recargue la configuración del cortafuegos mediante la utilidad
firewall-cmd:
3.9.4. Gestión de los permisos del recurso compartido y de las ACL del sistema de
archivos de un recurso compartido que utiliza las ACL de Windows
Para gestionar los permisos de uso compartido y las ACL del sistema de archivos en un recurso
compartido de Samba que utiliza ACL de Windows, utilice una aplicación de Windows, como Computer
Management. Para más detalles, consulte la documentación de Windows. Como alternativa, utilice la
utilidad smbcacls para gestionar las ACL.
NOTA
Para modificar los permisos del sistema de archivos desde Windows, debe utilizar una
cuenta que tenga concedido el privilegio SeDiskOperatorPrivilege.
Recursos adicionales
En un servidor Samba local o remoto que utiliza ACLs avanzadas de Windows o ACLs POSIX
En Red Hat Enterprise Linux para gestionar remotamente las ACL en un recurso compartido
alojado en Windows
security_principal:access_right/inheritance_information/permissions
Si el grupo AD\Domain Users tiene permisos de Modify que se aplican a This folder, subfolders,
68
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Si el grupo AD\Domain Users tiene permisos de Modify que se aplican a This folder, subfolders,
and files en Windows, la ACL contiene la siguiente ACE:
AD\N-Domain Users:ALLOWED/OI|CI/CHANGE
Seguridad principal
El principal de seguridad es el usuario, grupo o SID al que se aplican los permisos en la ACL.
Derecho de acceso
Define si se concede o se deniega el acceso a un objeto. El valor puede ser ALLOWED o DENIED.
Información sobre la herencia
Existen los siguientes valores:
Permisos
Este valor puede ser un valor hexadecimal que representa uno o más permisos de Windows o un alias
de smbcacls:
69
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Borrar 0x00110000
R Leer
70
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
W Especial:
Escribir atributos
Leer permisos
D Borrar
O Asumir la responsabilidad
X Atravesar/ejecutar
CHANGE Modificar
NOTA
Puede combinar alias de una sola letra cuando establezca los permisos. Por
ejemplo, puede establecer RD para aplicar el permiso de Windows Read y
Delete. Sin embargo, no puede combinar varios alias que no sean de una sola
letra ni combinar alias y valores hexadecimales.
Procedimiento
Por ejemplo, para listar las ACL del directorio raíz del recurso compartido //server/example:
71
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
ACL:AD\Administrator:ALLOWED/OI|CI/FULL
ACL:AD\Domain Users:ALLOWED/OI|CI/CHANGE
ACL:AD\Domain Guests:ALLOWED/OI|CI/0x00100021
ACL entradas. Para más detalles, véase Sección 3.10.1, “Entradas de control de acceso” .
Sin embargo, si desea establecer los permisos avanzados de Windows, como se indica en Tabla 3.3,
“Permisos de Windows y su correspondiente valor smbcacls en formato hexadecimal”, debe utilizar la
operación de bit a bit OR para calcular el valor correcto. Puede utilizar el siguiente comando del shell
para calcular el valor:
72
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Por ejemplo, para actualizar los permisos del grupo AD\Domain Users y establecerlos en READ para
This folder, subfolders, and files:
Por ejemplo, para permitir que sólo los miembros del grupo local example puedan crear recursos
compartidos de usuario.
Procedimiento
# groupadd example
2. Prepare el directorio para que Samba almacene las definiciones de recursos compartidos de los
usuarios y establezca sus permisos correctamente. Por ejemplo:
a. Crea el directorio:
# mkdir -p /var/lib/samba/usershares/
73
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
c. Establece el bit sticky para evitar que los usuarios renombren o borren los archivos
almacenados por otros usuarios en este directorio.
a. Establezca la ruta del directorio que configuró para almacenar las definiciones de recursos
compartidos de los usuarios. Por ejemplo:
b. Establece el número de recursos compartidos de usuario que Samba permite crear en este
servidor. Por ejemplo:
Si utilizas el valor por defecto de 0 para el parámetro usershare max shares, los recursos
compartidos de los usuarios están deshabilitados.
c. Opcionalmente, establezca una lista de rutas de directorio absolutas. Por ejemplo, para
configurar que Samba sólo permita compartir subdirectorios del directorio /data y /srv a
compartir, establezca:
Para obtener una lista de otros parámetros relacionados con el uso compartido de usuarios que
puede establecer, consulte la sección USERSHARES en la página de manual smb.conf(5).
# testparm
IMPORTANTE
74
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Tenga en cuenta que los usuarios sólo pueden habilitar el acceso de invitados en un recurso compartido
de usuario, si el administrador establece usershare allow guests = yes en la sección [global] en el
archivo /etc/samba/smb.conf.
Requisitos previos
Procedimiento
Para listar sólo los recursos compartidos creados por el usuario que ejecuta el comando, omita
el parámetro -l.
2. Para mostrar sólo la información sobre acciones específicas, pase el nombre de la acción o los
comodines al comando. Por ejemplo, para mostrar la información sobre los recursos
compartidos cuyo nombre empieza por share_:
75
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Si quiere listar sólo los recursos compartidos de usuario disponibles sin su configuración en un servidor
Samba, utilice el comando net usershare list.
Requisitos previos
Procedimiento
Para listar sólo los recursos compartidos creados por el usuario que ejecuta el comando, omita
el parámetro -l.
2. Para listar sólo acciones específicas, pase el nombre de la acción o los comodines al comando.
Por ejemplo, para listar sólo los recursos compartidos cuyo nombre empiece por share_:
Requisitos previos
Procedimiento
AVISO
76
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Procedimiento
a. Si este es el primer recurso compartido para invitados que configuras en este servidor:
[global]
...
map to guest = Bad User
Con esta configuración, Samba rechaza los intentos de inicio de sesión que utilizan una
contraseña incorrecta a menos que el nombre de usuario no exista. Si el nombre de
usuario especificado no existe y el acceso de invitados está habilitado en un recurso
compartido, Samba trata la conexión como un inicio de sesión de invitado.
ii. Por defecto, Samba asigna la cuenta de invitado a la cuenta nobody en Red Hat
Enterprise Linux. Alternativamente, puede establecer una cuenta diferente. Por
ejemplo:
[global]
...
guest account = user_name
77
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
[example]
...
guest ok = yes
# testparm
NOTA
Red Hat recomienda habilitar el módulo fruit de forma global. Los clientes que utilizan
macOS negocian las extensiones del protocolo Apple (AAPL) del bloque de mensajes del
servidor versión 2 (SMB2) cuando el cliente establece la primera conexión con el
servidor. Si el cliente se conecta por primera vez a un recurso compartido sin las
extensiones AAPL habilitadas, el cliente no utiliza las extensiones para ningún recurso
compartido del servidor.
Requisitos previos
Procedimiento
IMPORTANTE
78
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
# testparm
Recursos adicionales
Para más detalles sobre el módulo VFS fruit, consulte la página man vfs_fruit(8).
Sección 3.7, “Configuración de un archivo compartido Samba que utiliza ACLs POSIX”
Sección 3.9, “Configuración de un recurso compartido que utiliza las ACL de Windows” .
Requisitos previos
Después de que smbclient se haya conectado con éxito al recurso compartido, la utilidad entra en el
modo interactivo y muestra el siguiente aviso:
smb: \N >
79
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Recursos adicionales
Para más detalles y descripciones de los comandos disponibles en el shell interactivo, consulte
la página de manual smbclient(1).
Procedimiento
1. Conéctate a la acción:
smb: \example\> ls
. D 0 Thu Nov 1 10:00:00 2018
.. D 0 Thu Nov 1 10:00:00 2018
example.txt N 1048576 Thu Nov 1 10:00:00 2018
5. Desconéctate de la acción:
Procedimiento
Partes de esta sección han sido adoptadas de la documentación de Configuración de Samba como
servidor de impresión publicada en el Wiki de Samba. Licencia: CC BY 4.0. Autores y colaboradores: Ver
la pestaña de historia en la página de la Wiki.
Requisitos previos
Samba se ha configurado en uno de los siguientes modos:
Servidor autónomo
Sin spoolssd, Samba bifurca el proceso smbd e inicializa la caché printcap para cada trabajo de
impresión. En el caso de un gran número de impresoras, el servicio smbd puede dejar de responder
durante varios segundos mientras se inicializa la caché. El servicio spoolssd permite iniciar procesos
smbd preforkados que están procesando trabajos de impresión sin ningún retraso. El proceso principal
spoolssd smbd utiliza una cantidad baja de memoria, y bifurca y termina los procesos hijos.
Procedimiento
rpc_server:spoolss = external
rpc_daemon:spoolssd = fork
81
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
# testparm
Después de reiniciar el servicio, Samba inicia automáticamente los procesos hijos de smbd:
# ps axf
...
30903 smbd
30912 \_ smbd
30913 \_ smbd
30914 \_ smbd
30915 \_ smbd
...
Procedimiento
82
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
1. En el servidor Samba, configure CUPS y añada la impresora al back end de CUPS. Para más
detalles sobre la configuración de impresoras en CUPS; consulte la documentación
proporcionada en la consola web de CUPS (https://print_server_host_name:631/help) en el
servidor de impresión.
NOTA
Samba sólo puede reenviar los trabajos de impresión a CUPS si éste está
instalado localmente en el servidor de impresión Samba.
a. Si desea activar el servicio spoolssd, añada los siguientes parámetros a la sección [global]:
rpc_server:spoolss = external
rpc_daemon:spoolssd = fork
[printers]
comment = All Printers
path = /var/tmp/
printable = yes
create mask = 0600
IMPORTANTE
# testparm
4. Abra los puertos necesarios y recargue la configuración del cortafuegos mediante la utilidad
firewall-cmd:
Después de reiniciar el servicio, Samba comparte automáticamente todas las impresoras que están
configuradas en el back-end de CUPS. Si desea compartir manualmente sólo impresoras específicas,
consulte Sección 3.15.3, “Compartir manualmente impresoras específicas” .
83
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Requisitos previos
Procedimiento
cargar impresoras = no
b. Añade una sección para cada impresora que quieras compartir. Por ejemplo, para compartir
la impresora llamada example en el back end de CUPS como Example-Printer en Samba,
añada la siguiente sección:
[Example-Printer]
path = /var/tmp/
printable = yes
printer name = example
# testparm
Requisitos previos
84
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
a. Inicie el instalador.
c. Cancelar la instalación.
Pregunte al fabricante de su impresora por los controladores que admiten la carga en un servidor de
impresión.
Procedimiento
NOTA
85
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
NOTA
2. Para listar todos los usuarios y grupos que tienen SePrintOperatorPrivilege concedido:
Procedimiento
[print$]
path = /var/lib/samba/drivers/
read only = no
write list = @printadmin
force group = @printadmin
create mask = 0664
directory mask = 2775
Sólo los miembros del grupo printadmin pueden cargar controladores de impresora en el
recurso compartido.
2. Para cargar sólo los controladores de 64 bits para todas las impresoras, incluya esta
configuración en la sección [global] del archivo /etc/samba/smb.conf:
Sin esta configuración, Windows sólo muestra los controladores para los que se ha cargado al
menos la versión de 32 bits.
86
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
# testparm
# groupadd printadmin
Authenticated Leer & ejecutar, Listar el contenido Esta carpeta, subcarpetas y archivos
Users de la carpeta, Leer
Recursos adicionales
3.16.4. Creación de un GPO para que los clientes confíen en el servidor de impresión
Samba
Por razones de seguridad, los sistemas operativos Windows más recientes impiden que los clientes
87
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Por razones de seguridad, los sistemas operativos Windows más recientes impiden que los clientes
descarguen controladores de impresora no compatibles con el paquete desde un servidor no fiable. Si
su servidor de impresión es miembro de un AD, puede crear un objeto de directiva de grupo (GPO) en
su dominio para confiar en el servidor Samba.
Requisitos previos
El ordenador con Windows que utilice para crear el GPO debe tener instaladas las Herramientas
de Administración Remota de Servidores de Windows (RSAT). Para más detalles, consulte la
documentación de Windows.
Procedimiento
1. Inicie sesión en un equipo Windows con una cuenta que tenga permiso para editar las políticas
de grupo, como el usuario del dominio AD Administrator.
3. Haga clic con el botón derecho del ratón en su dominio AD y seleccione Create a GPO in this
domain, and Link it here.
4. Introduzca un nombre para el GPO, como Legacy Printer Driver Policy y haga clic en OK. El
nuevo GPO aparecerá bajo la entrada del dominio.
5. Haga clic con el botón derecho del ratón en el GPO recién creado y seleccione Edit para abrir la
página Group Policy Management Editor.
88
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
7. En la parte derecha de la ventana, haga doble clic en Point and Print Restriction para editar la
política:
i. Seleccione Users can only point and print to these servers e introduzca el nombre
de dominio completo (FQDN) del servidor de impresión Samba en el campo situado
junto a esta opción.
ii. En las dos casillas de Security Prompts, seleccione Do not show warning or
elevation prompt.
89
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
8. Haga doble clic en Package Point and Print - Approved servers para editar la política:
90
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
c. Cierre tanto la ventana Show Contents como la de propiedades de la política haciendo clic
en OK.
Después de que los miembros del dominio de Windows aplicaran la política de grupo, los controladores
de impresora se descargan automáticamente del servidor Samba cuando un usuario se conecta a una
impresora.
Recursos adicionales
Para más detalles sobre el uso de las políticas de grupo, consulte la documentación de Windows.
Partes de esta sección han sido adoptadas de la documentación de Performance Tuning publicada en el
Wiki de Samba. Licencia: CC BY 4.0. Autores y colaboradores: Ver la pestaña de historia en la página de
la Wiki.
Requisitos previos
91
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
sistemas operativos Windows y Windows Server siempre admiten la última versión del protocolo. Si
Samba también utiliza la última versión del protocolo, los clientes de Windows que se conectan a Samba
se benefician de las mejoras de rendimiento. En Samba, el valor por defecto del protocolo máximo del
servidor se establece en la última versión estable del protocolo SMB soportada.
NOTA
Para tener siempre habilitada la última versión estable del protocolo SMB, no configure
el parámetro server max protocol. Si establece el parámetro manualmente, tendrá que
modificar la configuración con cada nueva versión del protocolo SMB, para tener
habilitada la última versión del protocolo.
El siguiente procedimiento explica cómo utilizar el valor por defecto en el parámetro server max
protocol.
Procedimiento
3.17.2. Ajuste de los recursos compartidos con directorios que contienen un gran
número de archivos
Linux admite nombres de archivo que distinguen mayúsculas y minúsculas. Por esta razón, Samba
necesita escanear los directorios en busca de nombres de archivo en mayúsculas y minúsculas cuando
busca o accede a un archivo. Puede configurar un recurso compartido para crear nuevos archivos sólo
en minúsculas o mayúsculas, lo que mejora el rendimiento.
Requisitos previos
Procedimiento
NOTA
Utilizando los ajustes de este procedimiento, los archivos con nombres que no
estén en minúsculas ya no se mostrarán.
Para más detalles sobre los parámetros, consulte sus descripciones en la página man
92
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Para más detalles sobre los parámetros, consulte sus descripciones en la página man
smb.conf(5).
# testparm
Después de aplicar estos ajustes, los nombres de todos los archivos recién creados en este recurso
compartido utilizan minúsculas. Debido a estos ajustes, Samba ya no necesita escanear el directorio en
busca de mayúsculas y minúsculas, lo que mejora el rendimiento.
Para utilizar la configuración optimizada del Kernel, elimine el parámetro socket options de la sección
[global] en el sitio web /etc/samba/smb.conf.
3.18.1. Establecer la versión mínima del protocolo SMB soportada por un servidor
Samba
En Samba, el parámetro server min protocol en el archivo /etc/samba/smb.conf define la versión
mínima del protocolo de bloque de mensajes del servidor (SMB) que soporta el servidor Samba. Esta
sección describe cómo cambiar la versión mínima del protocolo SMB.
NOTA
Por defecto, Samba en RHEL 8.2 y posteriores sólo soporta el protocolo SMB2 y
versiones más recientes. Red Hat recomienda no utilizar el protocolo obsoleto SMB1. Sin
embargo, si su entorno requiere SMB1, puede establecer manualmente el parámetro
server min protocol a NT1 para volver a habilitar SMB1.
Requisitos previos
93
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Procedimiento
Recursos adicionales
Para obtener una lista de las versiones de protocolo que puede establecer en el parámetro
server min protocol, consulte la descripción del parámetro server max protocol en la página
de manual smb.conf(5).
3.19.1. Uso de los comandos net ads join y net rpc join
Utilizando el subcomando join de la utilidad net, puede unir Samba a un dominio AD o NT4. Para unirse
al dominio, debe crear el archivo /etc/samba/smb.conf manualmente y, opcionalmente, actualizar las
configuraciones adicionales, como PAM.
IMPORTANTE
Red Hat recomienda utilizar la utilidad realm para unirse a un dominio. La utilidad realm
actualiza automáticamente todos los archivos de configuración involucrados.
Procedimiento
[global]
workgroup = domain_name
security = ads
passdb backend = tdbsam
realm = AD_REALM
[global]
workgroup = domain_name
security = user
passdb backend = tdbsam
2. Añada una configuración de asignación de ID para el dominio por defecto * y para el dominio al
94
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
2. Añada una configuración de asignación de ID para el dominio por defecto * y para el dominio al
que desea unirse a la sección [global] en el archivo /etc/samba/smb.conf.
# testparm
Recursos adicionales
95
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Concesión de privilegios
Para conceder un privilegio a una cuenta o grupo, utilice el comando net rpc rights grant.
Revocación de privilegios
Para revocar un privilegio de una cuenta o grupo, utilice el comando net rpc rights revoke.
Acciones de la lista
Para listar los recursos compartidos de un servidor SMB, utilice el comando net rpc share list.
Opcionalmente, pase el parámetro -S server_name al comando para listar los recursos compartidos de
un servidor remoto. Por ejemplo:
NOTA
Por ejemplo, para añadir un recurso compartido llamado example en un servidor Windows remoto que
96
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Por ejemplo, para añadir un recurso compartido llamado example en un servidor Windows remoto que
comparte el directorio C:\example\:
NOTA
Debe omitir la barra invertida final en la ruta cuando especifique un nombre de directorio
de Windows.
Debe escribir un script que añada una sección de recursos compartidos al archivo
/etc/samba/smb.conf y recargue Samba. El script debe establecerse en el parámetro add
share command en la sección [global] en /etc/samba/smb.conf. Para más detalles, consulte la
descripción de add share command en la página man de smb.conf(5).
Por ejemplo, para eliminar el recurso compartido llamado ejemplo de un servidor Windows remoto:
Debe escribir un script que elimine la sección del recurso compartido del archivo
/etc/samba/smb.conf y vuelva a cargar Samba. El script debe establecerse en el parámetro
delete share command de la sección [global] en /etc/samba/smb.conf. Para más detalles,
consulte la descripción de delete share command en la página man de smb.conf(5).
Añadir usuarios
Eliminar usuarios
NOTA
Especificar un método de conexión, como ads para dominios AD o rpc para dominios
NT4, sólo es necesario cuando se listan cuentas de usuario de dominio. Otros
subcomandos relacionados con los usuarios pueden autodetectar el método de conexión.
Pase el parámetro -U user_name al comando para especificar un usuario que esté autorizado a realizar
97
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Pase el parámetro -U user_name al comando para especificar un usuario que esté autorizado a realizar
la acción solicitada.
1. Añade la cuenta:
2. Opcionalmente, utilice el shell de llamada a procedimiento remoto (RPC) para habilitar la cuenta
en el DC de AD o en el PDC de NT4. Por ejemplo:
Requisitos previos
98
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Ejemplos
Por ejemplo, puede utilizar la utilidad rpcclient para:
Recursos adicionales
Para obtener una lista completa de los subcomandos admitidos, consulte la sección COMMANDS en la
página de manual rpcclient(1).
99
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Requisitos previos
Procedimiento
Para iniciar la aplicación, introduzca:
# samba-regedit
Cursor arriba y cursor abajo: Navegar por el árbol del registro y los valores.
El procedimiento de esta sección muestra cómo recargar la configuración de los servicios smbd, nmbd,
winbindd enviando el tipo de mensaje reload-config al destino all.
Requisitos previos
Procedimiento
100
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
Recursos adicionales
Para más detalles y una lista de los tipos de mensajes de comando disponibles, consulte la página de
manual smbcontrol(1).
Requisitos previos
Procedimiento
1. Si ejecuta el comando como usuario, smbpasswd cambia la contraseña de Samba del usuario
que ejecuta el comando. Por ejemplo:
2. Si ejecuta smbpasswd como usuario de root, puede utilizar la utilidad, por ejemplo, para
NOTA
Eliminar un usuario:
101
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Recursos adicionales
Para más detalles, consulte la página de manual smbpasswd(8).
Conexiones por PID de cada demonio smbd al servidor Samba. Este informe incluye el nombre
de usuario, el grupo principal, la versión del protocolo SMB, el cifrado y la información de firma.
Conexiones por recurso compartido Samba. Este informe incluye el PID del demonio smbd, la
IP de la máquina que se conecta, la marca de tiempo cuando se estableció la conexión, el
cifrado y la información de firma.
Una lista de archivos bloqueados. Las entradas del informe incluyen más detalles, como los tipos
de bloqueo oportunista (oplock)
Requisitos previos
Procedimiento
# smbstatus
Locked files:
Pid Uid DenyMode Access R/W Oplock SharePath Name Time
....--------------------------------------------------------------------------------------------------------
969 10000 DENY_WRITE 0x120089 RDONLY LEASE(RWH) /srv/samba/example file.txt Thu
Nov 1 10:00:00 2018
Recursos adicionales
Para más detalles, consulte la página de manual smbstatus(1).
102
CAPÍTULO 3. USO DE SAMBA COMO SERVIDOR
La utilidad smbtar hace una copia de seguridad del contenido de un recurso compartido SMB o de un
subdirectorio del mismo y almacena el contenido en un archivo tar. Como alternativa, puede escribir el
contenido en un dispositivo de cinta.
Requisitos previos
Procedimiento
Utilice el siguiente comando para hacer una copia de seguridad del contenido del directorio
demo en el recurso compartido //server/example/ y almacenar el contenido en el archivo
/root/example.tar:
Recursos adicionales
Para más detalles, consulte la página de manual smbtar(1).
Requisitos previos
Procedimiento
Puede utilizar wbinfo, por ejemplo, para:
# wbinfo -u
AD\administrator
AD\guest
...
# wbinfo -g
AD\domain computers
AD\domain admins
AD\domain users
...
# wbinfo --name-to-sid="AD\administrator"
S-1-5-21-1762709870-351891212-3141221786-500 SID_USER (1)
103
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Recursos adicionales
Para más detalles, consulte la página de manual wbinfo(1).
# man smb.conf
Para más detalles sobre el montaje de un recurso compartido SMB en Red Hat Enterprise Linux,
consulte Montaje de un recurso compartido SMB en Red Hat Enterprise Linux .
104
CAPÍTULO 4. EXPORTACIÓN DE RECURSOS COMPARTIDOS NFS
Un sistema de archivos de red (NFS) permite a los hosts remotos montar sistemas de archivos a través
de una red e interactuar con esos sistemas de archivos como si estuvieran montados localmente. Esto
permite consolidar los recursos en servidores centralizados en la red.
El servidor NFS consulta el archivo de configuración /etc/exports para determinar si el cliente puede
acceder a cualquier sistema de archivos exportado. Una vez verificado, todas las operaciones de
archivos y directorios están disponibles para el usuario.
Actualmente, Red Hat Enterprise Linux 8 soporta las siguientes versiones principales de NFS:
105
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
en un archivo.
Etiquetado NFS
Aplica los derechos de acceso a los datos y habilita las etiquetas SELinux entre un cliente y un
servidor para archivos individuales en un sistema de archivos NFS.
Mejoras en el diseño
Proporciona la operación layoutstats(), que permite a algunos servidores NFS paralelos (pNFS)
recoger mejores estadísticas de rendimiento.
Mejora el rendimiento y la seguridad de la red, y también incluye soporte del lado del cliente
para pNFS.
Ya no se requiere una conexión TCP independiente para las devoluciones de llamada, lo que
permite a un servidor NFS conceder delegaciones incluso cuando no puede contactar con el
cliente: por ejemplo, cuando interfiere NAT o un cortafuegos.
Proporciona la semántica de "exactamente una vez" (excepto para las operaciones de reinicio),
evitando un problema anterior por el que ciertas operaciones devolvían a veces un resultado
inexacto si se perdía una respuesta y la operación se enviaba dos veces.
NFSv3 también podía utilizar el Protocolo de Datagrama de Usuario (UDP) en versiones anteriores de
Red Hat Enterprise Linux. En Red Hat Enterprise Linux 8, NFS sobre UDP ya no está soportado. Por
defecto, UDP está desactivado en el servidor NFS.
Red Hat Enterprise Linux utiliza una combinación de soporte a nivel de kernel y procesos de servicio
para proporcionar el intercambio de archivos NFS. Todas las versiones de NFS se basan en llamadas de
procedimiento remoto (RPC) entre clientes y servidores. Para compartir o montar sistemas de archivos
NFS, los servicios siguientes trabajan juntos dependiendo de la versión de NFS implementada:
nfsd
El módulo del núcleo del servidor NFS que atiende las solicitudes de sistemas de archivos NFS
compartidos.
rpcbind
Acepta las reservas de puertos de los servicios RPC locales. Estos puertos se ponen a disposición (o
se anuncian) para que los servicios RPC remotos correspondientes puedan acceder a ellos. El servicio
rpcbind responde a las solicitudes de servicios RPC y establece conexiones con el servicio RPC
solicitado. Esto no se utiliza con NFSv4.
rpc.mountd
Este proceso es utilizado por un servidor NFS para procesar las solicitudes MOUNT de los clientes
NFSv3. Comprueba que el recurso compartido NFS solicitado está actualmente exportado por el
servidor NFS y que el cliente puede acceder a él. Si la solicitud de montaje está permitida, el servicio
106
CAPÍTULO 4. EXPORTACIÓN DE RECURSOS COMPARTIDOS NFS
Recursos adicionales
Para configurar un servidor sólo NFSv4, que no requiere rpcbind, consulte Sección 4.14,
“Configuración de un servidor sólo NFSv4”.
107
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Máquina individual
Cualquiera de los siguientes:
Un nombre de dominio completamente calificado (que pueda ser resuelto por el servidor)
Redes IP
Cualquiera de los siguientes formatos es válido:
Netgroups
El formato @group-name formato , donde group-name es el nombre del grupo de red NIS.
Para añadir un comentario, inicie una línea con la marca de almohadilla (#).
Puede envolver las líneas largas con una barra invertida (\).
Las opciones para cada uno de los hosts deben colocarse entre paréntesis directamente
después del identificador del host, sin espacios de separación entre el host y el primer
paréntesis.
Entrada de exportación
Cada entrada de un sistema de archivos exportado tiene la siguiente estructura:
export host(options)
108
CAPÍTULO 4. EXPORTACIÓN DE RECURSOS COMPARTIDOS NFS
También es posible especificar varios hosts, junto con opciones específicas para cada uno de ellos. Para
ello, escríbalos en la misma línea como una lista delimitada por espacios, con cada nombre de host
seguido de sus respectivas opciones (entre paréntesis), como en:
En esta estructura:
export
El directorio que se exporta
host
El host o la red a la que se comparte la exportación
options
Las opciones que se utilizarán para el anfitrión
En su forma más simple, el archivo /etc/exports sólo especifica el directorio exportado y los hosts
autorizados a acceder a él:
/exportado/directorio bob.ejemplo.com
IMPORTANTE
El formato del archivo /etc/exports es muy preciso, sobre todo en lo que respecta al uso
del carácter de espacio. Recuerde que siempre debe separar los sistemas de archivos
exportados de los hosts y los hosts entre sí con un carácter de espacio. Sin embargo, no
debe haber ningún otro carácter de espacio en el archivo, excepto en las líneas de
comentario.
/home bob.example.com(rw)
/home bob.example.com (rw)
La primera línea permite que sólo los usuarios de bob.example.com tengan acceso de
lectura y escritura al directorio /home. La segunda línea permite a los usuarios de
bob.example.com montar el directorio como sólo lectura (el valor predeterminado),
mientras que el resto del mundo puede montarlo como lectura/escritura.
ro
El sistema de archivos exportado es de sólo lectura. Los hosts remotos no pueden cambiar los datos
compartidos en el sistema de archivos. Para permitir a los hosts realizar cambios en el sistema de
archivos (es decir, leer y escribir), especifique la opción rw.
109
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
sync
El servidor NFS no responderá a las solicitudes antes de que los cambios realizados por las
solicitudes anteriores se escriban en el disco. Para habilitar las escrituras asíncronas en su lugar,
especifique la opción async.
wdelay
El servidor NFS retrasará la escritura en el disco si sospecha que otra petición de escritura es
inminente. Esto puede mejorar el rendimiento, ya que reduce el número de veces que se debe
acceder al disco mediante comandos de escritura separados, reduciendo así la sobrecarga de
escritura. Para desactivar esto, especifique la opción no_wdelay, que sólo está disponible si también
se especifica la opción de sincronización por defecto.
root_squash
Esto evita que los usuarios root conectados remotamente (en lugar de localmente) tengan privilegios
de root; en su lugar, el servidor NFS les asigna el ID de usuario nobody. Esto efectivamente "aplasta"
el poder del usuario root remoto al usuario local más bajo, evitando posibles escrituras no
autorizadas en el servidor remoto. Para desactivar el aplastamiento de la raíz, especifique la opción
no_root_squash.
Para aplastar a todos los usuarios remotos (incluido el root), utilice la opción all_squash. Para
especificar los identificadores de usuario y grupo que el servidor NFS debe asignar a los usuarios
remotos de un determinado host, utilice las opciones anonuid y anongid, respectivamente, como
en:
export host(anonuid=uid,anongid=gid)
Aquí, uid y gid son el número de identificación del usuario y el número de identificación del grupo,
respectivamente. Las opciones anonuid y anongid permiten crear una cuenta especial de usuario y
de grupo para que los usuarios remotos de NFS la compartan.
Por defecto, las listas de control de acceso (ACL) son soportadas por NFS bajo Red Hat Enterprise
Linux. Para desactivar esta función, especifique la opción no_acl al exportar el sistema de archivos.
/otro/exportado/directorio 192.168.0.3(rw,async)
-r
Hace que se exporten todos los directorios listados en /etc/exports construyendo una nueva lista de
110
CAPÍTULO 4. EXPORTACIÓN DE RECURSOS COMPARTIDOS NFS
Hace que se exporten todos los directorios listados en /etc/exports construyendo una nueva lista de
exportación en /etc/lib/nfs/xtab. Esta opción actualiza efectivamente la lista de exportación con
cualquier cambio realizado en /etc/exports.
-a
Hace que se exporten o no todos los directorios, dependiendo de qué otras opciones se pasen a
exportfs. Si no se especifican otras opciones, exportfs exporta todos los sistemas de archivos
especificados en /etc/exports.
-o file-systems
Especifica los directorios a exportar que no aparecen en /etc/exports. Sustituya file-systems con los
sistemas de archivos adicionales que se van a exportar. Estos sistemas de archivos deben tener el
mismo formato que el especificado en /etc/exports. Esta opción suele utilizarse para probar un
sistema de archivos exportado antes de añadirlo permanentemente a la lista de sistemas de archivos
exportados.
-i
Ignora /etc/exports; sólo se utilizan las opciones dadas desde la línea de comandos para definir los
sistemas de archivos exportados.
-u
Desexporta todos los directorios compartidos. El comando exportfs -ua suspende la compartición
de archivos NFS mientras mantiene todos los servicios NFS activos. Para volver a habilitar el uso
compartido de NFS, utilice exportfs -r.
-v
Operación verbosas, donde los sistemas de archivos que se exportan o no se exportan se muestran
con mayor detalle cuando se ejecuta el comando exportfs.
Si no se pasan opciones a la utilidad exportfs, ésta muestra una lista de los sistemas de archivos
exportados actualmente.
Recursos adicionales
Para obtener información sobre los diferentes métodos para especificar los nombres de host,
consulte Sección 4.5, “Formatos de nombres de host NFS” .
Para obtener una lista completa de las opciones de exportación, consulte la página de manual
exports(5).
Para más información sobre la utilidad exportfs, consulte la página de manual exportfs(8).
El servicio rpcbind asigna los servicios de llamada a procedimiento remoto (RPC) a los puertos en los
que escuchan. Los procesos RPC notifican a rpcbind cuando se inician, registrando los puertos en los
que escuchan y los números de programa RPC que esperan servir. A continuación, el sistema cliente se
pone en contacto con rpcbind en el servidor con un número de programa RPC concreto. El servicio
rpcbind redirige al cliente al número de puerto adecuado para que pueda comunicarse con el servicio
solicitado.
Dado que los servicios basados en RPC dependen de rpcbind para realizar todas las conexiones con las
solicitudes de los clientes entrantes, rpcbind debe estar disponible antes de que se inicie cualquiera de
estos servicios.
Las reglas de control de acceso para rpcbind afectan a todos los servicios basados en RPC.
111
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Las reglas de control de acceso para rpcbind afectan a todos los servicios basados en RPC.
Alternativamente, es posible especificar reglas de control de acceso para cada uno de los demonios
RPC de NFS.
Recursos adicionales
Para conocer la sintaxis precisa de las reglas de control de acceso, consulte las páginas de
manual rpc.mountd(8) y rpc.statd(8).
Procedimiento
Requisitos previos
En el caso de los servidores que admiten conexiones NFSv2 o NFSv3, el servicio rpcbind debe
estar en funcionamiento. Para comprobar que rpcbind está activo, utilice el siguiente comando:
Procedimiento
Para iniciar el servidor NFS y permitir que se inicie automáticamente en el arranque, utilice el
siguiente comando:
Recursos adicionales
Para configurar un servidor sólo NFSv4, que no requiere rpcbind, consulte Sección 4.14,
“Configuración de un servidor sólo NFSv4”.
112
CAPÍTULO 4. EXPORTACIÓN DE RECURSOS COMPARTIDOS NFS
puerto utilizados para comunicarse con ellos, es útil ver el estado de los servicios RPC actuales
utilizando rpcbind cuando se solucionan problemas. La utilidad rpcinfo muestra cada servicio basado
en RPC con números de puerto, un número de programa RPC, un número de versión y un tipo de
protocolo IP (TCP o UDP).
Procedimiento
1. Para asegurarse de que los servicios basados en NFS RPC están habilitados para rpcbind,
utilice el siguiente comando:
# rpcinfo -p
Si uno de los servicios NFS no se inicia correctamente, rpcbind no podrá asignar las peticiones
RPC de los clientes para ese servicio al puerto correcto.
2. En muchos casos, si NFS no está presente en la salida de rpcinfo, reiniciar NFS hace que el
servicio se registre correctamente en rpcbind y comience a funcionar:
Recursos adicionales
Para obtener más información y una lista de opciones de rpcinfo, consulte la página de manual
rpcinfo(8).
113
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Para configurar un servidor sólo NFSv4, que no requiere rpcbind, consulte Sección 4.14,
“Configuración de un servidor sólo NFSv4”.
Procedimiento
1. Para permitir que los clientes accedan a los recursos compartidos NFS detrás de un
cortafuegos, establezca en qué puertos se ejecutan los servicios RPC en la sección [mountd]
del archivo /etc/nfs.conf:
[mountd]
port=port-number
2. Para permitir que los clientes accedan a los recursos compartidos de NFS detrás de un firewall,
configure el firewall ejecutando los siguientes comandos en el servidor NFS:
3. Para permitir que las devoluciones de llamada de NFSv4.0 atraviesen los cortafuegos, configure
/proc/sys/fs/nfs/nfs_callback_tcpport y permita que el servidor se conecte a ese puerto en el
cliente.
Este paso no es necesario para NFSv4.1 o superior, y los otros puertos para mountd, statd, y
lockd no son necesarios en un entorno NFSv4 puro.
4. Para especificar los puertos que utilizará el servicio RPC nlockmgr, establezca el número de
puerto para las opciones nlm_tcpport y nlm_udpport en el archivo
/etc/modprobe.d/lockd.conf.
114
CAPÍTULO 4. EXPORTACIÓN DE RECURSOS COMPARTIDOS NFS
# rpcinfo -p
Recursos adicionales
Para configurar un servidor sólo NFSv4, que no requiere rpcbind, consulte Sección 4.14,
“Configuración de un servidor sólo NFSv4”.
Procedimiento
NOTA
2. Para que el servicio RPC de cuotas sea accesible detrás de un cortafuegos, el puerto TCP (o
UDP, si está habilitado) 875 debe estar abierto. El número de puerto por defecto se define en el
archivo /etc/services.
Puede anular el número de puerto por defecto añadiendo -p port-number a la variable
RPCRQUOTADOPTS en el archivo /etc/sysconfig/rpc-rquotad.
3. Por defecto, los hosts remotos sólo pueden leer las cuotas. Si desea permitir que los clientes
establezcan cuotas, añada la opción -S a la variable RPCRQUOTADOPTS en el archivo
/etc/sysconfig/rpc-rquotad.
Procedimiento
115
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
2. Para activar la carga automática de los módulos NFSoRDMA server, añada la opción
SVCRDMA_LOAD=yes en una nueva línea del archivo de configuración /etc/rdma/rdma.conf.
La opción rdma=20049 en la sección [nfsd] del archivo /etc/nfs.conf especifica el número de
puerto en el que el servicio NFSoRDMA escucha a los clientes. El estándar RFC 5667 especifica
que los servidores deben escuchar en el puerto 20049 cuando proporcionan servicios NFSv4
sobre RDMA.
Recursos adicionales
Por defecto, el servidor NFS soporta conexiones NFSv3 y NFSv4 en Red Hat Enterprise Linux 8. Sin
embargo, también puede configurar NFS para que sólo soporte la versión 4.0 y posteriores. Esto
minimiza el número de puertos abiertos y servicios en ejecución en el sistema, porque NFSv4 no
requiere que el servicio rpcbind escuche en la red.
Cuando su servidor NFS está configurado como NFSv4 solamente, los clientes que intentan montar
recursos compartidos usando NFSv3 fallan con un error como el siguiente:
Los clientes que intentan montar recursos compartidos desde su servidor utilizando NFSv3 no
responden.
El servicio rpcbind asigna los servicios de llamada a procedimiento remoto (RPC) a los puertos en los
116
CAPÍTULO 4. EXPORTACIÓN DE RECURSOS COMPARTIDOS NFS
que escuchan. Los procesos RPC notifican a rpcbind cuando se inician, registrando los puertos en los
que escuchan y los números de programa RPC que esperan servir. A continuación, el sistema cliente se
pone en contacto con rpcbind en el servidor con un número de programa RPC concreto. El servicio
rpcbind redirige al cliente al número de puerto adecuado para que pueda comunicarse con el servicio
solicitado.
Dado que los servicios basados en RPC dependen de rpcbind para realizar todas las conexiones con las
solicitudes de los clientes entrantes, rpcbind debe estar disponible antes de que se inicie cualquiera de
estos servicios.
Las reglas de control de acceso para rpcbind afectan a todos los servicios basados en RPC.
Alternativamente, es posible especificar reglas de control de acceso para cada uno de los demonios
RPC de NFS.
Recursos adicionales
Para conocer la sintaxis precisa de las reglas de control de acceso, consulte las páginas de
manual rpc.mountd(8) y rpc.statd(8).
Procedimiento
1. Desactive NFSv3 añadiendo las siguientes líneas a la sección [nfsd] del archivo de
configuración /etc/nfs.conf:
[nfsd]
vers3=no
Procedimiento
Utilice la utilidad netstat para listar los servicios que escuchan en los protocolos TCP y UDP:
117
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
En comparación, la salida de netstat antes de configurar un servidor sólo NFSv4 incluye los
servicios sunrpc y mountd:
118
CAPÍTULO 4. EXPORTACIÓN DE RECURSOS COMPARTIDOS NFS
119
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
El servidor restringe qué hosts pueden montar qué sistemas de archivos, ya sea por dirección IP
o por nombre de host.
El servidor aplica los permisos del sistema de archivos para los usuarios de los clientes NFS de la
misma manera que lo hace para los usuarios locales. Tradicionalmente, NFS hace esto utilizando
el mensaje de llamada AUTH_SYS (también llamado AUTH_UNIX), que depende de que el
cliente indique el UID y el GID del usuario. Ten en cuenta que esto significa que un cliente
malicioso o mal configurado podría fácilmente equivocarse y permitir a un usuario el acceso a
archivos que no debería.
Para limitar los riesgos potenciales, los administradores a menudo limitan el acceso a sólo lectura o
aplastan los permisos de usuario a un ID de usuario y grupo común. Lamentablemente, estas soluciones
impiden que el recurso compartido NFS se utilice de la forma prevista originalmente.
Además, si un atacante se hace con el control del servidor DNS utilizado por el sistema que exporta el
sistema de archivos NFS, puede apuntar el sistema asociado a un determinado nombre de host o
nombre de dominio completo a una máquina no autorizada. En este punto, la máquina no autorizada is el
sistema permitido para montar el recurso compartido NFS, porque no se intercambia información de
nombre de usuario o contraseña para proporcionar seguridad adicional para el montaje NFS.
Los comodines deben utilizarse con moderación al exportar directorios a través de NFS, ya que es
posible que el alcance del comodín abarque más sistemas de los previstos.
Recursos adicionales
Para asegurar NFS y rpcbind, utilice, por ejemplo, nftables y firewalld. Para obtener detalles
sobre la configuración de estos marcos, consulte las páginas de manual nft(8) y firewalld-
cmd(1).
Kerberos es un sistema de autenticación de red que permite a los clientes y a los servidores autenticarse
120
CAPÍTULO 5. ASEGURAR NFS
Kerberos es un sistema de autenticación de red que permite a los clientes y a los servidores autenticarse
entre sí mediante el uso de encriptación simétrica y una tercera parte de confianza, el KDC. Red Hat
recomienda utilizar Identity Management (IdM) para configurar Kerberos.
Requisitos previos
Procedimiento
Añade las claves correspondientes a los keytabs del cliente y del servidor.
2. En el lado del servidor, utilice la opción sec= para habilitar los tipos de seguridad deseados.
Para habilitar todos los tipos de seguridad, así como los montajes no criptográficos:
/export *(sec=sys:krb5:krb5i:krb5p)
Los sabores de seguridad válidos para usar con la opción sec= son:
Recursos adicionales
Si necesita escribir archivos como root en el recurso compartido NFS protegido por Kerberos y
mantener la propiedad de root sobre estos archivos, consulte
https://access.redhat.com/articles/4040141. Tenga en cuenta que esta configuración no se
recomienda.
Para más información sobre la configuración de NFS, consulte las páginas de manual
exports(5) y nfs(5).
Otra característica de seguridad importante de NFSv4 es la eliminación del uso del protocolo MOUNT
para montar sistemas de archivos. El protocolo MOUNT presentaba un riesgo de seguridad debido a la
forma en que el protocolo procesaba los manejadores de archivos.
121
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Por defecto, las listas de control de acceso (ACLs) son soportadas por NFS bajo Red Hat Enterprise
Linux. Red Hat recomienda mantener esta característica habilitada.
Por defecto, NFS utiliza root squashing al exportar un sistema de archivos. Esto establece el ID de
usuario de cualquiera que acceda al recurso compartido NFS como usuario root en su máquina local en
nobody. El aplastamiento de la raíz se controla con la opción por defecto root_squash; para más
información sobre esta opción, consulte Sección 4.6, “Configuración del servidor NFS” .
Al exportar un recurso compartido NFS como de sólo lectura, considere el uso de la opción all_squash.
Esta opción hace que todos los usuarios que accedan al sistema de archivos exportado tomen el ID del
usuario de nobody.
122
CAPÍTULO 6. HABILITACIÓN DE DISPOSICIONES SCSI PNFS EN NFS
Requisitos previos
Tanto el cliente como el servidor deben poder enviar comandos SCSI al mismo dispositivo de
bloque. Es decir, el dispositivo de bloque debe estar en un bus SCSI compartido.
El dispositivo SCSI debe ser compatible con las reservas persistentes SCSI, como se describe
en la especificación de comandos primarios SCSI-3.
Archivos
Flexfiles
SCSI
pNFS SCSI funciona bien en casos de uso que implican el acceso de un solo cliente de larga duración a
un archivo. Un ejemplo podría ser un servidor de correo o una máquina virtual que albergue un clúster.
Los errores o la contención entre clientes pueden hacer que el servidor recupere los diseños o no los
emita a los clientes. En esos casos, los clientes vuelven a emitir READ y WRITE operaciones al servidor
en lugar de enviar solicitudes de E/S directamente al dispositivo SCSI.
Para supervisar las operaciones, consulte Sección 6.7, “Supervisión de la funcionalidad de los diseños
SCSI de PNFS”.
123
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Reservas de dispositivos
pNFS SCSI maneja el cercado a través de la asignación de reservas. Antes de que el servidor emita
distribuciones a los clientes, reserva el dispositivo SCSI para garantizar que sólo los clientes registrados
puedan acceder al dispositivo. Si un cliente puede emitir comandos a ese dispositivo SCSI pero no está
registrado en el dispositivo, muchas operaciones del cliente en ese dispositivo fallan. Por ejemplo, el
comando blkid en el cliente falla al mostrar el UUID del sistema de archivos XFS si el servidor no ha
dado una distribución para ese dispositivo al cliente.
El servidor no elimina su propia reserva persistente. Esto protege los datos dentro del sistema de
archivos del dispositivo a través de los reinicios de los clientes y servidores. Para reutilizar el dispositivo
SCSI, es posible que tenga que eliminar manualmente la reserva persistente en el servidor NFS.
Requisitos previos
Procedimiento
Asegúrese de que el bit Persist Through Power Loss Active (PTPL_A) está activado.
inquiry cdb: 12 00 00 00 24 00
Persistent Reservation In cmd: 5e 02 00 00 00 00 00 20 00 00
LIO-ORG block11 4.0
Peripheral device type: disk
Report capabilities response:
Compatible Reservation Handling(CRH): 1
Specify Initiator Ports Capable(SIP_C): 1
All Target Ports Capable(ATP_C): 1
Persist Through Power Loss Capable(PTPL_C): 1
Type Mask Valid(TMV): 1
Allow Commands: 1
Persist Through Power Loss Active(PTPL_A): 1
Support indicated in Type mask:
Write Exclusive, all registrants: 1
Exclusive Access, registrants only: 1
Write Exclusive, registrants only: 1
124
CAPÍTULO 6. HABILITACIÓN DE DISPOSICIONES SCSI PNFS EN NFS
Exclusive Access: 1
Write Exclusive: 1
Exclusive Access, all registrants: 1
Recursos adicionales
Procedimiento
2. Configure el servidor NFS para exportar la versión 4.1 o superior de NFS. Establezca la siguiente
opción en la sección [nfsd] del archivo /etc/nfs.conf:
[nfsd]
vers4.1=y
3. Configure el servidor NFS para exportar el sistema de archivos XFS a través de NFS con la
opción pnfs:
Ejemplo 6.2. Una entrada en /etc/exports para exportar pNFS SCSI
/exportado/directorio permitido.ejemplo.com(pnfs)
Recursos adicionales
Requisitos previos
El servidor NFS está configurado para exportar un sistema de archivos XFS sobre SCSI pNFS.
Véase Sección 6.4, “Configuración de pNFS SCSI en el servidor” .
Procedimiento
En el cliente, monte el sistema de archivos XFS exportado utilizando la versión 4.1 o superior de
125
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
En el cliente, monte el sistema de archivos XFS exportado utilizando la versión 4.1 o superior de
NFS:
Recursos adicionales
Para obtener más información sobre el montaje de recursos compartidos NFS, consulte
Montaje de recursos compartidos NFS .
Requisitos previos
Procedimiento
# sg_persist --out \
--release \
--param-rk=reservation-key \
--prout-type=6 \
path-to-scsi-device
126
CAPÍTULO 6. HABILITACIÓN DE DISPOSICIONES SCSI PNFS EN NFS
# sg_persist --out \
--release \
--param-rk=0x100000000000000 \
--prout-type=6 \
/dev/sda
Recursos adicionales
Requisitos previos
Procedimiento
# watch --differences \
"nfsstat --server | egrep --after-context=1 read\|write\|layout"
Los contadores del servidor read y write no se incrementan. Esto significa que los clientes
127
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Los contadores del servidor read y write no se incrementan. Esto significa que los clientes
están realizando peticiones de E/S directamente a los dispositivos SCSI.
Procedimiento
# cat /proc/self/mountstats \
| awk /scsi_lun_0/,/^$/ \
| egrep device\|READ\|WRITE\|LAYOUT
2. En los resultados:
Las estadísticas de LAYOUT indican las peticiones en las que el cliente y el servidor utilizan
operaciones SCSI pNFS.
Las estadísticas READ y WRITE indican las solicitudes en las que el cliente y el servidor
vuelven a las operaciones NFS.
128
CAPÍTULO 7. CONFIGURACIÓN DEL SERVIDOR PROXY DE CACHÉ SQUID
Requisitos previos
Procedimiento
a. Adapte las listas de control de acceso (ACL) de localnet para que coincidan con los rangos
de IP a los que se debe permitir el uso del proxy:
IMPORTANTE
Elimine todas las entradas existentes en acl localnet que no coincidan con
su entorno.
b. La siguiente ACL existe en la configuración por defecto y define 443 como un puerto que
utiliza el protocolo HTTPS:
Si los usuarios deben poder utilizar el protocolo HTTPS también en otros puertos, añada
una ACL para cada uno de estos puertos:
129
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
c. Actualice la lista de reglas de acl Safe_ports para configurar a qué puertos puede
establecer una conexión Squid. Por ejemplo, para configurar que los clientes que utilicen el
proxy sólo puedan acceder a los recursos del puerto 21 (FTP), 80 (HTTP) y 443 (HTTPS),
mantenga sólo las siguientes declaraciones de acl Safe_ports en la configuración:
Por defecto, la configuración contiene la regla http_access deny !Safe_ports que define
la denegación de acceso a los puertos que no están definidos en las ACL de Safe_ports.
d. Configure el tipo de caché, la ruta del directorio de la caché, el tamaño de la caché y otros
ajustes específicos del tipo de caché en el parámetro cache_dir:
# mkdir -p path_to_cache_directory
130
CAPÍTULO 7. CONFIGURACIÓN DEL SERVIDOR PROXY DE CACHÉ SQUID
Pasos de verificación
Para comprobar que el proxy funciona correctamente, descargue una página web utilizando la utilidad
curl:
Si curl no muestra ningún error y el archivo index.html se ha descargado en el directorio actual, el proxy
funciona.
Requisitos previos
Procedimiento
-ZZ impone una conexión cifrada por TLS sobre el protocolo LDAP mediante el
comando STARTTLS. Omita el -ZZ en las siguientes situaciones:
b. Añade la siguiente ACL y regla para configurar que Squid sólo permita a los usuarios
autentificados utilizar el proxy:
IMPORTANTE
c. Elimine la siguiente regla para desactivar la omisión de la autenticación del proxy desde los
rangos de IP especificados en las ACL de localnet:
d. La siguiente ACL existe en la configuración por defecto y define 443 como un puerto que
utiliza el protocolo HTTPS:
Si los usuarios deben poder utilizar el protocolo HTTPS también en otros puertos, añada
una ACL para cada uno de estos puertos:
e. Actualice la lista de reglas de acl Safe_ports para configurar a qué puertos puede
establecer una conexión Squid. Por ejemplo, para configurar que los clientes que utilicen el
proxy sólo puedan acceder a los recursos del puerto 21 (FTP), 80 (HTTP) y 443 (HTTPS),
mantenga sólo las siguientes declaraciones de acl Safe_ports en la configuración:
132
CAPÍTULO 7. CONFIGURACIÓN DEL SERVIDOR PROXY DE CACHÉ SQUID
Por defecto, la configuración contiene la regla http_access deny !Safe_ports que define
la denegación de acceso a los puertos que no están definidos en Safe_ports ACLs.
f. Configure el tipo de caché, la ruta del directorio de la caché, el tamaño de la caché y otros
ajustes específicos del tipo de caché en el parámetro cache_dir:
# mkdir -p path_to_cache_directory
133
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Pasos de verificación
Para comprobar que el proxy funciona correctamente, descargue una página web utilizando la utilidad
curl:
# curl -O -L "https://www.redhat.com/index.html" -x
"user_name:password@proxy.example.com:3128"
Si curl no muestra ningún error y el archivo index.html se ha descargado en el directorio actual, el proxy
funciona.
1. Inicie manualmente la utilidad de ayuda con la misma configuración que utilizó en el parámetro
auth_param:
# /usr/lib64/squid/basic_ldap_auth -b "cn=users,cn=accounts,dc=example,dc=com" -D
"uid=proxy_user,cn=users,cn=accounts,dc=example,dc=com" -W /etc/squid/ldap_password -
f "(&(objectClass=person)(uid=%s))" -ZZ -H ldap://ldap_server.example.com:389
user_name password
Requisitos previos
El servidor en el que desea instalar Squid es un miembro del dominio AD. Para más detalles,
consulte Configuración de Samba como miembro del dominio en la documentación de Red Hat
Enterprise Linux 8 Deploying different types of servers.
Procedimiento
134
CAPÍTULO 7. CONFIGURACIÓN DEL SERVIDOR PROXY DE CACHÉ SQUID
# kinit administrator@AD.EXAMPLE.COM
# export KRB5_KTNAME=FILE:/etc/squid/HTTP.keytab
# net ads keytab CREATE -U administrator
6. Opcionalmente, verifique que el archivo keytab contiene el principal de servicio HTTP para el
nombre de dominio completamente calificado (FQDN) del servidor proxy:
# klist -k /etc/squid/HTTP.keytab
Keytab name: FILE:/etc/squid/HTTP.keytab
KVNO Principal
---- ---------------------------------------------------
...
2 HTTP/proxy.ad.example.com@AD.EXAMPLE.COM
...
b. Añade la siguiente ACL y regla para configurar que Squid sólo permita a los usuarios
autentificados utilizar el proxy:
135
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
IMPORTANTE
c. Elimine la siguiente regla para desactivar la omisión de la autenticación del proxy desde los
rangos de IP especificados en las ACL de localnet:
d. La siguiente ACL existe en la configuración por defecto y define 443 como un puerto que
utiliza el protocolo HTTPS:
Si los usuarios deben poder utilizar el protocolo HTTPS también en otros puertos, añada
una ACL para cada uno de estos puertos:
e. Actualice la lista de reglas de acl Safe_ports para configurar a qué puertos puede
establecer una conexión Squid. Por ejemplo, para configurar que los clientes que utilicen el
proxy sólo puedan acceder a los recursos del puerto 21 (FTP), 80 (HTTP) y 443 (HTTPS),
mantenga sólo las siguientes declaraciones de acl Safe_ports en la configuración:
Por defecto, la configuración contiene la regla http_access deny !Safe_ports que define
la denegación de acceso a los puertos que no están definidos en las ACL de Safe_ports.
f. Configure el tipo de caché, la ruta del directorio de la caché, el tamaño de la caché y otros
ajustes específicos del tipo de caché en el parámetro cache_dir:
136
CAPÍTULO 7. CONFIGURACIÓN DEL SERVIDOR PROXY DE CACHÉ SQUID
# mkdir -p path_to_cache_directory
Pasos de verificación
Para comprobar que el proxy funciona correctamente, descargue una página web utilizando la utilidad
curl:
Si curl no muestra ningún error y el archivo index.html existe en el directorio actual, el proxy funciona.
# kinit user@AD.EXAMPLE.COM
# klist
# /usr/lib64/squid/negotiate_kerberos_auth_test proxy.ad.example.com
137
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Ficha: YIIFTAYGKwYBBQUCoIIFqDC...
Requisitos previos
Procedimiento
IMPORTANTE
2. Cree el archivo /etc/squid/domain_deny_list.txt y añada los dominios que desea bloquear. Por
ejemplo, para bloquear el acceso a example.com incluyendo subdominios y para bloquear
example.net, añada:
.example.com
example.net
IMPORTANTE
Requisitos previos
138
CAPÍTULO 7. CONFIGURACIÓN DEL SERVIDOR PROXY DE CACHÉ SQUID
Procedimiento
puerto_http 8080
puerto_http 192.0.2.1:3128
http_port 192.0.2.1:3128
http_port 192.0.2.1:8080
b. Si ejecuta SELinux en modo de aplicación, asigne el puerto a la definición del tipo de puerto
squid_port_t:
139
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Red Hat Enterprise Linux 8 proporciona las siguientes aplicaciones de bases de datos:
MariaDB 10.3
MySQL 8.0
PostgreSQL 10
PostgreSQL 9.6
MariaDB es una base de datos relacional que convierte los datos en información estructurada y
proporciona una interfaz SQL para acceder a los datos. Incluye múltiples motores de almacenamiento y
complementos, así como funciones de sistema de información geográfica (GIS) y de notación de
objetos de JavaScript (JSON).
Esta sección describe cómo instalar el servidor MariaDB en Instalación de MariaDB o cómo migrar
desde la versión por defecto de Red Hat Enterprise Linux 7, MariaDB 5.5, a la versión por defecto de
Red Hat Enterprise Linux 8, MariaDB 10.3, en Migración a MariaDB 10.3, y también cómo hacer una
copia de seguridad de los datos de MariaDB. Realizar una copia de seguridad de los datos es uno de los
prerrequisitos para la migración de MariaDB.
1. Asegúrese de que todos los paquetes necesarios para el servidor MariaDB están disponibles en
el sistema mediante la instalación del módulo mariadb utilizando un flujo específico:
140
CAPÍTULO 8. SERVIDORES DE BASES DE DATOS
NOTA
Tenga en cuenta que los servidores de bases de datos MariaDB y MySQL no pueden
instalarse en paralelo en Red Hat Enterprise Linux 8.0 debido a que los paquetes RPM
entran en conflicto. La instalación paralela de componentes es posible en Red Hat
Software Collections para Red Hat Enterprise Linux 6 y Red Hat Enterprise Linux 7. En
Red Hat Enterprise Linux 8, se pueden utilizar diferentes versiones de servidores de
bases de datos en contenedores.
El comando lanza un script totalmente interactivo, que solicita cada paso del proceso.
# mysql_secure_installation
No permitir los inicios de sesión remotos (fuera del host local) de root
Para configurar el servidor MariaDB para su conexión en red, utilice la sección [mysqld] del archivo
/etc/my.cnf.d/mariadb-server.cnf, donde puede establecer las siguientes directivas de configuración:
bind-address
Bind-address es la dirección en la que escuchará el servidor.
Las opciones posibles son: un nombre de host, una dirección IPv4 o una dirección IPv6.
skip-networking
Los valores posibles son:
port
El puerto en el que MariaDB escucha las conexiones TCP/IP.
141
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Logical backup consiste en las sentencias SQL necesarias para restaurar los datos. Este tipo de copia
de seguridad exporta la información y los registros en archivos de texto plano.
La principal ventaja de la copia de seguridad lógica sobre la física es la portabilidad y la flexibilidad. Los
datos se pueden restaurar en otras configuraciones de hardware, versiones de MariaDB o sistema de
gestión de bases de datos (DBMS), lo que no es posible con las copias de seguridad físicas.
Tenga en cuenta que la copia de seguridad lógica se puede realizar si el mariadb.service está en
funcionamiento. La copia de seguridad lógica no incluye los archivos de registro y configuración.
La copia de seguridad física tiene las siguientes ventajas en comparación con la copia de seguridad
lógica:
Tenga en cuenta que la copia de seguridad física debe realizarse cuando el mariadb.service no está en
funcionamiento o todas las tablas de la base de datos están bloqueadas para evitar cambios durante la
copia de seguridad.
Puede utilizar uno de los siguientes enfoques de copia de seguridad de MariaDB para hacer una copia
de seguridad de los datos de una base de datos MariaDB:
El cliente mysqldump es una utilidad de copia de seguridad, que puede utilizarse para volcar una base
de datos o una colección de bases de datos con el fin de realizar una copia de seguridad o transferirla a
otro servidor de bases de datos. La salida de mysqldump suele consistir en sentencias SQL para recrear
la estructura de las tablas del servidor, rellenarlas con datos, o ambas cosas. Como alternativa,
mysqldump también puede generar archivos en otros formatos, incluyendo CSV u otros formatos de
texto delimitados, y XML.
Para realizar la mysqldump copia de seguridad, puede utilizar una de las siguientes opciones:
142
CAPÍTULO 8. SERVIDORES DE BASES DE DATOS
Procedimiento
Para hacer una copia de seguridad de una base de datos completa, ejecute
8.2.4.1.2. Uso de mysqldump para hacer una copia de seguridad de un conjunto de tablas de una
base de datos
Procedimiento
Para hacer una copia de seguridad de un subconjunto de tablas de una base de datos, añada una
lista de las tablas elegidas al final del comando mysqldump:
Procedimiento
Para cargar el archivo de volcado de nuevo en un servidor, utilice cualquiera de estas opciones:
8.2.4.1.4. Usando mysqldump para copiar datos entre dos bases de datos
Procedimiento
Para rellenar las bases de datos copiando los datos de un servidor MariaDB a otro, ejecute
Procedimiento
143
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Procedimiento
Procedimiento
Para ver una lista de las opciones que soporta mysqldump, ejecute
$ mysqldump --help
Para más información sobre la copia de seguridad lógica con mysqldumpconsulte la documentación de
MariaDB.
Mariabackup es una herramienta basada en la tecnología Percona XtraBackup, que permite realizar
copias de seguridad físicas en línea de tablas InnoDB, Aria y MyISAM.
Requisitos previos
Mariabackup necesita que se le proporcionen las credenciales del usuario con el que se
ejecutará la copia de seguridad. Puede proporcionar las credenciales en la línea de comandos,
como se muestra en el procedimiento, o mediante un archivo de configuración antes de aplicar
el procedimiento. Para establecer las credenciales utilizando el archivo de configuración,
primero cree el archivo (por ejemplo, /etc/my.cnf.d/mariabackup.cnf), y luego añada las
siguientes líneas en la sección [xtrabackup] o [mysqld] del nuevo archivo:
[xtrabackup]
user=myuser
password=mypassword
IMPORTANTE
144
CAPÍTULO 8. SERVIDORES DE BASES DE DATOS
IMPORTANTE
datadir=/var/miadatadir
NOTA
Para crear una copia de seguridad de una base de datos con Mariabackuputilice el siguiente
procedimiento:
Procedimiento
Recursos adicionales
Para más información sobre cómo realizar copias de seguridad con Mariabackupvea Copia de
seguridad completa y restauración con Mariabackup.
Una vez finalizada la copia de seguridad, puedes restaurar los datos de la misma utilizando el comando
mariabackup con una de las siguientes opciones:
--copy-back
--move-back
La opción --copy-back permite mantener los archivos originales de la copia de seguridad. La opción --
move-back mueve los archivos de copia de seguridad al directorio de datos, y elimina los archivos de
copia de seguridad originales.
145
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Requisitos previos
8.2.4.3.1. Restauración de datos con Mariabackup conservando los archivos de copia de seguridad
Para restaurar los datos manteniendo los archivos originales de la copia de seguridad, utilice el siguiente
procedimiento.
Procedimiento
Por ejemplo, para cambiar recursivamente la propiedad de los archivos al usuario y grupo
mysql:
8.2.4.3.2. Restauración de datos con Mariabackup mientras se eliminan los archivos de copia de
seguridad
Para restaurar los datos, y no conservar los archivos originales de la copia de seguridad, utilice el
siguiente procedimiento.
Procedimiento
146
CAPÍTULO 8. SERVIDORES DE BASES DE DATOS
Por ejemplo, para cambiar recursivamente la propiedad de los archivos al usuario y grupo
mysql:
Para más información, consulte Copia de seguridad y restauración completa con Mariabackup .
Para crear una copia de seguridad del sistema de archivos de MariaDB, cambie al usuario root y copie el
contenido del directorio de datos MariaDB a la ubicación de la copia de seguridad.
Para hacer una copia de seguridad también de la configuración actual o de los archivos de registro,
utilice los pasos opcionales del siguiente procedimiento.
Procedimiento
# cp /var/log/mariadb/* /backup-location/logs
La replicación es una solución de copia de seguridad alternativa para los servidores maestros. Si un
servidor maestro se replica a un servidor esclavo, las copias de seguridad pueden ejecutarse en el
esclavo sin ningún impacto en el maestro. El maestro puede seguir funcionando mientras se apaga el
esclavo y se hace una copia de seguridad de los datos desde él.
147
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
AVISO
Recursos adicionales
Para más información sobre la replicación como solución de copia de seguridad, consulte la
documentación de MariaDB.
Los cambios más importantes entre MariaDB 5.5 y MariaDB 10.3 son los siguientes:
MariaDB Galera Cluster, un clúster multimaster síncrono, es una parte estándar de MariaDB
desde 10.1.
Se utiliza InnoDB como motor de almacenamiento por defecto en lugar de XtraDB, que se
utilizaba en MariaDB 10.1 y versiones anteriores.
Para más detalles, consulte ¿Por qué MariaDB 10.2 utiliza InnoDB en lugar de XtraDB?
Los nuevos paquetes mariadb-connector-c proporcionan una biblioteca cliente común para
MySQL y MariaDB. Esta biblioteca es utilizable con cualquier versión de los servidores de bases
de datos MySQL y MariaDB. Como resultado, el usuario es capaz de conectar una compilación
de una aplicación a cualquiera de los servidores MySQL y MariaDB distribuidos con Red Hat
Enterprise Linux 8.
Para migrar de MariaDB 5.5 a MariaDB 10.3, es necesario realizar varios cambios de configuración
como se describe en Sección 8.2.5.2, “Cambios de configuración”.
La ruta de migración recomendada de MariaDB 5.5 a MariaDB 10.3 es actualizar primero a MariaDB
10.0, y luego actualizar una versión sucesivamente.
148
CAPÍTULO 8. SERVIDORES DE BASES DE DATOS
La principal ventaja de actualizar una por una las versiones es una mejor adaptación de la base de datos,
tanto de los datos como de la configuración a los cambios. La actualización termina en la misma versión
principal que está disponible en RHEL 8 (MariaDB 10.3), lo que reduce significativamente los cambios de
configuración u otros problemas.
Para más información sobre los cambios de configuración al migrar de MariaDB 5.5 a MariaDB 10.0,
consulte Migración a MariaDB 10. 0 en la documentación de Red Hat Software Collections.
La migración a las siguientes versiones sucesivas de MariaDB y los cambios de configuración necesarios
se describen en estos documentos:
NOTA
Para migrar los archivos de la base de datos a Red Hat Enterprise Linux 8, los usuarios de MariaDB en
Red Hat Enterprise Linux 7 necesitan realizar la actualización in situ utilizando la herramienta
mysql_upgrade. La herramienta mysql_upgrade es proporcionada por el subpaquete mariadb-server-
utils, que se instala como una dependencia del paquete mariadb-server.
Para realizar una actualización in situ, debe copiar los archivos de datos binarios al directorio de datos
/var/lib/mysql/ en el sistema Red Hat Enterprise Linux 8 y utilizar la herramienta mysql_upgrade.
MariaDB 10.2
Tenga en cuenta que se recomienda actualizar a MariaDB 10.2 por una versión sucesivamente. Consulte
los respectivos capítulos de migración en las Notas de la versión de Red Hat Software Collections .
NOTA
149
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
NOTA
Si está actualizando desde la versión de Red Hat Enterprise Linux 7 de MariaDB, los
datos de origen se almacenan en el directorio /var/lib/mysql/. En el caso de las versiones
de Red Hat Software Collections de MariaDB, el directorio de datos fuente es
/var/opt/rh/<collection_name>/lib/mysql/ (con la excepción de mariadb55, que utiliza el
directorio de datos /opt/rh/mariadb55/root/var/lib/mysql/ ).
IMPORTANTE
Antes de realizar la actualización, haga una copia de seguridad de todos sus datos
almacenados en las bases de datos de MariaDB.
Para realizar la actualización in situ, cambie al usuario root y utilice el siguiente procedimiento:
1. Asegúrese de que el paquete mariadb-server está instalado en el sistema Red Hat Enterprise
Linux 8:
4. Establezca los permisos adecuados y el contexto SELinux para los archivos copiados en el
sistema de destino:
# systemctl mysql_upgrade
7. Una vez completada la actualización, asegúrese de que todos los archivos de configuración
dentro del directorio /etc/my.cnf.d/ incluyan sólo opciones válidas para MariaDB 10.3.
IMPORTANTE
150
CAPÍTULO 8. SERVIDORES DE BASES DE DATOS
Esta sección describe cómo replicar una base de datos MariaDB utilizando la solución Galera.
La interfaz entre la replicación de Galera y una base de datos MariaDB está definida por la API de
replicación de conjuntos de escritura (wsrep API).
Replicación sincrónica
Control automático de los miembros, los nodos que fallan se retiran del clúster
Conexiones directas de clientes (los usuarios pueden conectarse a los nodos del clúster y
trabajar con los nodos directamente mientras se ejecuta la replicación)
La replicación sincrónica garantiza que un cambio ocurrido en un nodo del clúster ocurra en otros nodos
del clúster al mismo tiempo.
Por lo tanto, la replicación sincrónica tiene las siguientes ventajas sobre la asincrónica:
No hay retraso en la propagación de los cambios entre los nodos de cluster particulares
Los últimos cambios no se pierden si uno de los nodos del clúster se bloquea
Recursos adicionales
Para obtener información más detallada, consulte la documentación de la corriente ascendente:
151
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Para poder construir MariaDB Galera Cluster, los siguientes paquetes deben estar instalados en su
sistema:
mariadb-server-galera
mariadb-server
galera
El paquete mariadb-server-galera contiene archivos de apoyo y scripts para MariaDB Galera Cluster.
MariaDB upstream parchea el paquete mariadb-server para incluir la API de replicación de conjuntos de
escritura (wsrep API). Esta API proporciona la interfaz entre la replicación de Galera y MariaDB.
MariaDB upstream también parchea el paquete galera para añadir soporte completo para MariaDB. El
paquete galera contiene la herramienta Galera Replication Library y la Galera Arbitrator. Galera
Replication Library proporciona toda la funcionalidad de replicación. Galera Arbitrator puede utilizarse
como miembro del clúster que participa en la votación en los escenarios de cerebro dividido. Sin
embargo, Galera Arbitrator no puede participar en la replicación real.
Recursos adicionales
Para obtener información más detallada, consulte la documentación de la corriente ascendente:
Árbitro Galera
proyecto mysql-wsrep
Requisitos previos
Todo el software necesario para construir MariaDB Galera Cluster debe estar instalado en el
sistema. Para asegurarse de ello, instale el perfil galera del módulo mariadb:10.3:
mariadb-server-galera
mariadb-server
galera
El paquete mariadb-server-galera tiene como dependencia los paquetes mariadb-server y
galera.
Para más información sobre los componentes para construir MariaDB Galera Cluster,
consulte Sección 8.2.6.2, “Componentes para construir el clúster MariaDB Galera” .
152
CAPÍTULO 8. SERVIDORES DE BASES DE DATOS
gcomm://
Para el nodo inicial, es posible establecer wsrep_cluster_address como una lista vacía:
wsrep_cluster_address="gcomm://\_"
Para todos los demás nodos, configure wsrep_cluster_address para incluir una dirección a
cualquier nodo que ya forme parte del clúster en ejecución. Por ejemplo:
wsrep_cluster_address="gcomm://10.0.0.10"
Para obtener más información sobre cómo establecer la dirección del clúster de Galera,
consulte Dirección del clúster de Galera .
Procedimiento
1. Arranca el primer nodo de un nuevo cluster ejecutando el siguiente wrapper en ese nodo:
$ galera_new_cluster
Esta envoltura asegura que el demonio del servidor MariaDB (mysqld) se ejecuta con la opción
--wsrep-new-cluster. Esta opción proporciona la información de que no hay un cluster
existente al que conectarse. Por lo tanto, el nodo crea un nuevo UUID para identificar el nuevo
cluster.
NOTA
$ galera_new_cluster mariadb@node1
2. Conecte otros nodos al clúster ejecutando el siguiente comando en cada uno de los nodos:
Como resultado, el nodo se conecta al clúster y se sincroniza con el estado del clúster.
Recursos adicionales
Para más información, vea Cómo empezar con MariaDB Galera Cluster .
Para añadir un nuevo nodo a MariaDB Galera Cluster, utilice el siguiente procedimiento.
Tenga en cuenta que también puede utilizar este procedimiento para reconectar un nodo ya existente.
153
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Procedimiento
En el nodo concreto, proporcione una dirección a uno o más miembros del clúster existentes en
la opción wsrep_cluster_address dentro de la sección [mariadb] del archivo de configuración
/etc/my.cnf.d/galera.cnf:
[mariadb]
wsrep_cluster_address="gcomm://192.168.0.1"
Cuando un nuevo nodo se conecta a uno de los nodos existentes del clúster, puede ver todos
los nodos del clúster.
Sin embargo, es preferible enumerar todos los nodos del clúster en wsrep_cluster_address.
Como resultado, cualquier nodo puede unirse a un clúster conectándose a cualquier otro nodo
del clúster, incluso si uno o más nodos del clúster están caídos. Cuando todos los miembros
están de acuerdo con la adhesión, se cambia el estado del clúster. Si el estado del nuevo nodo
es diferente al del clúster, solicita una Transferencia de Estado Incremental (IST) o una
Transferencia de Estado Instantánea (SST) para ser coherente con los demás nodos.
Recursos adicionales
Para más información, vea Cómo empezar con MariaDB Galera Cluster .
Para obtener información detallada sobre las transferencias instantáneas de estado (SST),
consulte Introducción a las transferencias instantáneas de estado .
Si se apagan todos los nodos al mismo tiempo, se termina el clúster, y el clúster en funcionamiento deja
de existir. Sin embargo, los datos del clúster siguen existiendo.
Para reiniciar el clúster, inicie un primer nodo como se describe en Sección 8.2.6.3, “Despliegue del
clúster MariaDB Galera”.
AVISO
Recursos adicionales
Para más información, vea Cómo empezar con MariaDB Galera Cluster .
El servidor PostgreSQL incluye funciones para garantizar la integridad de los datos, construir entornos
tolerantes a fallos o crear aplicaciones. Permite ampliar una base de datos con tipos de datos propios
del usuario, funciones personalizadas o código de diferentes lenguajes de programación sin necesidad
de recompilar la base de datos.
Esta sección describe cómo instalar PostgreSQL en Instalación de PostgreSQL o cómo migrar a una
versión diferente de PostgreSQL en Migración a una versión RHEL 8 de PostgreSQL . Uno de los
requisitos previos a la migración es realizar una copia de seguridad de los datos.
PostgreSQL 9.6
NOTA
Por diseño, es imposible instalar más de una versión (stream) del mismo módulo en
paralelo. Por lo tanto, debe elegir sólo uno de los flujos disponibles del módulo
postgresql. La instalación paralela de componentes es posible en Red Hat Software
Collections para RHEL 7 y RHEL 6. En RHEL 8, se pueden utilizar diferentes versiones de
servidores de bases de datos en contenedores.
Puede omitir este paso si desea utilizar el flujo por defecto, que proporciona PostgreSQL 10.
postgresql-setup --initdb
155
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Para obtener información sobre el uso de flujos de módulos, consulte Instalación, gestión y eliminación
de componentes del espacio de usuario.
IMPORTANTE
Si desea actualizar desde un flujo anterior de postgresql dentro de RHEL 8, siga los dos
procedimientos descritos en Cambiar a un flujo posterior y en Sección 8.3.5, “Migración a
la versión RHEL 8 de PostgreSQL”.
postgresql.auto.conf
pg_ident.conf
pg_hba.conf
El archivo pg_ident.conf se utiliza para mapear las identidades de usuario de los mecanismos de
autenticación externos en las identidades de usuario de postgresql.
El archivo pg_hba.conf se utiliza para configurar los permisos detallados de los usuarios para las bases
de datos PostgreSQL.
En una base de datos PostgreSQL, todos los datos se almacenan en un único directorio, que se
denomina clúster de base de datos. Usted puede elegir dónde almacenar sus datos, pero Red Hat
recomienda almacenar los datos en el directorio por defecto /var/lib/pgsql/data.
postgresql-setup --initdb
156
CAPÍTULO 8. SERVIDORES DE BASES DE DATOS
Para hacer una copia de seguridad de los datos de PostgreSQL, utilice uno de los siguientes métodos:
Volcado SQL
Archivo continuo
El método de volcado SQL se basa en la generación de un archivo con comandos SQL. Cuando este
archivo se vuelve a cargar en el servidor de la base de datos, recrea la base de datos en el mismo estado
en el que se encontraba en el momento del volcado. El volcado de SQL está garantizado por la utilidad
pg_dump que es una aplicación cliente de PostgreSQL. El uso básico del comando pg_dump es tal que
el comando escribe su resultado en la salida estándar:
El archivo SQL resultante puede estar en formato de texto o en otros formatos diferentes, lo que
permite el paralelismo y un control más detallado de la restauración de objetos.
Puede realizar el volcado SQL desde cualquier host remoto que tenga acceso a la base de datos. La
utilidad pg_dump utilidad no opera con permisos especiales, pero debe tener un acceso de lectura a
todas las tablas de las que quiera hacer una copia de seguridad. Para realizar una copia de seguridad de
toda la base de datos, debe ejecutarla como superusuario de la base de datos.
Para especificar con qué servidor de bases de datos pg_dump contactará, utilice las siguientes
opciones de la línea de comandos:
NOTA
Tenga en cuenta que pg_dump vuelca sólo una base de datos. No vuelca la información
sobre los roles o los tablespaces porque dicha información se refiere a todo el clúster.
Para hacer una copia de seguridad de cada base de datos de un clúster determinado y
conservar los datos de todo el clúster, como las definiciones de roles y espacios de tablas,
utilice el comando pg_dumpall:
157
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
creadob dbname
2. Asegúrese de que todos los usuarios que poseen objetos o a los que se les concedieron
permisos sobre objetos en la base de datos volcada ya existen.
Si estos usuarios no existen, la restauración no consigue recrear los objetos con la propiedad y
los permisos originales.
3. Ejecute la psql utilidad para restaurar un volcado de archivos de texto creado por la pg_dump
utilidad:
Si desea restaurar un volcado de archivos que no sean de texto, utilice la utilidad pg_restore:
El volcado de una base de datos directamente de un servidor a otro es posible porque pg_dump y psql
pueden escribir en y leer de tuberías.
Por defecto, psql continúa ejecutándose si se produce un error SQL. En consecuencia, la base de datos
se restaura sólo parcialmente.
Si quiere cambiar este comportamiento por defecto, utilice uno de los siguientes métodos:
Haga que psql salga con un estado de salida de 3 si se produce un error SQL estableciendo la
variable ON_ERROR_STOP:
Especifique que todo el volcado se restaura como una única transacción para que la
restauración se complete o se cancele por completo utilizando psql con una de las siguientes
opciones:
psql -1
psql --single-transaction
Tenga en cuenta que cuando se utiliza este enfoque, incluso un error menor puede cancelar una
operación de restauración que ya se ha ejecutado durante muchas horas.
158
CAPÍTULO 8. SERVIDORES DE BASES DE DATOS
Un volcado de SQL tiene las siguientes ventajas en comparación con otros métodos de copia de
seguridad de PostgreSQL:
Un volcado de SQL es el único método que funciona cuando se transfiere una base de datos a
una arquitectura de máquina diferente, como pasar de un servidor de 32 bits a uno de 64 bits.
La utilidad pg_dump utilidad no bloquea otras operaciones en la base de datos cuando se está
ejecutando.
Una desventaja de un volcado de SQL es que lleva más tiempo en comparación con la copia de
seguridad a nivel de sistema de archivos.
8.3.4.2. Copia de seguridad de los datos de PostgreSQL con una copia de seguridad a nivel
de sistema de archivos
Para realizar una copia de seguridad a nivel de sistema de archivos, es necesario copiar los archivos que
PostgreSQL utiliza para almacenar los datos de la base de datos en otra ubicación:
1. Elija la ubicación de un clúster de base de datos e inicialice este clúster como se describe en
Sección 8.3.3.1, “Inicialización de un clúster de bases de datos” .
3. Utilice cualquier método para hacer una copia de seguridad del sistema de archivos, por
ejemplo:
Una copia de seguridad a nivel de sistema de archivos tiene la siguiente ventaja en comparación con
otros métodos de copia de seguridad de PostgreSQL:
La copia de seguridad a nivel de sistema de archivos suele ser más rápida que el volcado de
159
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
La copia de seguridad a nivel de sistema de archivos suele ser más rápida que el volcado de
SQL.
La copia de seguridad a nivel de sistema de archivos tiene las siguientes desventajas en comparación
con otros métodos de copia de seguridad de PostgreSQL:
El servidor de la base de datos debe apagarse antes de la copia de seguridad de los datos y
también antes de la restauración de los mismos.
La utilidad rsync
Para más información sobre la copia de seguridad a nivel de sistema de archivos, consulte la
documentación de PostgreSQL.
PostgreSQL registra todos los cambios realizados en los archivos de datos de la base de datos en un
archivo de registro de escritura (WAL) que está disponible en el subdirectorio pg_wal/ del directorio de
datos del clúster. Este registro está pensado principalmente para la recuperación de un fallo. Después
de una caída, las entradas del registro realizadas desde el último punto de control pueden utilizarse para
restaurar la consistencia de la base de datos.
El método de archivo continuo, también conocido como online backup, combina los archivos WAL con
una copia de seguridad a nivel del sistema de archivos. Si se necesita una recuperación de la base de
datos, se puede restaurar la base de datos a partir de la copia de seguridad del sistema de archivos y, a
continuación, reproducir el registro de los archivos WAL respaldados para llevar el sistema al estado
actual.
Para este método de copia de seguridad, se necesita una secuencia continua de archivos WAL
archivados que se remonte al menos a la hora de inicio de la copia de seguridad.
NOTA
160
CAPÍTULO 8. SERVIDORES DE BASES DE DATOS
NOTA
Para realizar una copia de seguridad y restauración de la base de datos utilizando el método de archivo
continuo, siga estos pasos:
Para realizar una copia de seguridad base, utilice la herramienta pg_basebackup que puede crear una
copia de seguridad base en forma de archivos individuales o de un archivo tar.
Para utilizar la copia de seguridad básica, es necesario conservar todos los archivos de segmentos WAL
generados durante y después de la copia de seguridad del sistema de archivos. El proceso de copia de
seguridad básica crea un archivo de historial de copias de seguridad que se almacena en el área de
archivo WAL y recibe el nombre del primer archivo de segmentos WAL que se necesita para la copia de
seguridad del sistema de archivos. Cuando haya archivado de forma segura la copia de seguridad del
sistema de archivos y los archivos de segmentos WAL utilizados durante la copia de seguridad, que se
especifican en el archivo de historial de copias de seguridad, puede eliminar todos los segmentos WAL
archivados con nombres numéricamente menores porque ya no son necesarios para recuperar la copia
de seguridad del sistema de archivos. Sin embargo, considere la posibilidad de mantener varios
conjuntos de copias de seguridad para estar seguro de que puede recuperar sus datos.
El archivo del historial de la copia de seguridad es un pequeño archivo de texto, que contiene la cadena
de etiquetas que le diste a pg_basebackupla hora de inicio y de finalización, y los segmentos WAL de la
copia de seguridad. Si utilizó la cadena de etiquetas para identificar el archivo de volcado asociado,
entonces el archivo de historial archivado es suficiente para indicarle qué archivo de volcado debe
restaurar.
Con el método de archivo continuo, es necesario mantener todos los archivos WAL archivados hasta la
última copia de seguridad base. Por lo tanto, la frecuencia ideal de las copias de seguridad base
depende de:
Para más información sobre cómo hacer una copia de seguridad de la base, consulte la documentación
de PostgreSQL.
8.3.4.3.2.2. Restauración de la base de datos mediante una copia de seguridad de archivo continuo
Para restaurar una base de datos utilizando una copia de seguridad continua:
161
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
1. Detener el servidor:
Si no tiene suficiente espacio, guarde el contenido del directorio pg_wal del clúster, que puede
contener registros que no fueron archivados antes de que el sistema se cayera.
3. Elimine todos los archivos y subdirectorios existentes en el directorio de datos del clúster y en
los directorios raíz de los tablespaces que esté utilizando.
4. Restaurar los archivos de la base de datos desde la copia de seguridad del sistema de archivos.
Asegúrate de que:
Los archivos se restauran con la propiedad correcta (el usuario del sistema de la base de
datos, no root)
6. Copie los archivos de segmentos de WAL no archivados que guardó en el paso 2 en pg_wal/, si
es que existen tales archivos.
8. Inicie el servidor:
El servidor entrará en el modo de recuperación y procederá a leer los ficheros WAL archivados
que necesite.
Si la recuperación se interrumpe debido a un error externo, basta con reiniciar el servidor para
que continúe la recuperación. Cuando el proceso de recuperación finaliza, el servidor cambia el
nombre de recovery.conf a recovery.done para evitar que se vuelva a entrar accidentalmente
en el modo de recuperación más adelante, cuando el servidor inicie las operaciones normales de
la base de datos.
Para obtener más información sobre la restauración mediante la copia de seguridad continua, consulte
la documentación de PostgreSQL.
162
CAPÍTULO 8. SERVIDORES DE BASES DE DATOS
El archivo continuo tiene las siguientes ventajas en comparación con otros métodos de copia de
seguridad de PostgreSQL:
Con el método de copia de seguridad continua, es posible utilizar una copia de seguridad del
sistema de archivos que no sea totalmente consistente porque cualquier inconsistencia interna
en la copia de seguridad es corregida por la repetición del registro. No se necesita una
instantánea del sistema de archivos; basta con tar o una herramienta de archivo similar.
Se puede conseguir una copia de seguridad continua si se siguen archivando los archivos WAL,
ya que la secuencia de archivos WAL para la repetición del registro puede ser indefinidamente
larga. Esto es especialmente valioso para las grandes bases de datos.
Si la serie de archivos WAL está continuamente disponible para otra máquina que ha sido
cargada con el mismo archivo de copia de seguridad base, es posible restaurar la otra máquina
con una copia casi actual de la base de datos en cualquier momento.
El archivo continuo tiene las siguientes desventajas en comparación con otros métodos de copia de
seguridad de PostgreSQL:
Para más información sobre el método de archivo continuo, consulte la documentación de PostgreSQL.
Red Hat Enterprise Linux 8 proporciona PostgreSQL 10 (el flujo por defecto postgresql ),
PostgreSQL 9.6, y PostgreSQL 12.
Los usuarios de PostgreSQL en Red Hat Enterprise Linux pueden utilizar dos rutas de migración para
los archivos de la base de datos:
Utilice preferentemente el método de actualización rápida, que es más rápido que el proceso de volcado
y restauración.
Sin embargo, en ciertos casos, la actualización rápida no funciona, y sólo se puede utilizar el proceso de
volcado y restauración. Estos casos incluyen:
163
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Sistemas que utilizan las extensiones plpython o plpython2. Tenga en cuenta que el repositorio
de RHEL 8 AppStream sólo incluye el paquete postgresql-plpython3, no el paquete
postgresql-plpython2.
La actualización rápida no es compatible con la migración desde las versiones de Red Hat
Software Collections de PostgreSQL.
Como requisito previo a la migración a una versión posterior de PostgreSQL, haga una copia de
seguridad de todas sus bases de datos de PostgreSQL.
El volcado de las bases de datos y la realización de copias de seguridad de los archivos SQL es una parte
necesaria del proceso de volcado y restauración. Sin embargo, se recomienda hacerlo también si se
realiza la actualización rápida.
Antes de migrar a una versión posterior de PostgreSQL, consulte las notas de compatibilidad de la
versión de PostgreSQL a la que desea migrar, así como de todas las versiones de PostgreSQL omitidas
entre la que está migrando y la versión de destino.
Durante una actualización rápida, es necesario copiar los archivos de datos binarios en el directorio
/var/lib/pgsql/data/ y utilizar la herramienta pg_upgrade.
Si desea actualizar desde un flujo anterior de postgresql dentro de RHEL 8, siga el procedimiento
descrito en Cambio a un flujo posterior y luego migre sus datos de PostgreSQL.
Para migrar entre otras combinaciones de versiones de PostgreSQL dentro de RHEL, y para la
migración desde las versiones de Red Hat Software Collections de PostgreSQL a RHEL, utilice Dump
and restore upgrade.
IMPORTANTE
Antes de realizar la actualización, haga una copia de seguridad de todos sus datos
almacenados en las bases de datos de PostgreSQL.
Por defecto, todos los datos se almacenan en el directorio /var/lib/pgsql/data/ en los sistemas RHEL 7 y
RHEL 8.
El siguiente procedimiento describe la migración de la versión del sistema RHEL 7 de Postgreql 9.2 a
una versión RHEL 8 de PostgreSQL.
164
CAPÍTULO 8. SERVIDORES DE BASES DE DATOS
Puede omitir este paso si desea utilizar el flujo por defecto, que proporciona PostgreSQL 10.
módulos del servidorPostgreSQL: Asegúrese de que los módulos del servidor PostgreSQL
que utilizó en RHEL 7 están instalados también en su sistema RHEL 8. Tenga en cuenta que
los complementos se instalan en el directorio /usr/lib64/pgsql/ (o en el directorio
/usr/lib/pgsql/ en los sistemas de 32 bits).
$ /bin/postgresql-setup --upgrade
su postgres -c '~/analyze_new_cluster.sh'
10. Si quieres que el nuevo servidor PostgreSQL se inicie automáticamente al arrancar, ejecuta:
Tenga en cuenta que la actualización de volcado y restauración es más lenta que el método de
actualización rápida y puede requerir alguna corrección manual en el archivo SQL generado.
PostgreSQL 9.6
PostgreSQL 10
PostgreSQL 12
En los sistemas Red Hat Enterprise Linux 7 y Red Hat Enterprise Linux 8, los datos de PostgreSQL se
almacenan por defecto en el directorio /var/lib/pgsql/data/. En el caso de las versiones de Red Hat
Software Collections de PostgreSQL, el directorio de datos por defecto es
/var/opt/rh/collection_name/lib/pgsql/data/ (con la excepción de postgresql92, que utiliza el
directorio /opt/rh/postgresql92/root/var/lib/pgsql/data/ ).
Si desea actualizar desde un flujo anterior de postgresql dentro de RHEL 8, siga el procedimiento
descrito en Cambio a un flujo posterior y luego migre sus datos de PostgreSQL.
El siguiente procedimiento describe la migración de la versión del sistema RHEL 7 de Postgreql 9.2 a
una versión RHEL 8 de PostgreSQL.
166
CAPÍTULO 8. SERVIDORES DE BASES DE DATOS
Puede omitir este paso si desea utilizar el flujo por defecto, que proporciona PostgreSQL 10.
# postgresql-setup --initdb
/var/lib/pgsql/data/pg_hba.conf
/var/lib/pgsql/data/pg_ident.conf
/var/lib/pgsql/data/postgresql.conf
10. En el sistema RHEL 8, importe los datos del archivo sql volcado:
NOTA
167
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
NOTA
168
CAPÍTULO 9. CONFIGURACIÓN DE LA IMPRESIÓN
Esta documentación describe cómo configurar una máquina para que pueda funcionar como servidor
CUPS.
Requisitos previos
El paquete cups, que está disponible en el repositorio de Appstream, debe estar instalado en tu
sistema:
Procedimiento
2. Configure el servicio cups para que se inicie automáticamente en el momento del arranque:
AVISO
Entre las tareas que puedes realizar con estas herramientas se encuentran:
169
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Tenga en cuenta que esta documentación sólo cubre la impresión en CUPS web user interface (UI). Si
quiere imprimir con GNOME Control centernecesita tener una GUI disponible. Para más información
sobre la impresión con GNOME Control centervea Manejo de la impresión a partir de GNOME .
Procedimiento
Para acceder a la página web CUPS web UI:
1. Permita que el servidor CUPS escuche las conexiones de la red estableciendo Port 631 en el
archivo /etc/cups/cupsd.conf:
#Listen localhost:631
Port 631
AVISO
Al habilitar el servidor CUPS para que escuche en el puerto 631 se abre este
puerto para cualquier dirección accesible por el servidor. Por lo tanto, utilice
esta configuración sólo en redes locales que sean inalcanzables desde una
red externa. Si un servidor necesita ser accesible desde una red externa,
pero quiere abrir el puerto 631 sólo para su red local, configure lo siguiente
en el archivo /etc/cups/cupsd.conf: #Listen
<server_local_IP_address>:631, donde <server_local_IP_address> es una
dirección IP inalcanzable desde una red externa, pero está disponible para
las máquinas locales.
<Location />
Allow from <your_ip_address>
Order allow,deny
</Location>
170
CAPÍTULO 9. CONFIGURACIÓN DE LA IMPRESIÓN
AVISO
Para adquirir el acceso al menú Administration, siga las instrucciones de Sección 9.3.1, “Adquirir
acceso de administración a la interfaz web de CUPS”.
Procedimiento
1. Para poder acceder al menú Administation en el CUPS web UIincluya lo siguiente en el archivo
171
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
1. Para poder acceder al menú Administation en el CUPS web UIincluya lo siguiente en el archivo
/etc/cups/cupsd.conf:
<Location /admin>
Allow from <your_ip_address>
Order allow,deny
</Location>
NOTA
2. Para poder acceder a los archivos de configuración en el CUPS web UIincluya lo siguiente en el
archivo /etc/cups/cupsd.conf:
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Allow from <your_ip_address>
Order allow,deny
</Location>
NOTA
3. Para poder acceder a los archivos de registro en el CUPS web UIincluya lo siguiente en el
archivo /etc/cups/cupsd.conf:
<Location /admin/log>
AuthType Default
Require user @SYSTEM
Allow from <your_ip_address>
Order allow,deny
</Location>
NOTA
4. Para especificar el uso de la encriptación para las peticiones autenticadas en el CUPS web
UIincluya DefaultEncryption en el archivo /etc/cups/cupsd.conf:
Con esta configuración, recibirá una ventana de autenticación para introducir el nombre de
usuario de un usuario autorizado a añadir impresoras cuando intente acceder al menú
Administration. Sin embargo, también hay otras opciones cómo configurar DefaultEncryption.
Para más detalles, consulte la página man de cupsd.conf.
172
CAPÍTULO 9. CONFIGURACIÓN DE LA IMPRESIÓN
AVISO
Recursos adicionales
Para más información sobre cómo configurar un servidor CUPS utilizando el archivo
/etc/cups/cupsd.conf, consulte la página de manual cupsd.conf.
Requisitos previos
Procedimiento
1. Inicie el CUPS web UI como se describe en Sección 9.3, “Acceso y configuración de la interfaz
web de CUPS”
173
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
IMPORTANTE
Para poder añadir una nueva impresora mediante el botón CUPS web UIdebe
autenticarse como uno de los siguientes usuarios:
Superusuario
4. Si hay una impresora local conectada, o CUPS encuentra una impresora de red disponible,
seleccione la impresora. Si no hay ninguna impresora local ni de red disponible, seleccione uno
de los tipos de impresora de Other Network Printers, por ejemplo APP Socket/HP Jet direct,
introduzca la dirección IP de la impresora y haga clic en Continue.
174
CAPÍTULO 9. CONFIGURACIÓN DE LA IMPRESIÓN
5. Si ha seleccionado, por ejemplo, APP Socket/HP Jet direct como se muestra arriba, introduzca
la dirección IP de la impresora y, a continuación, haga clic en Continue.
6. Puede añadir más detalles sobre la nueva impresora, como el nombre, la descripción y la
ubicación. Para configurar una impresora para que se comparta en la red, utilice Share This
Printer como se muestra a continuación.
175
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
9. Una vez añadida la impresora, la siguiente ventana permite establecer las opciones de impresión
por defecto.
176
CAPÍTULO 9. CONFIGURACIÓN DE LA IMPRESIÓN
Tras hacer clic en Set Default Options, recibirá una confirmación de que la nueva impresora se ha
añadido correctamente.
Requisitos previos
Procedimiento
1. Haga clic en el menú Printers para ver las impresoras disponibles que puede configurar.
177
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
También puede comprobar los trabajos de impresión completados o todos los trabajos de
impresión activos haciendo clic en los botones Show Completed Jobs o Show All Jobs.
Es posible que desee imprimir una página de prueba si se cumple una de las siguientes condiciones.
Requisitos previos
Usted ha adquirido el acceso de administración al CUPS web UI como se describe en Sección 9.3.1,
“Adquirir acceso de administración a la interfaz web de CUPS”.
Procedimiento
Requisitos previos
Usted ha adquirido el acceso de administración al CUPS web UI como se describe en Sección 9.3.1,
“Adquirir acceso de administración a la interfaz web de CUPS”.
Procedimiento
179
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Instalación manual utilizando un certificado y una clave privada generados por una Autoridad de
Certificación
Requisitos previos
Para el demonio cupsd en el servidor:
180
CAPÍTULO 9. CONFIGURACIÓN DE LA IMPRESIÓN
NOTA
El certificado autofirmado no proporciona una seguridad tan fuerte como los certificados
generados por las Autoridades de Certificación de Gestión de Identidades (IdM),
Directorio Activo (AD) o Red Hat Certificate System (RHCS), pero puede ser utilizado
para servidores de impresión ubicados dentro de una red local segura.
Procedimiento
NOTA
181
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
NOTA
Requisitos previos
Tiene archivos de certificados y claves privadas generados por IdM, AD o por las Autoridades de
Certificación RHCS.
Procedimiento
1. Copie los archivos .crt y .key en el directorio /etc/cups/ssl del sistema en el que desea utilizar la
interfaz web de CUPS.
182
CAPÍTULO 9. CONFIGURACIÓN DE LA IMPRESIÓN
El beneficio de esta configuración es que el administrador de CUPS en Red Hat Enterprise Linux no
necesita almacenar un nombre de usuario y contraseña fijos en la configuración. CUPS se autentifica en
AD con el ticket Kerberos del usuario que envía el trabajo de impresión.
NOTA
Red Hat sólo soporta el envío de trabajos de impresión a CUPS desde su sistema local, y
no para volver a compartir una impresora en un servidor de impresión Samba.
Requisitos previos
La impresora que desea añadir a la instancia local de CUPS está compartida en un servidor de
impresión de AD.
Usted se unió al host de Red Hat Enterprise Linux como miembro del AD. Para más detalles,
consulte Sección 3.5.1, “Unir un sistema RHEL a un dominio AD” .
CUPS está instalado en Red Hat Enterprise Linux y el servicio cups está funcionando. Para más
detalles, consulte Sección 9.1, “Activación del servicio de copas” .
Procedimiento
# kinit administrator@AD_KERBEROS_REALM
# smbclient -L win_print_srv.ad.example.com -k
183
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
3. Opcional: Muestra la lista de modelos CUPS para identificar el nombre PPD de su impresora:
lpinfo -m
...
samsung.ppd Samsung M267x 287x Series PXL
...
Necesitará el nombre del archivo PPD cuando añada la impresora en el siguiente paso.
Pasos de verificación
1. Inicie sesión en el host de Red Hat Enterprise Linux como usuario de dominio de AD.
# kinit domain_user_name@AD_KERBEROS_REALM
3. Imprime un archivo en la impresora que has añadido al servidor de impresión local CUPS:
# lp -d example_printer file
Registro de acceso - Almacena mensajes sobre el número de veces que se ha accedido a los
184
CAPÍTULO 9. CONFIGURACIÓN DE LA IMPRESIÓN
Registro de acceso - Almacena mensajes sobre el número de veces que se ha accedido a los
clientes CUPS y a la interfaz web.
Registro de páginas - Almacena mensajes sobre el número total de páginas impresas para cada
trabajo de impresión.
En Red Hat Enterprise Linux 8, los tres tipos se registran de forma centralizada en systemd-journald
junto con los registros de otros programas.
AVISO
Procedimiento
$ journalctl -u cups
Procedimiento
Procedimiento
185
Red Hat Enterprise Linux 8 Despliegue de diferentes tipos de servidores
Para obtener información más detallada sobre el acceso a los registros de CUPS, consulte la página man
journalctl.
En Red Hat Enterprise Linux 8, los registros de CUPS se registran por defecto en systemd-journald, lo
que se asegura mediante la siguiente configuración por defecto en el archivo /etc/cups/cups-files.conf:
ErrorLog syslog
IMPORTANTE
Red Hat recomienda mantener la ubicación por defecto de los registros de CUPS.
Si desea enviar los registros a una ubicación diferente, debe cambiar la configuración en el archivo
/etc/cups/cups-files.conf de la siguiente manera:
ErrorLog <su_ubicación_requerida>
AVISO
contexto: configuración-impresión
contexto: Desplegando-diferentes-tipos-de-servidores
186