Oneliner: Unterschied zwischen den Versionen

Aus dem IServ-Wiki
Zur Navigation springen Zur Suche springen
(+IP-Bereich migrieren)
Zeile 101: Zeile 101:
 
SELECT name,mac,ip FROM hosts WHERE LOWER(name) IN
 
SELECT name,mac,ip FROM hosts WHERE LOWER(name) IN
 
   (SELECT LOWER(name) FROM HOSTS GROUP BY LOWER(name) HAVING COUNT(*) > 1);
 
   (SELECT LOWER(name) FROM HOSTS GROUP BY LOWER(name) HAVING COUNT(*) > 1);
 +
</filepre>
 +
 +
; IP-Bereich migrieren (IPs entsprechend anpassen; anschließend /usr/lib/iserv/newhosts ausführen)
 +
<filepre>
 +
UPDATE hosts SET ip = ip & '0.0.0.255' | '10.0.3.0' WHERE ip << '192.168.100.0/24' AND ip & '0.0.0.255' | '10.0.3.0' NOT IN (SELECT ip FROM hosts);
 
</filepre>
 
</filepre>
  

Version vom 18. September 2012, 15:01 Uhr

Benutzer/Gruppen

Die Gruppen mit den meisten Mitgliedern auflisten
befehl
cat /etc/group | perl -ne 'my @p = split(/:/, $_); print scalar (split(/,/, $p[3])) . " " . $p[0] . "\n";' | sort -n | tail
Benutzer auflisten, deren Account länger als 20 Zeichen ist (Grenze von Windows 7)
root
psql -Atc 'select length(act) as length, act from users where length(act) > 20 order by length'

System

Aktuelleren Kernel (> 2.6.30) auf Lenny-Servern installieren
root
aptitude install -t lenny-backports linux-image-2.6-686-bigmem
initramfs entpacken
befehl
cd
mkdir initrd
cd initrd
zcat /boot/my-initramfs.cpio.gz | (while true; do cpio -i -d -H newc --no-absolute-filenames || exit; done)
initramfs packen
befehl
cd initrd
find | cpio -H newc -o | bzip2 -c > /boot/my-initramfs.cpio.bz2
Pakete finden, die in ihrer aktuellen Version nicht herunterladbar sind[1]
befehl
aptitude search '?narrow(?not(?archive("^[^now]{3}.*$")),?version(CURRENT))'

Spamfilter

SpamAssassin-Statistiken ausgeben
root
HOME=/var/lib/spamassassin sudo -u spamassassin sa-learn --dump magic
Mail vom Spamfilter untersuchen lassen
root
cat mail.txt | spamassassin-test -D

Netzwerk/Internet

Downloads auflisten lassen, die die DSL-Bandbreite des Servers verstopfen
befehl
tail -f /var/log/apache2/access.log | awk '{if ($10 > 1000000) { print $10 "\t" $7}}'
squidGuard testen, ob eine bestimmte URL von einem bestimmten Rechner aus erreichbar ist
befehl
echo "http://rotten.com 192.168.0.51/- - GET" | squidGuard

Liefert folgende Ausgabe, wenn die Seite gesperrt ist:

datei
302:http://mein-iserv.de/idesk/inet/block.php?grp=porn&url=http://rotten.com 192.168.0.51/- - GET

Liefert eine leere Zeile, wenn die Seite abgerufen werden darf.

Fortlaufende IP-Ranges in die Rechnerverwaltung eintragen und freischalten
root
for i in $(seq -f '%02g' 1 39); do psql -tc "INSERT INTO hosts (name, room, ip, display, route) VALUES ('VerwaltungWLAN-$i', 'Verwaltung', '192.168.10.160'::INET + $i, false, true);"; done
/usr/lib/iserv/newhosts
Port 25 überwachen, um Spambots zu finden (Interface und IP vom IServ ggf. anpassen)
root
tshark -pl -t ad -i eth0 "port 25 and not host 10.0.0.1" -R smtp | tee smtp.log
DNSChanger-infizierte Rechner im Netzwerk finden (Interface ggf. anpassen)
root
tshark -pl -t ad -i eth0 "dst net 85.255.112.0/20 or dst net 67.210.0.0/20 or dst net 93.188.160.0/21 or dst net 77.67.83.0/24 or dst net 213.109.64.0/20 or dst net 64.28.176.0/20" | tee dnschanger.log
/etc/udev/rules.d/70-persistent-net.rules neu generieren
root
udevadm trigger --action=add --subsystem-match=net --verbose

Datenbank

In psql die Tabellen auflisten, die den meisten Speicher belegen
datei
SELECT nspname || '.' || relname AS "relation",
    pg_size_pretty(pg_total_relation_size(C.oid)) AS "total_size"
  FROM pg_class C
  LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
  WHERE nspname NOT IN ('pg_catalog', 'information_schema')
    AND C.relkind <> 'i'
    AND nspname !~ '^pg_toast'
  ORDER BY pg_total_relation_size(C.oid) DESC
  LIMIT 20;
In psql Rechner auflisten, deren Namen sich nur durch Groß- und Kleinschreibung unterscheiden
datei
SELECT name,mac,ip FROM hosts WHERE LOWER(name) IN
  (SELECT LOWER(name) FROM HOSTS GROUP BY LOWER(name) HAVING COUNT(*) > 1);
IP-Bereich migrieren (IPs entsprechend anpassen; anschließend /usr/lib/iserv/newhosts ausführen)
datei
UPDATE hosts SET ip = ip & '0.0.0.255' | '10.0.3.0' WHERE ip << '192.168.100.0/24' AND ip & '0.0.0.255' | '10.0.3.0' NOT IN (SELECT ip FROM hosts);

Windows

RDP anschalten
befehl
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f

Windows 7

System-Ereignisprotokoll in der Konsole ausgeben (Nur die 10 neuesten Ereignisse, mit Details)
befehl
wevtutil /rd:true /c:10 /f:text qe system
Anwendung-Ereignisprotokoll in der Konsole ausgeben (Nur die 10 neuesten Ereignisse, mit Details)
befehl
wevtutil /rd:true /c:10 /f:text qe application

Windows XP

System-Ereignisprotokoll in der Konsole ausgeben (Alle Ereignisse, ohne Details)
befehl
cscript %systemroot%\system32\eventquery.vbs /l system
System-Ereignisprotokoll in der Konsole ausgeben (Nur die 10 neuesten Ereignisse, mit Details)
befehl
cscript %systemroot%\system32\eventquery.vbs /l system /r 10 /v
Anwendung-Ereignisprotokoll in der Konsole ausgeben (Nur die 10 neuesten Ereignisse, mit Details)
befehl
cscript %systemroot%\system32\eventquery.vbs /l application /r 10 /v

Manchmal auch:

befehl
cscript %systemroot%\system32\eventquery.vbs /l anwendung /r 10 /v



  1. Ja, der Hack ist so dreckig, wie er aussieht. Quelle: [1]