Saya ingin salah satu pengguna (tidak ada dalam daftar sudoers) memiliki akses Internet dari pukul 14:00 hingga 16:00 dan dari 17:00 hingga 18:30. Apa itu mungkin? Dapatkah saya mengatur interval waktu yang berbeda untuk hari kerja yang berbeda?
Saya ingin salah satu pengguna (tidak ada dalam daftar sudoers) memiliki akses Internet dari pukul 14:00 hingga 16:00 dan dari 17:00 hingga 18:30. Apa itu mungkin? Dapatkah saya mengatur interval waktu yang berbeda untuk hari kerja yang berbeda?
Jawaban:
Anda dapat menggunakan owner
ekstensi iptables untuk memblokir pengguna agar tidak mengakses internet
sudo iptables -A OUTPUT -m owner --uid-owner user_you_want_to_block -j REJECT
Sekarang Anda dapat menggunakan cron untuk menambah atau menghapus aturan-aturan itu (yang mungkin memerlukan sedikit skrip shell jika Anda sudah memiliki beberapa aturan iptable atau menginginkannya untuk pengguna yang berbeda di waktu yang berbeda).
-j REJECT --reject-with <argument>
?
login sebagai root:
sudo su
periksa status firewall Anda:
ufw status
jika firewall tidak aktif , masalah:
ufw enable
untuk membatasi pengguna wilhelm akses internet pada hari Minggu, Selasa, Rabu dan Jumat untuk interval yang diizinkan Waktu (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
catatan samping : * harap perhatikan penggunaan -I
sakelar alih-alih -A
sakelar iptables
perintah. yang -I
beralih menyisipkan aturan tersebut (3.) di awal (atas) dari OUTPUT rantai aturan daripada di bagian bawah rantai. menempatkan aturan yang ditambahkan secara manual di atas kebijakan firewall biasa adalah penting karena aturan diproses dari atas ke bawah. jika sebagian besar aturan MENERIMA sebuah paket, rantai, OUTPUT, tidak lagi diperiksa untuk aturan berikut yang mungkin telah MENGHENTIKAN paket.
harap pastikan bahwa aturan itu dimasukkan dengan benar:
iptables -L OUTPUT
untuk menghapus aturan yang tidak pantas, mengatakan (count 1 berbasis dari atas kekuasaan No 1, iptables -v -L OUTPUT
) masalah: iptables -D OUTPUT 1
.
simpan iptables untuk memulihkan pada boot berikutnya:
iptables-save > /etc/iptables.rules
di /etc/rc.local
tambahkan baris:
iptables-restore < /etc/iptables.rules
selesai
-
diuji di Ubuntu 11.10 (oneiric), lokal: he
central european summer time -2 hours
.
ufw
meskipun nanti Anda gunakan iptables
?
--kerneltz
opsi ("Gunakan zona waktu kernel bukan UTC")