日中および/または特定のIPアドレスから特定の時間帯のアクセスを許可するようにApacheサーバー/ crontabの/ bashのファイルを構成する方法?

ヨルダン:

私は私のインストラクターによって与えられた運動をしようとしています。私たちは月 - 金曜1-5 /アクセスすることができたのVirtualHostを設定する使命を帯びました。その上で、私たちはいつでもIP「XX.XX.XX.XXX」からサイトへのアクセスを許可する必要があります。

現在のcrontab:

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

バッシュファイル:

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

誰かが、私は一度にすべての人にそれを提供することなく、IPにこのサイトを提供するつもりですか私に説明できますか?

ありがとう!

マティアス・バリオス:

これはあなたの設定ファイルであると言うことができます。

/etc/apache2/httpd.conf

これらのコマンドを実行します。

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

今お使いのシステムでこのスクリプトのどこかを作成します。

#!/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

そして、それに実行権限を追加します。

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

今すぐ修正/etc/apache2/restricted.conf IPによるフィルタ要求に。:あなたはここでその上の情報を見つけることができますhttps://httpd.apache.org/docs/2.4/es/mod/mod_authz_core.html#require

今のように、ルートのcronを設定します。

sudo crontab -e

そして、そこにこれを追加します。

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

そして、幸せになります!

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=320404&siteId=1