Bananas Development Blog: share your thoughts

Das Blatt wendet sich

VIRENATTACKE AUF MACS | „Zehn Jahre hinter Microsoft“
Apple hatte lange Zeit damit geworben, seine Rechner seien für Schadprogramme im Gegensatz zu PCs mit dem Microsoft-Betriebssystem Windows nicht anfällig. Tatsächlich wurde die meiste Schadsoftware für Windows geschrieben – denn das läuft auf rund 90 Prozent aller Computer weltweit.


Viele nehmen an, dass die unzureichende Sicherheit eines Systems der Hauptgrund für die vielen Viren sind. Nur ein schlechtes und unsicheres System kann ja von Viren, Maleware etc. befallen werden.

Das ist leider falsch.

Es ist die Verbreitung.
Denn warum sich die Mühe machen einen Virus zu entwickeln wenn die Angriffsfläche zu klein ist ?
Es lohnt sich wenn man ein System angreift von denen es viele gibt.

Als würde man für den Einkauf von Käse in ein Geschäft fahren, dass viele Kilometer weit weg ist und nur über eine alte Landstraße zu erreichen. Viel zu Aufwendig. Da geht man doch lieber in den Supermarkt um die Ecke. Wenn dieser zu ist oder den Käse nicht hat, geht man um die nächste Ecke. Geringer Aufwand hohe Erfolgsquote.

Je populärer ein System wird, je mehr lohnt es sich einen Virus zu schreiben.


My grandfather is a chimney

A: Since Mac OS X, this operating system is linux based.

B: No, here you can find the refence to mac os x’s kernel: http://en.wikipedia.org/wiki/Mac_OS_X

A: “unix-based”, there you have it

B: unix != linux

A: come on man… dont be so ultra exactly, linux is part of unix family

B: exactly.

based on the assumptions:

- mac os x is based on unix
- linux is based on unix

the statement:

- mac os x is based on linux

is wrong, because is a wrong sillogism.

analogue:

- chimneys smoke
- my grandfather smokes

=> my grandfather is a chimney.

so, if you say that Mac OS X is unix-based, it’s correct, if you say that is linux-based, it’s wrong.


Damit wäre dies auch mal geklärt.

via

Macports ssh/scp vs. OSX ssh/scp

Sollte jemand mal das Problem haben, dass mit der Verwendung von Macports und ssh/scp, die Dialogbox zur Eingabe des Passwortes nicht mehr erscheint, dann habe ich hier die Lösung ( Nach langer Suche und Experimenten ) :

su
cd /opt/local/bin
mv ssh _ssh
mv scp _scp


Das Problem ist folgndendes. Das ssh von OSX verwendet die Dialogbox um automatisch ssh-agent anzusteuern. Nun legt aber Macports den /opt/local/bin Pfad an erste Stelle und somit wird das OSX ssh nicht mehr angesprochen. Das Macports ssh kann das aber mit der Dialogbox nicht. Daher muss das Macports ssh umbenannt werden.

( Ja ich kann su verwenden, denn ich habe aus dem pseudo root nen richtigen root gemacht. Denn sudo nervt. )

via: Leopard, SSH-agent, and a macports gotcha


OSX Terminal müllt sich zu

Hätte Ich nicht gedacht, dass OSX sich so einen "Fehler" einfängt... Aber daran sieht man mal wieder, dass die Zielgruppe von OSX Benutzer sind die nicht mit dem Terminal arbeiten. Schade...

Speed up a slow Terminal by clearing log files

Im Grunde liegt es daran, dass beim starten eines Terminals all die Log Files eingelesen oder analysiert werden. Wenn das aber mit der Zeit sehr viele werden, dann kann das schon mal sehr lange dauern. Leider scheinen auch die normalen Cleanup Scripte nicht zu helfen, die im OSX eingebaut sein sollen.

Hier noch mal der Befehl fals der Artikel mal offline gehen sollte:
rm -rf /private/var/log/asl/*.asl


OSX Tools: dtrace

DTrace is a performance analysis and troubleshooting tool that is included by default with various operating systems, including Solaris, Mac OS X and FreeBSD. A Linux port is in development.


Damit kann man eine Menge über das System erfahren und was denn gerade so alles aktiv ist.

Ein man -k dtrace gibt eine Liste aus, was es alles an Befehlen gibt:
bitesize.d(1m)           - analyse disk I/O size by process. Uses DTrace
cpuwalk.d(1m)            - Measure which CPUs a process runs on. Uses DTrace
creatbyproc.d(1m)        - snoop creat()s by process name. Uses DTrace
dappprof(1m)             - profile user and lib function usage. Uses DTrace
dapptrace(1m)            - trace user and library function usage. Uses DTrace
diskhits(1m)             - disk access by file offset. Uses DTrace
dispqlen.d(1m)           - dispatcher queue length by CPU. Uses DTrace
dtrace(1)                - generic front-end to the DTrace facility
dtruss(1m)               - process syscall details. Uses DTrace
errinfo(1m)              - print errno for syscall fails. Uses DTrace
execsnoop(1m)            - snoop new process execution. Uses DTrace
fddist(1m)               - file descriptor usage distributions. Uses DTrace
filebyproc.d(1m)         - snoop opens by process name. Uses DTrace
hotspot.d(1m)            - print disk event by location. Uses DTrace
httpdstat.d(1m)          - realtime httpd statistics. Uses DTrace
iofile.d(1m)             - I/O wait time by file and process. Uses DTrace
iofileb.d(1m)            - I/O bytes by file and process. Uses DTrace
iopattern(1m)            - print disk I/O pattern. Uses DTrace
iopending(1m)            - plot number of pending disk events. Uses DTrace
iosnoop(1m)              - snoop I/O events as they occur. Uses DTrace
iotop(1m)                - display top disk I/O events by process. Uses DTrace
kill.d(1m)               - snoop process signals as they occur. Uses DTrace
lastwords(1m)            - print syscalls before exit. Uses DTrace
loads.d(1m)              - print load averages. Uses DTrace
newproc.d(1m)            - snoop new processes. Uses DTrace
opensnoop(1m)            - snoop file opens as they occur. Uses DTrace
pathopens.d(1m)          - full pathnames opened ok count. Uses DTrace
pidpersec.d(1m)          - print new PIDs per sec. Uses DTrace
plockstat(1)             - front-end to DTrace to print statistics about POSIX mutexes and read/write locks
priclass.d(1m)           - priority distribution by scheduling class. Uses DTrace
pridist.d(1m)            - process priority distribution. Uses DTrace
procsystime(1m)          - analyse system call times. Uses DTrace
runocc.d(1m)             - run queue occupancy by CPU. Uses DTrace
rwbypid.d(1m)            - read/write calls by PID. Uses DTrace
rwbytype.d(1m)           - read/write bytes by vnode type. Uses DTrace
rwsnoop(1m)              - snoop read/write events. Uses DTrace
sampleproc(1m)           - sample processes on the CPUs. Uses DTrace
seeksize.d(1m)           - print disk event seek report. Uses DTrace
setuids.d(1m)            - snoop setuid calls as they occur. Uses DTrace
sigdist.d(1m)            - signal distribution by process. Uses DTrace
syscallbypid.d(1m)       - syscalls by process ID. Uses DTrace
syscallbyproc.d(1m)      - syscalls by process name. Uses DTrace
syscallbysysc.d(1m)      - syscalls by syscall. Uses DTrace
topsyscall(1m)           - top syscalls by syscall name. Uses DTrace
topsysproc(1m)           - top syscalls by process name. Uses DTrace
weblatency.d(1m)         - website latency statistics. Uses DTrace


Mehr Details und Beispiele gibt es hier.

git und individueller SSH Key (ssh -i)

Wenn man nicht nur einen privaten SSH-Key hat, dann kann man via -i diesen angeben:
-i identity_file

Selects a file from which the identity (private key) for RSA or DSA authentication is read. The default is ~/.ssh/identity for protocol version 1, and ~/.ssh/id_rsa and ~/.ssh/id_dsa for protocol version 2. Identity files may also be specified on a per-host basis in the configuration file. It is possible to have multiple -i options (and multiple identities specified in configuration files).


Nun finde ich diese Option nicht beim git Befehl.

Um dieses doch zu können verwendet man einen Eintrag in der ~/.ssh/config
Host gh
Hostname github.com
User git
IdentityFile ~/.ssh/privateKey


Somit kann man für einen speziellen Host den Benutzer und die Identity festlegen.

Lion und Sicherheit

So was sollte doch nicht mehr vorkommen, oder ?

Cracking OS X Lion Passwords
So for all modern OS X platforms (Tiger, Leopord, Snow Leapord and Lion) each user has their own shadow file (hash database) whose data is accessible only by the root user… or at least it should be.


Das System aufgrund Ihres Alters anfällig für solche Fehler sind, ist bekannt und normal. Denn das System bleibt ja alt aber die Methoden um an vertrauliche Daten heran zu kommen, entwickeln sich weiter.

Dass so was bei einem brandneuen System der Fall ist.... Für so etwas sollte man sich schämen....

[UPDATE]:
Bevor sich jemand beschwert, hier auch noch etwas aus der Windows Welt:
The Anatomy of COM Server-Based Binary Planting Exploits
Obwohl dazu schon mehr Schnick-Schnack von nöten ist....

Pflichtlektüre

SSH, The Secure Shell: The Definitive Guide

Macports und ports.tar.gz manuell herunterladen

Wenn alle Stricke reißen und ein port -d sync nicht zu dem Ergebnis führt das man erwartet, kann man sich die ports.tar.gz Datei auch manuell herunterladen ( http://www.macports.org/files/ports.tar.gz ) und diese nach /opt/local/var/macports/sources/www.macports.org/files/ kopieren und dann via tar -xvzf ports.tar.gz entpacken. Nun muss nur noch der Index erstellt werden.
cd ports und via portindex den Index neu erstellen.

Danach sollte wieder alles so funktionieren wie gehabt.

Macports hinter einer firewall ohne selfupdate

Es gibt ja die Möglichkeit Macports hinter einer Firewall + Proxy zu verwenden, selbst wenn der rsync port nicht zur Verfügung steht.

Macports FAQ
Dort den Abschnit Alternatives for syncing the ports tree without rsync

Danach holt man sich den aktuellen Tree mit port -d sync

Das ist ja alles wunderbar, aber das damit der Befehl port selber nicht aktualisiert wird steht nirgends.... Denn der Befehl port selfupdate geht einfach nicht.

Das Rätsels Lösung ist das aktuelle DMG von macports.org herunter zu laden und dann einfach drüber zu installieren...

Toll nicht ?

Textmate Shortcuts

Wer mit Textmate arbeitet, der sollte sich folgenden Artikel mal anschauen/durchlesen.
Even after six years, TextMate is still considered by many to be the best code editor available for Mac. The reason why is simple: it’s incredibly powerful, and offers features that even the newest editors don’t yet offer. Add a robust plugin/bundle community on top of it, and you get one heck of a code editor.

Essential TextMate Shortcuts, Tips and Techniques

HTML Editoren für den Web-Dev

HTML Editoren gibt es wie Sand am Meer. Welchen man nun verwendet und welcher am Besten ist, muss jeder für sich entscheiden.

Um die Auswahl aber ein wenig einfach zu gestallten gibt es hier eine Liste von 10 freien Web-Editoren. Es sind entweder reine Texteditoren oder auch solche die gleich noch das Ergebnis anzeigen können.

10 Fantastic Free Web Page Editors

Meine Meinung ist eh PSPad(Windows), Vim (Unix) und TextMate (OSX) sowie die IDE ZendStudio ( alle drei OS )

via: Schockwellenreiter

Git GUI Client für OSX

Ich bin ja eher der Terminal tipper aber manchmal freut man sich doch über ein GUI.

Bisher sind die Git clients für OSX eher dünn gesät. Also die die nichts kosten und auch funktionieren.

Nun bin auf gitti gekommen und bin bisher sehr zufrieden. Endlich mal ein Client der auch funktioniert und fast alle CLI Befehle unterstützt.

Wer sich damit nicht zufrieden gibt, der kann hier und hier sich ein Bild machen was es sonst noch so gibt.