среда, 30 ноября 2011 г.

Поиск и замена текста в файлах

Рекурсивный поиск и замена в файлах исключая определённые файлы и каталоги.

В данном примере из поиска исключаются каталоги ".svn" и файлы, попадающие под шаблон "*.log". В остальных найденных файлах производится замена.

#!/bin/sh
oldstr='oldtext'
newstr='newtext'

for fileName in `grep -rl --exclude=*.log --exclude-dir=.svn $oldstr .`;
do
sed -i 's/'$oldstr'/'$newstr'/g' $fileName
done;

среда, 23 ноября 2011 г.

Настраиваем firewall c помощью iptables

Откроем только нужные нам порты на системе.

Чтобы правила выполнялись после поднятия сетевого интерфейса в ubuntu/debian создадим файл


touch /etc/network/if-up.d/firewall
chmod +x /etc/network/if-up.d/firewall

и добавим в него правила

#!/bin/sh
iptables -F INPUT

#разрешаем нужные нам порты
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 --syn -j ACCEPT #ssh
iptables -A INPUT -p tcp --dport 21 --syn -j ACCEPT #ftp

### Разрешаем мультикаст для IPTV
iptables -A INPUT -d 224.0.0.0/240.0.0.0 -p igmp -j ACCEPT
iptables -A INPUT -d 224.0.0.0/240.0.0.0 -p udp -m udp ! --dport 1900 -j ACCEPT

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # Разрешаем входящие пакеты по уже установленным соединениям
iptables -A INPUT -i eth0 -j DROP