# bash-2.04$ +++ Notes +++ # GNU bash, version 2.04.21(1)-release # copyright 1999 Free Software Foundation, Inc. # common bash grep "to=sales@" /var/log/maillog | awk {'print $7'} for x in *; do chown -R root.src $x; done # cat chgrp_all.sh for i in `ls` do #chgrp $i $i chown -R $i $i done echo "weiter " static routes in /etc/rc.d/rc.local #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local route add 212.53.96.134 gw 212.53.96.132 metric 1 USERADD - common user /usr/sbin/useradd -m -c `username` -d /home/username -s `/bin/bash` -G \ `users` -e '' username /usr/bin/chage -m -1 -M 99999 -W -1 username POPUSER - add only pop user useradd -M -c "$full" -s`/bin/false` -G '' -g 231 -e '' $usr ROUTE /etc/sysconfig/static-routes eth0 host 212.53.96.134 gw 212.53.96.132 result: Destination Gateway Genmask Flags Metric Ref Use Iface 212.53.96.134 212.53.96.132 255.255.255.255 UGH 0 0 0 eth0 NFS mount remote directory mkidr /mnt/directory mount -o intr,soft -t nfs host:home/user /mnt/host BIND8 named zone transfer /usr/sbin/named-xfer -z zone.file -f /var/named/sec/zone.file server_ip kill -HUP `cat /var/run/named/named.pid` BIND9 named zone transfer rndc "zone" reload | reconfig FIND Finden von Dateien, die in den letzten 2 Tagen geändert wurden find . -mtime -2 -print >2tage.txt Finden von Dateien, die älter als 100 Tage sind find . -mtime +100 -print >100tage.txt find . \( -name '*.o' -o -name '*.d' \) -exec rm {} \; Sucht nach allen *.o und *.d Dateien und loescht diese. Sehr gut um obj-Verzeichnis von altem Kram zu befreien. find /scratch/. -atime +14 -exec touch {};\ Sucht nach Dateien die länger als 14 Tage nicht angefasst woerden sind und setzt mit touch das Datum auf das aktuelle Datum. find . -maxdepth 1 -type d -print | xargs du -skh | sort -rn Der Parameter -maxdepth 1 sorgt hier dafür, dass in der Aufstellung nur die vom genannten Verzeichnis abzweigenden Unterverzeichnisse aufgeführt werden; der Platzbedarf der tiefer liegenden Verzeichnisse wird aber sehr wohl berücksichtigt. Alle Dateien, ab dem aktuellen Verzeichnis, mit der Endung .txt werden nach der Zeichenkette ``Suchmuster'' durchsucht. Falls es zu viele Dateien sind mit einer Schleife suchen (siehe nächstes Beispiel): grep Suchmuster $(find . -name *.txt) 2> /dev/null Finde ab dem aktuellen Verzeichnis alle Dateien, in denen der Suchstring emacs vorkommt (keine Unterscheidung zwischen Groß- und Kleinschreibung durch den Parameter -i). for i in $(find) do grep -n xemacs $i 2> /dev/null && echo -e "Enthalten in $i \n" done ipchains-1.3.10-13 [localhost]# /etc/sysconfig/ipchains -A input -s 0/0 -d 0/0 111 -p tcp -y -j ACCEPT -A input -s 0/0 -d 0/0 110 -p tcp -y -j ACCEPT -A input -s 0/0 -d 0/0 22 -p tcp -y -j ACCEPT -A input -s 0/0 -d 0/0 23 -p tcp -y -j ACCEPT -A input -s 0/0 -d 0/0 25 -p tcp -y -j ACCEPT -A input -s 0/0 -d 0/0 80 -p tcp -y -j ACCEPT -A input -s 0/0 -d 0/0 21 -p tcp -y -j ACCEPT -A input -s 0/0 -d 0/0 -i lo -j ACCEPT -A input -s 192.168.1.1 53 -d 0/0 -p udp -j ACCEPT -A input -s 192.168.1.1 53 -d 0/0 -p udp -j ACCEPT -A input -s 0/0 -d 0/0 -p tcp -y -j REJECT -A input -s 0/0 -d 0/0 -p udp -j REJECT DHCPD /etc/dhcpd.conf ddns-update-style ad-hoc; subnet 192.168.195.0 netmask 255.255.255.0 { ddns-updates off; default-lease-time 86400; option netbios-node-type 8; option netbios-name-servers 192.168.195.20; option ntp-servers 192.168.195.20; option log-servers 192.168.195.20; option domain-name-servers 192.168.195.1 , 192.168.195.20 , 212.147.18.243; option domain-name "bu.birk.ch"; option subnet-mask 255.255.255.0; option routers 192.168.195.1; range 192.168.195.201 192.168.195.210; } host eb-pc-cb { ddns-updates off; default-lease-time 86400; hardware ethernet 00:48:54:55:1C:44; fixed-address 192.168.195.202; } host eb-pc-rb { ddns-updates off; # install & configure tar -xzvf net-tools-1.32.tar.gz make config make make install RPM's rpm -qpl .rpm rpm -q Paket Anfragen (-qi) rpm -Fvh Auffrischen rpm -Uvh Aktualisieren rpm -e Deinstallieren rpm -ivh Installieren rpm -Va alle überprüfen rpm -Vf file überprüfen rpm -Vp Paket verifizieren rpm -ivh --replacepkgs Fehler ignorieren rpm -ivh --replacefiles überschreiben rpm -ivh --nodeps ignoriert Abhängigkeit gzip -d Decompress tar.gz-files zforce * komprimierte Datei-extensions tar czvf sicherung_`date +%y%m%d`.tar.gz -T sicherliste.txt tar -xf Dearchive tar-files tar -xzvf Dearchive gzip-tar rpm2cpio paket.rpm | cpio -i -d ,RPM im lokalen Verzeichniss auspacken wget -c http://www.server.de/datei.zip ,HTML Sites/Files per HTTP anfordern fuser -u /dev/tty[!p]* 2>&1 = alle prozess-IDs ausgeben pgrep -l -u admin pkill -u admin dsniff -m > dump.log | tee dump.log ngrep -t '^()' tcp port 80 -l > dump.log & tail -f dump.log ngrep -t '(abcdefghi)' ip and icmp ngrep -t '^(USER|PASS)' tcp and dst port 110 and dst host 212.117.197.116 ngrep -t ip and dst host 192.168.1.1 -l > dump.log & tail -f dump.log hping2 212.53.103.135 -p 23 packit -sR -d 192.168.1.10 -F S -c 5 -W 666 -eR -E 00:80:29:12:BC:80 -p txt packit -m cap -i eth0 'tcp and host 212.53.103.135' -X packit -m cap 'tcp and not port 22' packit -m cap -nnnR 'tcp and port 80' dsniff -m > dsniff.log & tail -f dsniff.log tcpdump -a -f -l | tee dump.log tcpdump -a -e tcp port 110 tcpdump -a -v tcp and dst port 25 and dst host apache.a-enterprise.ch tcpdump -vvv -x udp and port 137 and udp and port 138 and dst \ host 192.168.1.20 -l > dump.log & tail -f dump.log nemesis udp -v -S 10.11.12.13 -D 10.1.1.2 -x 11111 -y 53 -P bindpkt nemesis icmp -S 10.10.10.3 -D 10.10.10.1 -G 10.10.10.3 -i 5 nemesis arp -v -d eth0 -H 0:1:2:3:4:5 -S 10.11.30.5 -D 192.168.1.10 rsh -l root 195.186.208.188 echo ++ >> ./rhosts for x in *; do chown -R root.src $x; done # Server Portscan ip=192.168.1.1 nc -v -z $ip 23 2> /tmp/temp cat /tmp/temp | grep refused >> /tmp/port nc -v -z $ip 25 2> /tmp/temp cat /tmp/temp | grep refused >> /tmp/port nc -v -z $ip 80 2> /tmp/temp cat /tmp/temp | grep refused >> /tmp/port nc -v -z $ip 110 2> /tmp/temp cat /tmp/temp | grep refused >> /tmp/port #.htaccess AuthUserFile /home/www/sites/web/html/organize/.htpasswd AuthName Organize AuthType Basic <Limit GET> require valid-user </Limit> #touch .htpasswd user505:6A97fxCX9Hgyk #.htaccess AuthName SecureLogin AuthType Basic Satisfy Any <Limit GET> order deny,allow deny from all allow from 172.20. allow from 172.17. allow from 192.168. require valid-user </Limit> # bash prompt PS1='\u@\h:[\W]\$>' PS1=$'\\u@\\h:\\w> ' PS1=$'\\h:\\w # ' # my favorite aliases alias .='echo $PWD' alias ..='cd ..' alias ...='cd ../..' alias cdrom='mount /mnt/cdrom' alias cdrpm='cd /mnt/cdrom/RedHat/RPMS' alias clean='rm -rf .*~ *~' alias cls='clear' alias cp='cp -i' alias md='mkdir -p' alias o='less' alias rd='rmdir' alias rehash='hash -r' alias dspell='ispell -t -T latin1' alias fm='mount /mnt/floppy' alias hterr='less /var/log/httpd/error_log' alias htlog='less /var/log/httpd/access_log' alias dir='ls -l' alias l.='ls -d .[a-zA-Z]* --color=tty' alias l='ls -alF' alias ll='ls -al --color=auto' alias ls='ls --color=tty' alias mlog='tail -f /var/log/maillog' alias msg='tail-f /var/log/messages' alias mv='mv -i' alias rm='rm -i' alias sec='tail -20 /var/log/secure' alias ucdrom='umount /dev/cdrom' alias ufm='umount /dev/fd0' alias which='type -path' alias dos2unix='recode ibmpc..lat1' alias unix2dos='recode lat1..ibmpc' alias zl='zless'