|
@@ -6333,44 +6333,54 @@ function spam_filtering {
|
6333
|
6333
|
chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/.procmailrc
|
6334
|
6334
|
# filtering scripts
|
6335
|
6335
|
echo '#!/bin/bash' > /usr/bin/filterspam
|
6336
|
|
- echo 'USERNAME=$1' >> /usr/bin/filterspam
|
6337
|
|
- echo 'MAILDIR=/home/$USERNAME/Maildir/.learn-spam' >> /usr/bin/filterspam
|
6338
|
|
- echo 'if [ ! -d "$MAILDIR" ]; then' >> /usr/bin/filterspam
|
6339
|
|
- echo ' exit' >> /usr/bin/filterspam
|
6340
|
|
- echo 'fi' >> /usr/bin/filterspam
|
6341
|
|
- echo 'for f in `ls $MAILDIR/cur`' >> /usr/bin/filterspam
|
6342
|
|
- echo 'do' >> /usr/bin/filterspam
|
6343
|
|
- echo ' spamc -L spam < "$MAILDIR/cur/$f" > /dev/null' >> /usr/bin/filterspam
|
6344
|
|
- echo ' rm "$MAILDIR/cur/$f"' >> /usr/bin/filterspam
|
6345
|
|
- echo 'done' >> /usr/bin/filterspam
|
6346
|
|
- echo 'for f in `ls $MAILDIR/new`' >> /usr/bin/filterspam
|
6347
|
|
- echo 'do' >> /usr/bin/filterspam
|
6348
|
|
- echo ' spamc -L spam < "$MAILDIR/new/$f" > /dev/null' >> /usr/bin/filterspam
|
6349
|
|
- echo ' rm "$MAILDIR/new/$f"' >> /usr/bin/filterspam
|
|
6336
|
+ echo 'for d in /home/*/ ; do' >> /usr/bin/filterspam
|
|
6337
|
+ echo ' USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/filterspam
|
|
6338
|
+ echo ' if [[ $USERNAME != "git" ]]; then' >> /usr/bin/filterspam
|
|
6339
|
+ echo ' MAILDIR=/home/$USERNAME/Maildir/.learn-spam' >> /usr/bin/filterspam
|
|
6340
|
+ echo ' if [ ! -d "$MAILDIR" ]; then' >> /usr/bin/filterspam
|
|
6341
|
+ echo ' exit' >> /usr/bin/filterspam
|
|
6342
|
+ echo ' fi' >> /usr/bin/filterspam
|
|
6343
|
+ echo ' for f in `ls $MAILDIR/cur`' >> /usr/bin/filterspam
|
|
6344
|
+ echo ' do' >> /usr/bin/filterspam
|
|
6345
|
+ echo ' spamc -L spam < "$MAILDIR/cur/$f" > /dev/null' >> /usr/bin/filterspam
|
|
6346
|
+ echo ' rm "$MAILDIR/cur/$f"' >> /usr/bin/filterspam
|
|
6347
|
+ echo ' done' >> /usr/bin/filterspam
|
|
6348
|
+ echo ' for f in `ls $MAILDIR/new`' >> /usr/bin/filterspam
|
|
6349
|
+ echo ' do' >> /usr/bin/filterspam
|
|
6350
|
+ echo ' spamc -L spam < "$MAILDIR/new/$f" > /dev/null' >> /usr/bin/filterspam
|
|
6351
|
+ echo ' rm "$MAILDIR/new/$f"' >> /usr/bin/filterspam
|
|
6352
|
+ echo ' done' >> /usr/bin/filterspam
|
|
6353
|
+ echo ' fi' >> /usr/bin/filterspam
|
6350
|
6354
|
echo 'done' >> /usr/bin/filterspam
|
|
6355
|
+ echo 'exit 0' >> /usr/bin/filterspam
|
6351
|
6356
|
|
6352
|
6357
|
echo '#!/bin/bash' > /usr/bin/filterham
|
6353
|
|
- echo 'USERNAME=$1' >> /usr/bin/filterham
|
6354
|
|
- echo 'MAILDIR=/home/$USERNAME/Maildir/.learn-ham' >> /usr/bin/filterham
|
6355
|
|
- echo 'if [ ! -d "$MAILDIR" ]; then' >> /usr/bin/filterham
|
6356
|
|
- echo ' exit' >> /usr/bin/filterham
|
6357
|
|
- echo 'fi' >> /usr/bin/filterham
|
6358
|
|
- echo 'for f in `ls $MAILDIR/cur`' >> /usr/bin/filterham
|
6359
|
|
- echo 'do' >> /usr/bin/filterham
|
6360
|
|
- echo ' spamc -L ham < "$MAILDIR/cur/$f" > /dev/null' >> /usr/bin/filterham
|
6361
|
|
- echo ' rm "$MAILDIR/cur/$f"' >> /usr/bin/filterham
|
6362
|
|
- echo 'done' >> /usr/bin/filterham
|
6363
|
|
- echo 'for f in `ls $MAILDIR/new`' >> /usr/bin/filterham
|
6364
|
|
- echo 'do' >> /usr/bin/filterham
|
6365
|
|
- echo ' spamc -L ham < "$MAILDIR/new/$f" > /dev/null' >> /usr/bin/filterham
|
6366
|
|
- echo ' rm "$MAILDIR/new/$f"' >> /usr/bin/filterham
|
|
6358
|
+ echo 'for d in /home/*/ ; do' >> /usr/bin/filterham
|
|
6359
|
+ echo ' USERNAME=$(echo "$d" | awk -F "/" "{print $3}")' >> /usr/bin/filterham
|
|
6360
|
+ echo ' if [[ $USERNAME != "git" ]]; then' >> /usr/bin/filterham
|
|
6361
|
+ echo ' MAILDIR=/home/$USERNAME/Maildir/.learn-ham' >> /usr/bin/filterham
|
|
6362
|
+ echo ' if [ ! -d "$MAILDIR" ]; then' >> /usr/bin/filterham
|
|
6363
|
+ echo ' exit' >> /usr/bin/filterham
|
|
6364
|
+ echo ' fi' >> /usr/bin/filterham
|
|
6365
|
+ echo ' for f in `ls $MAILDIR/cur`' >> /usr/bin/filterham
|
|
6366
|
+ echo ' do' >> /usr/bin/filterham
|
|
6367
|
+ echo ' spamc -L ham < "$MAILDIR/cur/$f" > /dev/null' >> /usr/bin/filterham
|
|
6368
|
+ echo ' rm "$MAILDIR/cur/$f"' >> /usr/bin/filterham
|
|
6369
|
+ echo ' done' >> /usr/bin/filterham
|
|
6370
|
+ echo ' for f in `ls $MAILDIR/new`' >> /usr/bin/filterham
|
|
6371
|
+ echo ' do' >> /usr/bin/filterham
|
|
6372
|
+ echo ' spamc -L ham < "$MAILDIR/new/$f" > /dev/null' >> /usr/bin/filterham
|
|
6373
|
+ echo ' rm "$MAILDIR/new/$f"' >> /usr/bin/filterham
|
|
6374
|
+ echo ' done' >> /usr/bin/filterham
|
|
6375
|
+ echo ' fi' >> /usr/bin/filterham
|
6367
|
6376
|
echo 'done' >> /usr/bin/filterham
|
|
6377
|
+ echo 'exit 0' >> /usr/bin/filterham
|
6368
|
6378
|
|
6369
|
6379
|
if ! grep -q "filterspam" /etc/crontab; then
|
6370
|
|
- echo "*/3 * * * * root /usr/bin/timeout 120 /usr/bin/filterspam $MY_USERNAME" >> /etc/crontab
|
|
6380
|
+ echo "*/3 * * * * root /usr/bin/timeout 120 /usr/bin/filterspam" >> /etc/crontab
|
6371
|
6381
|
fi
|
6372
|
6382
|
if ! grep -q "filterham" /etc/crontab; then
|
6373
|
|
- echo "*/3 * * * * root /usr/bin/timeout 120 /usr/bin/filterham $MY_USERNAME" >> /etc/crontab
|
|
6383
|
+ echo "*/3 * * * * root /usr/bin/timeout 120 /usr/bin/filterham" >> /etc/crontab
|
6374
|
6384
|
fi
|
6375
|
6385
|
chmod 655 /usr/bin/filterspam /usr/bin/filterham
|
6376
|
6386
|
sed -i 's/# use_bayes 1/use_bayes 1/g' /etc/mail/spamassassin/local.cf
|