web-dev-qa-db-ja.com

denyhostsからIPアドレスを削除する方法

自宅のコンピューターからdenyhostsを試していましたが、IPアドレスがブロックされ、/ etc /hosts.denyに配置されました。

現在、私のIPは静的ではなく、毎週変更されるため、hosts.allowのIPを修正しました。

そのIPを/etc/hosts.denyから手動で削除しようとしましたが、5分後に再びそのアドレスが追加されます。

ブロックされたIPアドレスをdenyhostsから手動で削除する方法

centOS

6
John

/ usr/local/bin/denyhosts_unban

#!/bin/bash

if [ -z "$1" ]; then
    echo -e "Error:\n\tProvide IP as the first param"
    echo -e "Usage:\n\t$0 <IP>"
    exit 1
fi

/etc/init.d/denyhosts stop
echo '
/var/lib/denyhosts/hosts
/var/lib/denyhosts/hosts-restricted
/var/lib/denyhosts/hosts-root
/var/lib/denyhosts/hosts-valid
/var/lib/denyhosts/users-hosts
/etc/hosts.deny
' | grep -v "^$" | xargs sed -i "/$1/d"
/etc/init.d/denyhosts start
3
O'kella

これは、DenyHosts FAQでも説明されています: http://denyhosts.sourceforge.net/faq.html#3_19

1
Andy Lester
#!/bin/sh

IP=$1
if [ -n "$IP" ];then
    if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]];then
        sed -i "/$IP/d" /etc/hosts.deny
        sed -i "/$IP/d" /var/lib/denyhosts/hosts-valid
        sed -i "/$IP/d" /var/lib/denyhosts/users-hosts
        echo $IP remove from Denyhosts
    else
        echo "This is not IP"
    fi
else
    echo "IP is empty"
0