Hozzászólások
-
SzerzőBejegyzés
-
Nos, mivel nem tudjuk, hogy milyen port(okat) akarsz engedélyezni és azt sem, hogy melyik országnak, ezért a példában a 22 és 80-as TCP portokat adtam meg, MO-i címeknek -de ezeket értelemszerűen átírhatod kedvedre:
Code:#!/bin/bash# TCP Syncookies vedelem bekapcsolasa:echo 1 > /proc/sys/net/ipv4/tcp_syncookies# Valtozok beallitasa:IPT="/usr/sbin/iptables"SERVER_PORT="22,80"ZONA="hu.zone"# Lancok uritese, szabalyok torlese, lanc alapertekek:$IPT -F$IPT -X$IPT -P INPUT ACCEPT$IPT -P OUTPUT ACCEPT$IPT -P FORWARD ACCEPT# Alap szabalyok:$IPT -A INPUT -i lo -j ACCEPT$IPT -A INPUT -s 0/0 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT$IPT -A INPUT -s 0/0 -i eth0 -p icmp -j ACCEPT# Az engedelyezett IP tartomany listajanak letoltese:wget -P /tmp/ http://www.ipdeny.com/ipblocks/data/countries/$ZONA# A lista alapjan az IP tartomanyok engedelyezese a megadott portokra:cat /tmp/$ZONA | while read tartomanydoInnen http://www.ipdeny.com/ipblocks/data/countries/ kiválaszthatod a neked tetsző ország IP tartományát, azokat a tartományokat engeded, rajta kívül minden mást tilthatsz.
Lehet, hogy csak én vagyok kicsit fáradt, de nem értem mit szeretnél.Az adott kezdő oszlop értékű sorokból (ami a mintában csak 1 és 3) azokat keresed, ahol a 3. oszlop értéke a legkisebb?Mert akkor az 1-el kezdődő sorok közül a 0.054210 a legkisebb érték (ami három sorban is szerepel), de végül melyik oszlop is kell?A 3-al kezdődőeknél pedig a 0.000000
Igaz, hogy nem kimondottan elegáns, de működik:
Code:#!/bin/bash# Az adatfile neve es helye:file=/tmp/szam_lista# Az adatfajl elso oszlopaban talalhato kulonbozo szamok megkeresese# feltetelezve, hogy mar az elso oszlop szerint rendezett az adatfile:elemek=$(awk {'print $1'} $file | uniq)# Vegigmegyunk az elemeken es az adott szamhoz tartozo elso talalatot kiiratjukfor szam in $elemekdo2010-09-01-13:56 Hozzászólás: Bash szkriptben változók értelmezésének globális kikapcsolása #2200520Goosfrabaa wrote:…létezik -e valami egyszerű megoldás (pl. kapcsoló), amivel globálisan tiltható a Bash ezen működése azaz, hogy semmit ne akarjon „értelmezni”?
Ehh, most megvan a megoldás, pedig mennyit kerestem előtte…Szóval nem globális tiltás, de épp azt csinálja, amit akarok. A lényege, hogy a bevitel végét jelző szöveget (itt EOF) „”-el kell levédeni így:
cat < /tmp/uj_fileA belépést úgy lehet tiltani a legegyszerűbben, hogy létre hozod a
/etc/nologin
fájlt. Ekkor csak a root tud belépni (ssh-n keresztül is!).Egyéb hálózati szolgáltatásokat pedig úgy tudsz tiltani, ha a
/etc/hosts.deny
-ben ez szerepel:ALL: ALL: DENY
és a/etc/hosts.allow
fájlban nem teszel semmilyen megengedő bejegyzést.lásd alább
Csak azt hittem van valami hasonlóan egyszerű megoldás, mint a Win2008 szerver és a Win7 tűzfalában (szimpla outbound rule), ami különösebb varázslat nélkül (úgy emlékszem) mindezt tudja. Én kérek elnézést..
Köszönöm a választ.
A 2. megoldást értem, bár nem tartom szerencsésnek a sudo használatát,
az 1. megoldásnál pedig ha jól értem minden szabályozni kívánt végrehajtható fájlt újra kéne fordítani azzal a kis plusz kóddal? Mert ez így elég nehézkes.Furcsállom, hogy nincs egy egyszerű, univerzális megoldás a problámára.
Hmm, ez jól hangzik, de nálam az owner modul csak
--uid-owner, --gid-owner, --socket-exists
opciókat támogat,--cmd-owner
opciót nem. 2.6.33-as kernelem és 1.4.8-as iptables csomagom van. -
SzerzőBejegyzés
legutóbbi hsz