##################################################################### ### openSSH - CHRISTIAN KOERNER ## Homepage: - http://www.openssh.org/ ## Nuetzliche Kommandos: ssh user@abel.ai-lab.fh-furtwangen.de - Baut SSH Verbindung zum Rechner Abel auf ssh -p 6666 user@abel.ai-lab.fh-furtwangen.de - Baut SSH Verbindung zum Rechner Abel auf, ueber Port 6666 ssh-keygen -t dsa/rsa - Generiert ssh key je nach angegbenen Typ RSA o. DSA ## Features/Ressourcen: - Key Agent - Port Forwarding - Secure Copy - Secure FTP - Alias - man ssh - ~/.ssh/config - ~/.ssh/authorized_keys - /etc/ssh/ssh_config - /etc/ssh/sshd_config - http://www.jfranken.de/homepages/johannes/vortraege/ssh2.de.html ##################################################################### ### cal/ncal & pal - CHRISTIAN KOERNER ## Homepage: - http://palcal.sourceforge.net/ ## Nuetzliche Kommandos: cal 2005 - Liefert Monats/Tages Uebersicht des Jahres 2005 ncal -w 2005 - Liefert Monats/Tages Uebersicht des Jahres 2005 mit Wochenzahlen pal -m - Hinzufeugen/Loeschen/Editieren von Terminen pal -d 200501 - Gibt Infos zum aktuellen Tag aus pal --html - Gibt Kalendar im HTML format aus pal --latex - Gibt Latex Format aus ## Features/Ressourcen: - man pal - ~/.pal/pal.conf - man cal - /etc/calendar/default ##################################################################### ### strace - Florian Westphal Zeigt die von einem Programm verwendeten Systemaufrufe und die Rueckgabewerte der Syscalls an. Nuetzlich zur Fehlersuche. Aufruf: strace [ optionen ] programm Die wichtigsten Optionen: 'Haengt' strace an den bereits laufenden Prozess mit der Prozessid PID an: -p PID Anzeige nicht auf stderr sondern in Datei 'name' loggen: -o name neu erzeugten Prozessen folgen: -f Da u.u ziemlich viele Ausgaben erzeugt werden koennen, kann auch auf bestimmte Syscalls geiltert werden: Nur Aufrufe von open() und read() anzeigen: (vorangestelltes ! filtert die angegebenen syscalls aus) strace -e open,read /bin/sh Es gibt auch Vordefinierte 'Sets': strace -e trace=file /bin/sh zeigt alle Systemcalls an, die einen Dateinamen als Argument erhalten Weitere Optionen: "man strace" ## Qemu ## Homepage - http://fabrice.bellard.free.fr/qemu/ PC-Emulator (x86 und ppc; sparc32, sparc64, ppc64 u.a. in Entwicklung) Beispiel-Aufruf: Von cdrom-image booten: qemu -hda grosse_leere_datei -cdrom cdrom.img -boot d Mit -hda datei kann dann ggf. das cdrom-image auf der virtuellen Festplatte grosse_leere_datei installiert werden. ## gdb --- Debugger An laufendes Programm anhaengen: gdb /das/programm pid # Code im Porgrammkontext ausfuehren (Beispiel): set $ret = getuid() p $ret # Speicher allokieren: set $ret = malloc(10) # und freigeben set free($ret) # gdb abkoppeln: detach 'backtrace' nach Crash bei vorhandenem coredump: gdb programmname core bt lsof - LiSt Open Files ********************** * Grundlegend: - Alles ist eine Datei (naja fast ;-) * Beispiele: lsof COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME fluxbox 8355 pfeifer cwd DIR 3,5 8192 48097 /home/pfeifer fluxbox 8355 pfeifer rtd DIR 3,3 4096 2 / fluxbox 8355 pfeifer txt REG 3,3 1238852 393769 /usr/bin/fluxbox fluxbox 8355 pfeifer mem REG 3,3 34539 776060 /usr/lib/libXrender.so.1.2.2 fluxbox 8355 pfeifer 0r CHR 1,3 1737 /dev/null fluxbox 8355 pfeifer 3u unix 0xc52004c0 9383 socket [...] Wer hat welche Datei geoeffnet? lsof /usr/bin/vim lsof /dev/mem Offene Dateien im Dateisystem (hilfreich bei umount!)? lsof /home Auflisten aller Inet Sockets mit korrespondierenden Prozessnamen? lsof -i lsof -iTCP@micro$oft.com lsof -i -T sq lsof -i -U lsof -i 6 -a -c sshd Welche Dateien oeffnet eine Applikation? lsof -p `pidof vim` lsof -c vim * Links: man lsof sudo - execute a command as another user **************************************** * Grundlegend: - Ausfuehren von Kommandos als r00t oder jemand anderes - Authentifizierung mit Userpassword (default), danach 5min authentifiziert. - Wer darf wann, wo sich authentifizieren: /etc/suders - Welche Kommandos darf ich ausdfuehren: sudo -l - Timout verlaengern: sudo -v - BTW (gentoo users): sudo equery uses sudo [...] + + offensive : Enables potentially offensive items in packages [...] * Beispiel: - sudo -u svn vim /var/svn/jota/XXX/conf/passwd - sudo emerge -afvuD -tree world - sudo tcpdump - ... [you ideas here] * /etc/sudoers (visudo) Defaults timestamp_timeout=30 Defaults passprompt="pass: " ### User_Alias ADMINGROUP = pfeifer User_Alias NETGROUP = pfeifer ### Cmnd_Alias ADMINCMD = /usr/bin/emerge,/usr/sbin/etc-update Cmnd_Alias NETCMD = /sbin/ip,/usr/bin/nmap,/usr/sbin/tcpdump Cmnd_Alias MISCCMD = /usr/X11R6/bin/root-tail,/bin/kill,/usr/bin/equery,/usr/sbin/lsof ### root ALL=(ALL) ALL %wheel ALL = (ALL) ALL ADMINGROUP ALL = (ALL) ADMINCMD ADMINGROUP, NETGROUP ALL = (ALL) NOPASSWD: NETCMD, MISCCMD * Links man {sudoers,sudo}