<Files
[~] “<fichero>” > [configuración] </Files> -
Directiva contenedora, dentro podrán colocarse directivas de
configuración que se aplicarán al fichero indicado.
En el ejemplo de la imagen podremos ver que a los ficheros que se llamen patata.html les denegamos el acceso con la directiva Require all denied (que es válida a partir de Apache 2.4) que veremos ahora después.
Puede indicarse el nombre de un fichero literalmente, utilizarse los
comodines del sistema operativo ? Y *, o expresiones regulares
colocando la opción ~ (Apache usa Expresiones Regulares compatibles
con Perl)
Puede indicarse el nombre de un directorio literalmente, utilizarse los comodines del sistema operativo ? Y * ( nunca sustituyen al carácter barra de separación de ruta / ), o expresiones regulares colocando la opción ~ ( Apache usa Expresiones Regulares compatibles con Perl ).
Options All | None | [+|-] <opcion> [[+|-] <opcion> ] -
Permisos para un directorio en particular. <option>
-
All – Todas las opciones permitidas
-
FollowSymLinks – Permite seguir enlaces simbólicos
-
SymLinksIfOwnerMatch – Permite seguir enlaces cuyo objetivo corresponda al mismo usuario que el enlace.
-
Indexes – Se permite generar la página de índices
-
Includes – Permite hacer inclusiones
-
IncludesNOEXEC – Permite hacer inclusiones salvo ejecutables
-
ExecCGI – Permite la ejecución CGI
-
MultiViews – Permite navegación de vistas según contenido
-
None – Ninguna opción está autorizada
Los ficheros (por defecto .htaccess) que vimos en la directiva AccessFileName de el artículo anterior sirven para sobre-escribir directivas dentro de un directorio concreto.
AllowOverride All | None | <opcion> | <opcion>
AllowOverride permite dentro de un directorio sobreescribir directivas con el fichero definido en AcccessFileName
Podemos especificar qué directivas se podrán sobreescribir, dejar que se puedan sobreescribir todas (all), o, no permitir que se sobreescriba ninguna(none)
- All
- AuthConfig – Directivas de autenticación
- FileInfo – Directivas de control de tipos de documento, mime, metadata, rewrite y actions
- Indexes – Directivas de Indexación
- Limit – Directivas de acceso (Allow, Deny y Order)
- None – Ninguna directiva
Order Deny, Allow | Allow, Deny – Orden en el que se aplicarán las
reglas de autorización (Allow) y denegación (Deny), y la política
por defecto:
-
Deny, Allow – Primero reglas de denegación y luego autorización, por defecto autorizar.
-
Allow, Deny – Primero reglas de autorización y luego denegación por defecto denegar.
-
Allow from all | <host> [<host>]
-
Deny from all | <host> [<host>] - Necesitan de la anterior, autorizar o dengar el acceso. Host puede ser:
-
IP (o parte de IP sólo si empiezan igual)
-
IP/Máscara
-
DNS (o parte de DNS sólo si terminan igual)
-
Esta imagen la he hecho yo en LibreOffice en mis apuntes pero ni que decir tiene que la podéis usar libremente.
Require user <usuario> | group <grupo> [ <grupo> ]
| valid-user – Usuario necesario para
poder acceder.
Satisfy All | Any – Permite acceder a un directorio sin necesidad
de usuario. Permite colocar excepciones. Permite que alguien pueda
acceder a un directorio sin necesitar un usuario.
-
All – Se requiere usuario
-
Any – Se podrá acceder únicamente cumpliendo la directiva Allow. (Nota: permite saltarse las restricción de usuario)
Las directivas Satisfy, Require, Order, Allow y Deny se han
organizado en la versión 2.4 de apache.
Nuevas directivas
Require [not] {user <usuario> [ <usuario> ] | group
<grupo> [ <grupo> ] | valid-user | all granted | all
denied | ip <ip> [<ip>] | host <dns> [<dns>]
}
2.4 unifica en la directiva Require la autenticación y el control de
acceso, la autenticación mantiene sus opciones y se añaden las
opciones de control de acceso:
-
all granted: acceso autorizado para cualquier equipo.
-
All denied: acceso denegado para cualquier equipo
-
ip <ip> [<ip>]: acceso autorizado para las IP/s especificadas/s
-
host <dns> [<dns>]: acceso autorizado para las DNS/s especificada/s
-
Nota: IP y DNS pueden especificarse solo una parte como en las directivas antiguas. En IP puede especificarse también una red con máscara.
Primero se aplican las reglas de las directiva antigua y después la
de la nueva.
Las opciones de Require pueden ir precedidas de not, supondrán
la negociación de ese requerimiento. Ej.) Require not group admin →
se deja pasar a los usuarios que no pertenezcan al grupo admin.
2.4 es compatible con las
directivas antiguas (Cuidado se aplican primero las antiguas, eso
significa que priman sobre las nuevas en caso de conflicto).
Pueden especificarse varias diretivas Require. Pueden usarse las
nuevas directivas contenedoras (por defecto RequireAny si no se usa
ninguna):
-
<RequireAll> #Require's </RequireAll> → Acceso solo permitido si se sumplen todos los Require.
-
<RequireAny> #Require's </RequireAny> → Acceso solo permitido si se cumple un Require ( no se comprueban los posteriores ).
-
<RequireNone> #Require's </RequireNone> → Acceso solo permitido si no se cumple ningún Require.
Include <fichero> | <directorio> - Permite agregar
ficheros adicionales de configuración
-
<fichero> - Incluirá el fichero de configuración indicado, pueden usarse los comodines del sistema ? Y * para incluir varios ficheros. (Ej. *.conf todos los ficheros con extensión conf)
-
<directorio> - Se desaconseja su uso, incluirá todos los ficheros de un directorio y sus subdirectorios.
-
El directorio por defecto si no se indica ruta absoluta será el indicado en la directiva ServerRoot
Podemos ver un ejemplo de esta directiva en el fichero de configuración de Apache a la hora de incluir la configuración de los escuchadores. (ports.conf)
No hay comentarios:
Publicar un comentario