Como configurar um arquivo do servidor / crontab / bash Apache para permitir o acesso em determinados momentos durante o dia e / ou a partir de IPs específicos?

Jordan:

Eu estou tentando um exercício dado pelo meu instrutor. Temos a tarefa de criação de um VirtualHost que pode ser acessado Seg-Sex / 1-5. Além disso, devemos permitir que o acesso ao site de IP "XX.XX.XX.XXX" a qualquer momento.

crontab atual:

* 13 * * 1-5 root apachectl start
* 17 * * 1-5 root apachectl stop
* * * * * root ./bash

arquivo Bash:

currIP=$(hostname -I)
case "$currIP" in
        *XX.XX.XX.XXX*)
              ???????
;;
esac

Alguém pode explicar-me como eu vou servir a este site para o IP sem servir a todos de uma vez?

Obrigado!

Matias Barrios:

Vamos dizer que este é o seu arquivo de configuração.

/etc/apache2/httpd.conf

Execute estes comandos:

sudo cp /etc/apache2/httpd.conf all.conf
sudo cp /etc/apache2/httpd.conf restricted.conf

Agora criar esta em algum lugar script no seu sistema:

#!/bin/bash

[[ "$1" = "all" ]] && { ln -s --force /etc/apache2/all.conf /etc/apache2/httpd.conf ;}
[[ "$1" = "restricted" ]] && { ln -s --force /etc/apache2/restricted.conf /etc/apache2/httpd.conf ;}
sudo systemctl restart httpd

E adicionar permissões de execução a ele:

sudo chmod +x /path/to/your/script.sh

Agora modifique /etc/apache2/restricted.conf aos pedidos de filtro por IP. Você pode encontrar informações sobre isso aqui: https://httpd.apache.org/docs/2.4/es/mod/mod_authz_core.html#require

Agora definir o cron raiz como:

sudo crontab -e

E ali acrescentar o seguinte:

* 13 * * 1-5 /path/to/your/script.sh "all"
* 17 * * 1-5 /path/to/your/script.sh "restricted"

E seja feliz!

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=320403&siteId=1
Recomendado
Clasificación