🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.news.admin
Article #27593

Re: Prośba do administratorów

#27593
From: Wolodyj
Date: Mon, 07 Feb 2011 14:21
161 lines
5191 bytes
Piotr KUCHARSKI pisze:

> O, śliczne. Podzielisz się metodologią tworzenia ACL-ki innd
> z takiego asseta?

Oczywiście, proszę jednak traktować to jako coś do poprawienia,
ewentualnie czerpać jakiś własny pomysł,bez gwarancji że będzie
dobrze działać, wszak testujemy to dopiero.

Jeśli ktoś ma czas zrobić taki konfigurowalny generator było by super,
w tym przypadku wszelkie ścieżki itp są zahardkodowane w skrypcie (Wiem FUJ).


Skryptologia wykonuje się z usera irr,
irr jest też właścicielem  /etc/news/readers.conf,
w którym są ACL'ki.
W /home/irr/local/ został ze źródeł zainstalowany IRRToolSet (http://irrtoolset.isc.org/),
ze źródeł, w sumie interesuje nas tylko jedna binarka, u mnie jest to /home/irr/local/bin/peval


Cykliczne generowanie readers.conf z crona:

0/10 *  *  *  *  bash -c " cp <( /home/irr/readerbuilder/create_readers_conf.sh ) /etc/news/readers.conf "

Sam skrypt (Tak jak pisałem, nawet nie jest solidnie przetestowany):

#!/bin/bash

PREFIX_LIST_FILE=/home/irr/readerbuilder/prefix_list.txt
BACKUP_DIR=/home/irr/readerbuilder/backup

CUR_PREFIX_LIST=`cat $PREFIX_LIST_FILE`
ADD_PREFIX_LIST=`/home/irr/local/bin/peval AS-ATMAN-NEWS | perl -ne '@tmp=split(",",$_); foreach my $t  (@tmp) { if ($t =~ /(\d+\.\d+\.\d+\.\d+(\/\d+)?)/) { print "$1\n" ;}
} ' `



# UWAGA
# nigdy nic autoamatem nie usuwamy, jedynie dodajemy ip
PREFIX_LIST=`echo "$CUR_PREFIX_LIST
$ADD_PREFIX_LIST" | sort -u`


# jesli wystapiły zmiany generujemy nowy $PREFIX_LIST_FILE

if ! ( diff -u "$PREFIX_LIST_FILE" <(echo "$PREFIX_LIST") > /dev/null ) ; then
        mkdir -p "$BACKUP_DIR"
        cp $PREFIX_LIST_FILE $BACKUP_DIR/prefix_list_before-`date +"%Y%m%d%H%M%S"`.txt
        echo "$PREFIX_LIST" > "$PREFIX_LIST_FILE"
fi



cat << _EOF_
# ten plik jest generowny automatycznie z crona skryptem $0
# jesli chcemy cos dodac lub usunac nalexy to robic w skrypcie $0 z usera irr
# W pliku znajduja sie prefiksy z as-atman-news

_EOF_


# w pliku readers.conf dlugosc lini maksymalnie moze wynosic   8,192 characters
# wiec dzielimy prefixy na kilka

AUTH_FOOTER='"
default: <AS-ATMAN-NEWS>
}
'

COUNT=1
GROUP_NR=1
MAX_PREFIXES=400
for PREFIX in  $PREFIX_LIST
do

        if [ "$COUNT" == "1" ]; then
                echo  "auth as-atman-news$GROUP_NR {"
                echo -n 'hosts: "'
                echo -n "$PREFIX"
                COUNT=$(($COUNT+1))
                GROUP_NR=$(($GROUP_NR+1))
        elif [ "$COUNT" == "$MAX_PREFIXES" ]; then
                echo -n ","
                echo -n "$PREFIX"
                echo -n "$AUTH_FOOTER"
                COUNT=1

        else
                echo -n ","
                echo -n "$PREFIX"
                COUNT=$(($COUNT+1))
        fi
done
echo -n "$AUTH_FOOTER"


# generujemy stopke

cat << _EOF_


access as-atman-news {
        users: <AS-ATMAN-NEWS>
        newsgroups: "*, !fido.*sysop*,!junk,!control,!control.*"
        access: RP
}


##############################
###### BANY ##################
##############################



auth banned {
        hosts: "xxxxxxxxx"
        default: <BANNED>
}

access banned {
        users: <BANNED>
        newsgroups: ""
        reject_with: "Nie mozesz korzystac z tego serwera. Infomacje usenet@atman.pl "
}




auth admin {
        hosts: "xxxxxxxxx"
        default: <ADMIN>
}

access admin {
        users: <ADMIN>
        newsgroups: "*,"
        access: RPNAL
        perlfilter: false
}

auth "localhost" {
    hosts: "localhost, 127.0.0.1, ::1, stdin"
    default: "<localhost>"
}


access "localhost" {
    users: "<localhost>"
    newsgroups: "*"
    access: RPA
}



_EOF_



-- 
Pozdrawiam
     Marek Grzybowski
Technical Details
Message-ID: <iioqb6$lug$1@node2.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!moderators!bif
References: <4d4ec2fd$0$2456$65785112@news.neostrada.pl> <iiol6a$chq$1@node2.news.atman.pl> <iionsk$ifo$1@node2.news.atman.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!moderators!bif
From: Wolodyj <tombo-marek@o2.pl>
Newsgroups: pl.news.admin
Subject: Re: Prośba do administratorów
Date: Mon, 7 Feb 2011 15:21:28 +0100 (CET)
Organization: ATMAN - ATM S.A.
Lines: 161
Sender: bif@pisz.do.mnie.na.berdyczow.org
Approved: Beeth@bnafh.bofh.org.pl
Message-ID: <iioqb6$lug$1@node2.news.atman.pl>
References: <4d4ec2fd$0$2456$65785112@news.neostrada.pl> <iiol6a$chq$1@node2.news.atman.pl> <iionsk$ifo$1@node2.news.atman.pl>
NNTP-Posting-Host: 42.pl
Mime-Version: 1.0
X-Trace: skipper.rmf.pl 1297088488 11816 79.98.145.42 (7 Feb 2011 14:21:28 GMT)
X-Complaints-To: abuse@rmf.pl
NNTP-Posting-Date: Mon, 7 Feb 2011 14:21:28 +0000 (UTC)
X-Original-X-Trace: node2.news.atman.pl 1297083558 22480 217.149.249.122 (7 Feb 2011 12:59:18 GMT)
X-Moderator: Piotr Kucharski <nospam at 42 dot pl>
In-Reply-To: <iionsk$ifo$1@node2.news.atman.pl>
X-Moderator-Tool: modArc v2.1.2, last rev. 2010.01.11
User-Agent: Mozilla-Thunderbird 2.0.0.24 (X11/20100329)
X-Original-NNTP-Posting-Host: zwsa.atman.pl
X-Original-Date: Mon, 07 Feb 2011 13:59:17 +0100
X-Original-NNTP-Posting-Date: Mon, 7 Feb 2011 12:59:18 +0000 (UTC)
X-Original-X-Complaints-To: usenet@atman.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit