Вам нужно использовать описание файла, отличное от стандартного ввода, если вы хотите запустить что-то интерактивное внутри цикла.
#!/bin/bash
while read -r file <&3; do
vim "$file"
done 3< <(find . -type f)
В качестве альтернативы, с разделителями нулевого байта для поддержки необычных имен файлов:
#!/bin/bash
while IFS= read -r -d '' file <&3; do
vim -- "$file"
done 3< <(find . -type f -print0)
Вывод find
передается с помощью подстановки процесса в файловый дескриптор 3, который затем передается в прочтите с
по <& 3
.
Simplemente agregue lo siguiente a/etc/hosts.deny
:
ALL: 31.13.76.102
ALL: 216.58.192.0/19
ALL: 173.194.0.0/16
ALL: 74.125.136.0/24
Si bien puede usar /etc/hosts.deny
, hosts.deny solo funciona con aplicaciones envueltas en TCP como ssh o xinetd. Recomendaría usar iptables
ya que es un verdadero cortafuegos para su sistema. Solo usa algo como esto:
iptables -I INPUT -s 31.13.76.102 -j DROP
iptables -I INPUT -m iprange --src-range 216.58.192.0-216.58.223.255 -j DROP
iptables -I INPUT -m iprange --src-range 173.194.0.0-173.194.255.255 -j DROP
iptables -I INPUT -m iprange --src-range 74.125.136.0-74.125.136.255 -j DROP
iptables-save > /etc/sysconfig/iptables
El iprange
es un módulo realmente genial para usar en situaciones como esta.
Команда ufw
(U ncomplicated F ire W all , упрощенный интерфейс -end для iptables, изначально для Ubuntu, теперь также доступно для Debian и других дистрибутивов )принимает спецификации диапазона CIDR , например:
ufw insert 1 deny from 31.13.76.102 # single address
ufw insert 1 deny from 216.58.192.0/18 # range