ユーザーの1人(sudoersリストに含まれていない)が14:00から16:00まで、および17:00から18:30までインターネットにアクセスできるようにします。出来ますか?曜日ごとに異なる時間間隔を設定できますか?
ユーザーの1人(sudoersリストに含まれていない)が14:00から16:00まで、および17:00から18:30までインターネットにアクセスできるようにします。出来ますか?曜日ごとに異なる時間間隔を設定できますか?
回答:
次のように、iptablesのowner
拡張機能を使用して、ユーザーがネットにアクセスするのをブロックできます。
sudo iptables -A OUTPUT -m owner --uid-owner user_you_want_to_block -j REJECT
これで、cronを使用してこれらのルールを追加または削除できます(既にiptableルールがある場合や、異なるユーザーに異なる時間にシェルスクリプトを追加する必要がある場合)。
-j REJECT --reject-with <argument>
ますか?
ルートとしてログイン:
須藤す
ファイアウォールのステータスを確認します。
ufw status
ファイアウォールが非アクティブの場合、次を発行します。
ufw enable
日曜日、火曜日、水曜日、金曜日のユーザーウィルヘルムインターネットアクセスを許可された時間間隔(14:00-16:00および17:00-18:30)に制限するため:
iptables -I OUTPUT -p tcp -m owner --uid-owner wilhelm -m time --weekdays Su,Tu,We,Fr --timestart 00:00:01 --timestop 14:00:00 -j DROP
iptables -I OUTPUT -p tcp -m owner --uid-owner wilhelm -m time --weekdays Su,Tu,We,Fr --timestart 16:00:00 --timestop 17:00:00 -j DROP
iptables -I OUTPUT -p tcp -m owner --uid-owner wilhelm -m time --weekdays Su,Tu,We,Fr --timestart 18:30:00 --timestop 23:59:59 -j DROP
サイドノート:* コマンドのスイッチでは-I
なくスイッチの使用に注意してください。スイッチは、出力ルールチェーンの先頭(最上部)にはなく、チェーンの底に上述のルール(3)を挿入します。ルールは上から下に処理されるため、手動で追加されたルールを通常のファイアウォールポリシーの上に配置することが重要です。一番上の規則がパケットを受け入れる場合、チェーンOUTPUTは、パケットをドロップした可能性のある次の規則についてチェックされなくなります。-A
iptables
-I
ルールが実際に正しく入力されたことを確認してください。
iptables -L OUTPUT
不適切なルールを削除するためには、(上から1ベースのカウント規則第1号を、と言うiptables -v -L OUTPUT
問題): iptables -D OUTPUT 1
。
次回の起動時に復元するためにiptablesを保存します。
iptables-save > /etc/iptables.rules
次/etc/rc.local
の行を追加します。
iptables-restore < /etc/iptables.rules
やった
-
Ubuntu 11.10(oneiric)、ロケールでテスト済み:彼
central european summer time -2 hours
。
ufw
後で使用しても有効にする理由は何iptables
ですか?
--kerneltz
オプションで修正できる@PrecisePenguin (「UTCの代わりにカーネルタイムゾーンを使用する」)