AIX – Prozesse zu offenen Ports zuordnen

Möchte man in AIX die offenen Ports überprüfen, hilft es, wenn man die zugehörigen Prozesse kennt. Leider hat AIX dafür keine eigene Funktion, weshalb man sich selbst helfen muss.

netstat -Aan | grep LISTEN | awk '{print "rmsock "$1" tcpcb; echo "$5"; echo"}' | sh > /tmp/sockets;cat /tmp/sockets | while read line ;  do echo $line | grep socket | awk '{print "ps -ef | grep "$9}' | sh; echo $line; done ; rm /tmp/sockets

Dieser Befehl sollte die geforderte Ausgabe liefern. Kurze Erklärung:

1. netstat -Aan | grep <port number>

  • This shows if the specified <port number> is being used. The hex number in the first column is the address of protocol control block (PCB)

2. rmsock <addr of PCB> tcpcb

  • This shows the process who is holding the socket. Note: This command must be run as root..

Siehe http://www-01.ibm.com/support/docview.wss?uid=swg21264632

Diese Ausgaben werden mittels awk verbunden und in einer Datei gespeichert. Danach werden zu jedem Prozess noch zusätzliche Informationen gesucht.

Getagged mit: , , ,
Veröffentlicht unter Informatik

Adressangabe für Garantie bei Mediamarkt

Adresse für Barkauf?

Anne hat sich neulich ein neues Mobiltelefon zugelegt. Dafür sind wir zusammen im Mediamarkt Brinksmannsdorf gewesen. Nachdem ein Gerät ausgesucht war und die Verkäuferin ein solches Modell aus dem verschließbaren Schrank geholt hatte, wurde Anne nach ihren Namen mit Adresse gefragt. Über die Schulter fragte ich dann die Verkäuferin, wofür die Daten denn gebraucht werden. Leider konnte sie mir diese Frage nicht zufriedenstellend beantworten. Es klang so:

Irgendwie für die Garantie. Wir machen damit nichts.

Ich fragt, ob sie mir eine Datenschutzerklärung oder so etwas geben könnte und wurde dann zur Information verwiesen. Dort schilderte ich die Aussage der Verkäuferin und bekam leider nur eine ähnliche Antwort. Nach einer weiteren Nachfrage konnte mir die Informationsfrau nur noch hinzugeben, dass die Angabe freiwillig ist und man bei Nichtangabe nicht die vollständige Garantie erhält. Sicher war sie sich aber auch nicht.

Kontaktaufnahme im Internet

Da der Abend schon lang war, beschloss ich meine Nachforschungen am nächsten Tag im Internet fortzusetzen. Leider fand ich auf der Mediamarkt-Webseite und auch über diverse Internetsuchen keine Informationen zu diesen gesammelten Adressdaten. Ich beschloss, Kontakt aufzunehmen. Ich schilderte mein Problem über das Kontaktformular auf der Webseite. Nach kurzen E-Mailverkehr bezüglich einer ungenauen Angabe meinerseits erhielt ich folgende Antwort (30.01.2013 15:03 Uhr):

Sehr geehrter Herr Meier,

vielen Dank für Ihre Email.

Wir werden uns Ihrem Anliegen annehmen und uns umgehend nach Klärung, erneut mit
Ihnen in Verbindung setzen.

Mit freundlichen Grüßen

Anja XXXXXXXX

Schon am gleichen Tag erhielt ich eine weitere E-Mail von einem für den Rostocker Mediamarkt zuständigen Herrn (30.01.2013 17:23 Uhr):

Sehr geehrter Herr Meier,

vielen Dank für Ihre Mail vom heutigen Tag.

Gern beantworte ich Ihre Anfrage nach unseren Datenschutzbestimmungen bezüglich der von Kunden für Barverkäufe angegebenen Daten.
Um die von Ihnen gewünschte Datenschutzerklärung, sowie ein Verfahrensverzeichnis zu bekommen wende ich mich persönlich an unsere Hauptverwaltung.

Eine Antwort auf meine Anfrage erhalte ich am morgigen Donnerstag.
Diese stelle ich Ihnen anschließend gern per Mail zur Verfügung.

Für Fragen stehe ich Ihnen bis dahin selbstverständlich auch persönlich oder telefonisch zur Verfügung.

mit freundlichen Grüßen

Justus XXXXXXXXXX
Bereichsleiter Neue Medien

Ich fragte dann nach einer Woche nochmal nach, wie es aussieht und bekam dann eine Antwort, dass die Auskunft in Arbeit sei. In der darauf folgenden Woche erhielt ich dann folgende Antwort (11.02.2013 15:34):

Sehr geehrter Herr Meier,

heute kann ich Ihnen, wie gewünscht, ein Verfahrensverzeichnis zur Verfügung stellen.
Die Erhebung kundenbezogener Daten erfolgt in unserem Haus zur Erleichterung von Reklamationen und Geltendmachung von Gewährleistungsansprüchen im Falle eines Verlusts von Kaufbelegen, etc.
Dies geschieht auf freiwilliger Basis seitens unserer Kunden.

mit freundlichen Grüßen aus Rostock

Justus XXXXXXXXXX
Bereichsleiter Neue Medien

Ich habe dann in einer weiteren Anfrage um Erlaubnis gefragt, die Verfahrensanweisung zu veröffentlichen, woraufhin ich eine Zusage bekommen habe. Hier ist das bereitgestellte Dokument als PDF. Wikipedia definiert eine Verfahrensanweisung so:

Eine Verfahrensanweisung ist ein Dokument, das durch verschiedene Normen gefordert wird, um die normativ vorgeschriebenen Abläufe im Sinne einer verbindlichen Vorschrift im Unternehmen nachvollziehbar zu dokumentieren.

Daten nur für Erleichterung?

Wenn ich den Aussagen des Bereichsleiters und der Verfahrensanweisung Glauben schenken darf, dann werden die Adressdaten wirklich nur dafür genutzt im Falle einer Garantieleistung die Daten schon gespeichert zu haben. Klingt erst einmal sehr fragwürdig, gerade wenn man noch folgenden Absatz zusätzlich auf der Zunge zergehen lässt:

Es wurden keine Löschfristen festgelegt. Eine automatisirte Löschung von Daten erfolgt derzeit nicht. Kundendaten werden auf Anfrage gelöscht bzw. gesperrt, wenn Aufbewahrungspflichten aus gesetzlichen, vertraglichen oder satzungsmäßigen Vorgaben (HGB, AO ua.) einer Löschung entgegenstehen und kein Grund zu der Annahme besteht, dass eine Löschung/Sperrung schutzwürdige Interessen der betroffenen Person beeinträchtigt.

Im Prinzip heißt das, dass von alle Leute die schon einmal etwas bei Mediamarkt zurückgegeben habe (dann muss man auch die Adresse angeben) oder eine solche Adressangabe pro forma ausgefüllt haben, immer noch die Daten gespeichert sind. Dies kann ich auch so bestätigen. Ich selber wollte schon mal was zurückbringen. Mein Nachname war schon gespeichert, allerdings der Vorname meines Bruders. Als ich ihn darauf ansprach meinte er, dass die Reklamation Jahre zurücklag.

Fazit – Datensammeln ohne Grund

Für mich ergibt sich hier eine große Datensammlung, die keinen Sinn ergibt. Die Daten dürften nach meinen Verständnis gar nicht erhoben werden, denn der oberste Grundsatz des Datenschutzes lautet „Datenvermeidung“. Ich hoffe, dass Mediamarkt alles in ihrer Macht stehende tut, um die Adressdaten ihrer Kunden zu schützen.

Getagged mit: , , ,
Veröffentlicht unter Datenschutz, Rostock

Linux in ein paar Minuten herunterfahren

Mit Zenity kann man viele komplizierte Kommandozeilen-Eingaben schön verpacken und somit sogar versteckte Linux-Funkionen dem normalen Benutzer zugängig machen. Eine solche Funktion ist das zeitgesteuerte Herunterfahren. Dies kann man nutzen, wenn man vor dem Einschlafen noch Musik vom Rechner hören möchte oder ein Download noch nicht abgeschlossen ist.

sudo shutdown -h +30

Dabei wird der Befehl Herunterfahren (shutdown) mit dem Super-User-Rechten (sudo) aufgerufen. Die Parameter -h (Ausschalten) und +30 (in 30 Minuten) geben zusätzliche Informationen. Nach der Eingabe wird der Nutzer nach dem Passwort gefragt, weil sudo dies verlangt. Eine sehr aufwendige Methode, die man sich merken muss.

Zenity machts graphisch

Mit der Zenity-Bibliothek kann man diese Aufgabe nun graphisch lösen. Dafür legt man folgendes Skript unter den Namen ausschalten.sh an.

#!/bin/bash
if ! MINUTES=$(zenity --entry --text "Wie viele Minuten soll er noch an sein?" --title "Minuten?")
then
 exit;
 fi

if ! [[ "$MINUTES" =~ ^[0-9]+$ ]]
then
 zenity --error --text "$MINUTES ist keine Zahl."
 exit 1
 fi

sudo shutdown -h +$MINUTES &

PID=$!

if zenity --warning --text "Der Computer fährt sich in $MINUTES Minuten herunter.\n\n Wollen Sie das Abbrechen?"
then
 kill $PID
 fi

Dieses macht man mit dem Befehl chmod +x ausschalten.sh ausführbar. Es fehlt nur noch ein Eintrag in der Datei, die den Zugriff auf die Super-User-Funktionen regelt. Dafür ruft man im Terminal den Befehl sudo visudo auf. Am Ende der angezeigten Datei fügt man folgende Zeile ein, wobei der eigene Benutzername einzusetzen ist:

Benutzername ALL=(ALL) NOPASSWD: /sbin/shutdown, PASSWD:ALL

Führt man das oben angelegte Skript nun aus, wird man zuerst nach der Anzahl der Minuten gefragt. Dann wird der Shutdown-Befehl ausgeführt und ein Fenster mit den Hinweis darauf angezeigt. Wird dieses Fenster geschlossen, wird auch der Herunterfahren-Prozess beendet.

Veröffentlicht unter Allgemein

Div mit Textarea ersetzten

Möchte man eine Seite dynamisch bearbeiten, gibt es die Möglichkeit die Inhalte mit einer Textarea zu ersetzen. Normalerweise sehen die Inhalte in einer Textarea jedoch deutlich anders aus, als die Inhalte der Seite. Gerade, wenn man den Inhalt einer Überschrift auf diese Weise zur Bearbeitung anbieten möchte.

Bindet man die Textarea nun an die gleichen CSS-Eigenschaften, die für das Div oder H1-Element festgelegt sind, wird einem auffallen, dass es bei dem Wechsel zur Textarea eine Abstandskorrektur vom Browser gibt. Es scheint, als ob bei folgenden Szenario die ersten beiden Elemente dichter zusammen sind, als die zweiten und das obwohl die Abstandseigenschaften gleich sind.

<div style="margin:5px; padding:0"></div>
<div style="margin:5px; padding:0"></div>

<textarea style="margin:5px; padding:0"></textarea>
<div style="margin:5px; padding:0"></div>

Dieses Problem liegt an den Standardeinstellungen der Display-Eigenschaft. Div und Überschrift-Elemente sind standardmäßig auf block gestellt, während eine Textarea auf inline steht. Korrigiert man dieses, kann ein gleiches Aussehen erreicht werden.

Mittels folgenden Jquery-Anweisungen kann eine fast identische Textarea eingefügt werden:

var div = $('#div'),
textarea = $('<textarea></textarea>'),

// set the same style
styles = [
// font
'font-family','font-style','font-variant','font-size','font-weight',
'word-spacing','letter-spacing','text-decoration','text-transform',
'color','text-shadow','font-stretch',
// paragraph
'text-indent','line-height','vertical-align','text-align','white-space',
// margin
'margin-top','margin-right','margin-bottom','margin-left',
// padding
'padding-top','padding-right','padding-bottom','padding-left',
// others
'width','height','border','display'];

$.each(styles, function( i , style ) {
textarea.css(style, div.css(style));
});
div.after(textarea).remove();
Getagged mit: , , , ,
Veröffentlicht unter Programmierung, Webseite

US-Richter erklärt die Welt

Endlich hat ein Gericht verstanden, warum IP-Adressen nicht zur Personenidentifikation eingesetzt werden kann. Das besondere dabei: Es handelt sich um ein Gericht aus New York. Die Einschätzung des Richters hat Netzpolitik.org übersetzt:

Die Kläger behaupten, dass die Angeklagten, die nur durch eine IP-Adresse identifiziert werden, die Personen sind, die einen Inhalt aus dem BitTorrent-Schwarm heruntergeladen haben.

Allerdings ist die Annahme, dass die Person, die für einen Internetzugang an einem bestimmten Ort bezahlt, die gleiche Person ist, die einen Film heruntergeladen hat, fraglich und wird mit der Zeit immer fraglicher. Eine IP-Adresse bestimmt nur den Ort, an dem eine beliebige Anzahl an Computer-Geräten eingesetzt sein kann, so wie eine Telefonnummer für eine beliebige Anzahl von Telefonen verwendet werden kann.

Wenn sie nur einen Computer an das Internet anschließen, kann dieser die Adresse von ihrem Provider verwenden. Viele Haushalte verwenden heutzutage jedoch Router, um einen einzigen Internet-Anschluss mit vielen Computern zu teilen. In den letzten Jahren sind WLAN-Router besonders populär geworden. Wenn Sie einen Router verwenden, um eine Internetverbindung gemeinsam zu nutzen, bekommt der Router die IP-Adresse direkt vom Provider zugewiesen. Anschließend erstellt und verwaltet dieser ein Subnetz für alle Computer, die an diesem Router angeschlossen sind.

Dass der Anschluss-Inhaber hinter einer IP-Adresse eine bestimmte Computer-Funktion vorgenommen hat, hier das angebliche illegale Herunterladen eines einzelnen pornografischen Films, ist daher nicht wahrscheinlicher als zu sagen: Derjenige der die Telefonrechnung bezahlt, hat auch einen bestimmten Anruf gemacht. Wegen der steigenden Beliebtheit von WLAN-Routern ist das sogar viel weniger wahrscheinlich. Während es vor zehn Jahren noch fast keine drahtlosen Netzwerke in privaten Haushalten gab, verfügen mittlerweile 61% der US-Haushalte über einen solchen Zugang.

Viele Internet-Provider bieten einen kostenlosen WLAN-Router als Teil ihres Internet-Pakets an. Aus diesem Grund unterstützt eine einzige IP-Adresse der Regel mehrere Endgeräte, die im Gegensatz zu Telefonen gleichzeitig von verschiedenen Personen betrieben werden können.

Die Downloads könnten von verschiedenen Familienmitgliedern oder sogar Besuchern durchgeführt wurden sein. Außer wenn der WLAN-Router eine entsprechende Verschlüsselung hätte (und manchmal sogar dann), können auch Nachbarn oder Passanten über die IP-Adresse des Anschlussinhabers auf das Internet zugreifen.

Manche IP-Adressen können Unternehmen oder Einrichtungen gehören, die ihren Mitarbeitern, Kunden oder sogar der Öffentlichkeit Internet-Zugänge anbieten, wie es in Bibliotheken oder Cafés üblich ist.

Deshalb ist es unwahrscheinlich, dass eine IP-Adresse einem “Gerät” zugeordnet ist und der Anschlussinhaber auch der Angeklagte ist, wie die Kläger behaupten. Die meisten, wenn ich sogar alle, IP-Adressen zeigen auf einen WLAN-Router oder ein anderes Netzwerkgerät. Obwohl ein Provider den Name des Anschlussinhabers herausgeben kann, kann die Urheberrechtsverletzung durch den Inhaber, ein Familienmitglied, Mitarbeiter, Gast, Nachbar oder einen Eindringling begangen worden sein.

Getagged mit: , ,
Veröffentlicht unter Urheberrecht

Reguläre Ausdrücke mit Beispiel verschicken

Jeder Programmierer befasst sich früher oder später mit Regulären Ausdrücken. Gerade wenn es um komplizierte Konstrukte oder Beispiele geht, ist es bisher schwierig gewesen, sich mit anderen darüber auszutauschen. Das hat nun ein Ende, denn RegHex kann jetzt Beispiele permanent machen.

Auf der Weboberfläche ist jetzt rechts oben ein Link angebracht. Nach klicken auf “Permalink” werden alle gemachten Angaben in die URL übertragen und können somit verschickt werden. Hier folgen ein paar Beispiele dazu:

Viel Spaß mit dieser neuen Funktion!

Getagged mit: , ,
Veröffentlicht unter Informatik, Programmierung, Webseite

GPS-Tracks in Karte anzeigen

Zwei Freunde fahren derzeit von Rostock mit dem Fahrrad in Richtung Vietnam. Der eine (Arne) hat mich schon auf meinen Reisen durch Marokko und Ägypten begleitet und wollte nun endlich etwas Großes machen. Der andere (Alex) ist ein bisschen Technikbegeistert und hat sich ein Garmin-Gerät zugelegt, mit dem er Openstreetmap-Karten anzeigen kann. Außerdem speichert er die gefahrenen GPS-Tracks ab.

Anfang der Woche hat er mir die derzeitigen Tracks als GPX-Dateien zugeschickt. Nun ist es mir gelungen diese auf deren Webseite mit Hilfe von Javascript und Leaflet anzuzeigen.

Die Webseite bekommt die Information, welche Dateien vorhanden sind. Daraus wird eine Liste generiert, welche Checkboxen beinhaltet. Beim Auswählen einer Checkbox wird im Hintergrund die dazugehörige GPX-Datei vom Server geladen. Da diese Datei ein XML-Format hat, kann sie mittels Javascript gut geparst werden. Die Geo-Informationen werden per GeoJSON an die Leaflet-Karte übermittelt, welche diese dann in die Karte einträgt. All das funktioniert ausschließlich mit Javascript.

Zoomt man auf der Karte in den Bereich von Rostock – Südring und hat den 18.04.2012 ausgewählt, kann man sogar erkennen, auf welcher Straßenseite sie gefahren sind und welche Ampel sie genommen haben. Automatisch wird der aktuellste Track ausgewählt. Zur Zeit ist das leider nur ein Stadtrundfahrt in ihrer letzten Stadt Sibiu.

Hoffen wir, dass die beiden immer gutes Wetter haben, gut voran kommen und richtig viele schöne Momente erleben. IHR SCHAFFT DAS!

Getagged mit: , , , , , ,
Veröffentlicht unter Programmierung, Rostock, Webseite

Urheberrecht: Prinzen fragen und remixen

Beim Sat1-Talk war Tobias Künzel (“Die Prinzen” und Mitglied des GEMA-Aufsichtsrats) zu Gast und hatte dort eine interessante Idee. Es kam ein Beispiel von Leonhard Dobusch, worauf hin Herr Künzel nach seiner Meinung gefragt wurde. Das Beispiel lautete ungefähr so:

Jemand nimmt sein Kind mit der Handykamera auf, während es zu der Musik von den Prinzen tanzt. Weil das Video so lustig oder schön ist, will derjenige es auf Youtube hochladen.

Herr Künzel meinte dann, dass er das nicht okay findet. Er will wenigstens gefragt werden, dann kann man über alles reden, auch unendgeltlich. Falls also jemand mal einen Remix von einem Lied der Prinzen machen will, dann nimmt er doch bitte Kontakt zu Herrn Künzel auf und regelt das. Das geht aber nicht so einfach, denn Herr Künzel ist nicht bei Facebook oder sowas. Er will nicht allen berichten, wann er auf Toilette geht. Man kann ihn anrufen…

Ob man nun allen in anderen Fragen mit den Piraten übereinstimmt, sei dahingestellt, aber wir brauchen eine Novellierung des bestehenden Urheberrechts. Ich will wieder ohne “Gema”-Beschwerde lustige oder informative Videos auf Youtube sehen können, die einfach nur mit einer Musik hinterlegt sind, damit es nicht so langweilig ist.

Ein Vorschlag von mir wegen dem Urteil von Freitag: Bei der Einblendung “ist in deinem Land nicht verfügbar”, könnte man doch anbieten, das Video ohne Ton zu sehen. Somit bleiben einem wenigstens nicht die Bilder vorenthalten.

Hier noch ein schönes Video über Youtube und die Gema, was schon etwas älter ist, aber leider noch nicht an Wert verloren hat:

Getagged mit: , , ,
Veröffentlicht unter Urheberrecht

Beispielcode-Verzeichnis in Openoffice

Nachdem Basti eine Anleitung für Latex geschrieben hat, bin ich nun mit der Anleitung für Openoffice dran. Sebastian und ich haben uns dazu entschieden, unsere Masterarbetien in Openoffice zu schreiben. Wir erhoffen uns damit, die vielen kleinen Probleme, die man mit Latex hat, aus dem Weg zu gehen. Gerade, wenn man mit Beispielcode im Text arbeiten will, wird es mit Latex sehr schwierig.

Für unsere Arbeit benutzen wir sehr viele kleine Beispiele mit Quellcode. Diese wollen wir im Text referenzieren und auch ein Verzeichnis dafür anlegen. Standardmäßig kann Openoffice das nur mit Abbildungen und Tabellen. Aber eigene Zähler sind nicht schwierig.

Zuerst legen wir eine neue Zählvariable an: EinfügenFeldbefehlAndereVariablen.

Dort wählt man “Nummernkreis” und trägt einen neuen Namen ein. Anschließend mit 1x “Einfügen” bestätigen. Anschließend kann man noch die Nummerierung ändern. Als nächsten Schritt sollte man ein Test-Quellcode anlegen. Ich nutze dafür Rahmen. Rechte Maustaste – Beschriftung: Dort gibt man einen Text ein und wählt als Kategorie den neu angelegten Zähler.

Nun fehlt nur noch das Verzeichnis. Dafür geht man mit dem Cursor an die gewünschte Position und wählt den Menüpunkt EinfügenVerzeichnisseVerzeichnisse. Als Typ wählt man nun “Tabellenverzeichnis”. Anschließend trägt man seinen eigenen Titel ein und wählt in der Kategorie den zuvor definierten Zähler.

Nun sollte das Verzeichnis erstellt worden sein. Änderungen müssen mit rechte MaustasteVerzeichnis aktualisieren manuell getriggert werden.

Eine Anmerkung noch: Zur einfachen Lesbarkeit habe ich Openoffice geschrieben. Das ganze geht natürlich auch mit Libreoffice und wurde auch damit erstellt.

Getagged mit: , , , ,
Veröffentlicht unter Informatik, Programmierung, Uni

Eine Horizonterweiterung

Nach einem Trainingstag bei herrlichem Wetter habe ich mir heute Abend eine kleine Premiere gegönnt. Heute basiert ein Gebäck das erste Mal für mich auf der Grundlage von Dinkelmehl und Honig als sonstiger Zuckerersatz.
Das Ergebnis konnte sich sehen und schmecken lassen. :)

Das Rezept gibt es hier.

Ich wünsche ein schönes Restwochenende!

Getagged mit: , ,
Veröffentlicht unter Rezepte