#!/bin/bash # Lastlogin OpenNewsNetwork # Date: Mi Jul 26 18:01:58 CEST 2006 # Version: 0.15 # Author: Arnold Schiller # Jan Schubert # Please adapt the following settings to your needs # Version: 0.61 # Date: Mi Jan 7 05:06:03 CET 2009 # add "changetype: modify\nreplace: description\n" @schiller echo "DEINER DASPASSORT aendern!" echo "Pfade anpassen!" echo "NEWSHOST setzen!" ADMIN="cn=DEINER,dc=open-news-network,dc=org" PASS="DASPASSWORT" NEWSLOG="/var/log/news/news.notice" USERMAIL="/home/news/usersmail" MODLDIF="/home/news/modify.ldif" LDAPSEARCH="/usr/bin/ldapsearch" LDAPMODIFY="/usr/bin/ldapmodify" GREP="/usr/bin/grep" CAT="/bin/cat" NEWSHOST="newsX" USERSLDIF="/home/news/users.ldif" LDAPSERVER="ldap1.open-news-network.org" LDAPBASE="dc=open-news-network,dc=org" ZGREP="/usr/bin/zgrep" SPALTE="8" # Benutzer aus den Logs greppen # $GREP user $NEWSLOG | cut -d' ' -f$SPALTE | grep @ | sort -u > $USERMAIL $GREP uid $NEWSLOG | cut -d'=' -f2 | grep ,dc | sort -u | cut -d',' -f1 > $USERMAIL # Modify erstellen # ldapmodifiy 2.2.XX # awk -v NEWSHOST=$NEWSHOST -v LDAPBASE=$LDAPBASE '{printf "\n# %s \ndn: uid=%s,%s\ndescription: %s "systime()"\n",$1,$1,LDAPBASE,NEWSHOST}' $USERMAIL > $MODLDIF # ldapmodify 2.4.XX # changetype: modify # replace: description awk -v NEWSHOST=$NEWSHOST -v LDAPBASE=$LDAPBASE '{printf "\n# %s \ndn: uid=%s,%s\nchangetype: modify\nreplace: description\ndescription: %s "systime()"\n",$1,$1,LDAPBASE,NEWSHOST}' $USERMAIL > $MODLDIF # # Zum Anzeigen des Ldif zur Kontrolle naechste Zeile auskommentieren # $CAT $MODLDIF # echo "Eintragen in die LDAP-Datenbank das echo rausnehmen" # oder in die Shell pipen" $LDAPMODIFY -c -w $PASS -x -D $ADMIN -h $LDAPSERVER -f $MODLDIF