Copying sources and texts (also in parts) for publishing without our permission is NOT ALLOWED. We are fed up with finding our work on other sites (like stackoverflow).
Das Kopieren von Quellcode und Texten (auch in Auszügen) ist nicht erlaubt. Wir haben es gründlich satt, unsere Arbeit auf anderen Webseiten zu finden.

Copying for non-public usage is allowed.           Das private Kopieren und Benutzen ist natürlich erlaubt und erwünscht.
31. Aug
Teaser

VirtualBox: Eine Imagedatei von “dd” in eine “vdi” Festplatte konvertieren

Wenn Sie unter Linux mit dem Befehl “dd” von einer Festplatte ein Image (Abbild) erstellt haben, kann diese in VirtualBox nicht direkt eingebunden werden. VirtualBox erwartet ein Format wie z.Bsp. “.vdi”.

Der folgende Befehl wandelt Ihr Image in eine VDI Datei um, welche Sie dann direkt in VirtualBox als Festplatte nutzen können:

vboxmanage convertdd /path/to/dd_image_file.img /path/to/new_vbox_file.vdi --format VDI --variant Fixed
Converting from raw image file="/path/to/dd_image_file.img" to file="/path/to/new_vbox_file.vdi"...
Creating fixed image with size 250059350016 bytes (238476MB)...

Für alle, die den “dd” Befehl unter Linux suchen oder brauchen:

dd if=/dev/device of=/path/to/dd_image_file.img

Wobei “/dev/device” das unter Linux genutzt gerät darstellt (z.Bsp. “/dev/sda”).

27. Aug
Teaser

Raspberry Pi: Eine Partition erweitern

Nachdem ein Raspberry Pi oder banana Pi Image auf eine SD Karte kopiert wurde, nutzt die System-Partition in fast allen Fällen nicht den verfügbaren Speicherplatz auf dem Datenträger. Ob die Partition auf einer SD Karte oder eine Festplatte liegt ist für diese Anleitung nicht wichtig.

Starten Sie das Festplatten-Partitionierungsprogramm zur Anzeige der vorhandenen Partitionen:

sudo fdisk -l
Disk /dev/mmcblk0: 14.8 GiB, 15912140800 bytes, 31078400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000ebf83

Device         Boot  Start     End Sectors  Size Id Type
/dev/mmcblk0p1 *    204800  729087  524288  256M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      
729088
3071999 2342912 1.1G 83 Linux

Notieren Sie sich den Startwert für die Linux-Partition:

729088

Starten Sie das Programm “fdisk” mit root Rechten für die SD Karte / Festplatte:

sudo fdisk /dev/mmcblk0
Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help):

Durch Drücken vpn “p” (und “Enter”) wird die aktuelle Partitionstabelle angezeigt:

Command (m for help): p
Disk /dev/mmcblk0: 14.8 GiB, 15912140800 bytes, 31078400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000ebf83

Device         Boot  Start     End Sectors  Size Id Type
/dev/mmcblk0p1 *    204800  729087  524288  256M  c W95 FAT32 (LBA)
/dev/mmcblk0p2      729088 3071999 2342912  1.1G 83 Linux

Command (m for help):

Hier sollten Sie nochmals prüfen, ob Sie gerade die richtige SD Karte / Festplatte bearbeiten. Die Partiotion “/dev/mmcblk0p1” (die erste Partition vom Typ “W95 FAT32”) wird nicht verändert. Sie dient zum Booten des Systems und darf auch nicht gelöscht werden.

Die zweite Partition löschen wir jetzt mit “d” und “2”:

Command (m for help): d
Partition number (1,2, default 2): 2

Partition 2 has been deleted.

Jetzt wird die gleiche Partition sofort wieder durch “n” neu angelegt.
Dabei unbedingt aufpassen:
Wenn der Start (“first sector”) angegeben werden soll, den notierten Wert eingeben (hier “729088”) und nicht die Vorgabe übernehmen !

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (2048-31078399, default 2048): 
729088
Last sector, +sectors or +size{K,M,G,T,P} (729088-31078399, default 31078399): Created a new partition 2 of type 'Linux' and of size 14.5 GiB.

Die neuen Angaben jetzt mit “w” speichern:

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

Das System muss jeztz neu gestattet werden:

sudo reboot

Nachdem der Neustart abgeschlossen ist, wird die neue Partitionsgröße gesetzt:

sudo resize2fs /dev/mmcblk0p2
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/mmcblk0p2 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p2 is now 3793664 (4k) blocks long.

Um die neue Größe der Partition zu prüfen, nutzen wir den Befehl “df”:

df -h /
Filesystem      Size  Used Avail Use% Mounted on
/dev/mmcblk0p2   15G  890M   13G   7% /
27. Aug
Teaser

Linux: Aktuelle Ubuntu Version auslesen

Um in der Shell oder per command line die aktuelle Ubuntu Version abzufragen, können Sie folgenden Befehl nutzen:

lsb_release -a

Die Ausgabe sieht z.Bsp. so aus:

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04 LTS
Release:        16.04
Codename:       xenial

Auf diesem Beispiel-PC läuft also derzeit “Ubuntu 16.04 LTS”.

22. Aug
Teaser

Komplette Webseite mit “wget” sichern

Der folgende Befehl erlaubt es, eine Webseite unter Linux komplett als Kopie lokal zu speichern:

wget -r http://www.domain-name.de

Dabei erstellt “wget” automatisch eine Verzeichnisstruktur im aktuellen Ordner und legt alle angerufenen Dateien dort ab.

21. Aug
Teaser

VirtualBox: Windows ohne Aktivierung umziehen (importieren)

Wenn Sie eine VirtualBox mit installiertem und aktiviertem Windows von einem Host auf einen anderen umziehen, dann fordert Windows beim nächsten Start eine neue Aktivierung.

Das können Sie durch folgenden “Trick” vermeiden:

Lassen Sie sich die Daten Ihrer VirtualBox auf dem Original-/Quell-Host in eine Datei (“vminfo.txt”) ausgeben:

vboxmanage showvminfo /path/to/Original.vbox > vminfo.txt

Öffnen Sie die Textdatei:

nano vminfo.txt

Suchen Sie die “Hardware UUID” heraus (meist ist sie identisch zur Geräte “UUID”):

UUID:            8fd5972d-53fe-42c8-807c-d6dee4e222ed
Hardware UUID:   8fd5972d-53fe-42c8-807c-d6dee4e222ed

Sie können auch folgenden Befehl für das Auslesen benutzen:

vboxmanage showvminfo /path/to/Original.vbox | grep "Hardware UUID"
Hardware UUID:   8fd5972d-53fe-42c8-807c-d6dee4e222ed

Durch den Import auf den Ziel-Host wurden (meist) die UUID verändert. Korrigieren Sie die Hardware UUID durch folgenden Befehl und setzen Sie diese wieder auf den Wert des Original-Hosts:

vboxmanage modifyvm /path/to/New.vbox --hardwareuuid "8fd5972d-53fe-42c8-807c-d6dee4e222ed"

Wenn Sie jetzt die VirtualBox auf dem neuen Host starten, dann wird Windows keine erneute Aktivierung fordern.

08. Aug
Teaser

Sicherheit: Streamen der IP Kamera “HOSAFE-1MB6”

Die IP Kamera “1MB6” vom Hersteller Hosafe liefert auch einen IP-Video-Stream.

Allerdings nicht auf den üblichen Ports und den üblichen Pfaden, sondern etwas versteckt:

rtsp://12.34.56.78:5544/live0.264

Für openRTSP lautet der Befehl z.Bsp.:

openRTSP -D 10 -4 -Q -F "video" -d 30 -P 1800 -t -u admin admin -B 10000000 -b 10000000 rtsp://12.34.56.78:5544/live0.264

Die Angabe “12.34.56.78” ist durch die IP Adresse der Kamera zu ersetzen.

Opened URL "rtsp://12.34.56.78:5544/live0.264", returning a SDP description:
v=0
o=- 1062276890 1 IN IP4 12.34.56.78
s=Session Streamed by LIBZRTSP
i=live0.264
t=0 0
a=tool:LIBZRTSPD v1/0.3
m=video 0 RTP/AVP 96
c=IN IP4 12.34.56.78
b=AS:2
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=4D401F;sprop-parameter-sets=Z03AH5WrFAFuhACDAwAEAAADAHgy,aO22gA==
a=control:track1
m=audio 0 RTP/AVP 0
c=IN IP4 0.0.0.0
b=AS:64
a=rtpmap:0 PCMU/8000
a=control:track2

Created receiver for "video/H264" subsession (client ports 59974-59975)
Changed socket receive buffer size for the "video/H264" subsession from 212992 to 425984 bytes
Created receiver for "audio/PCMU" subsession (client ports 38420-38421)
Changed socket receive buffer size for the "audio/PCMU" subsession from 212992 to 425984 bytes
Sending request: SETUP rtsp://12.34.56.78:5544/live0.264/track1 RTSP/1.0
CSeq: 4
User-Agent: openRTSP (LIVE555 Streaming Media v2014.01.13)
Transport: RTP/AVP/TCP;unicast;interleaved=0-1

Received 219 new bytes of response data.
Received a complete SETUP response:
RTSP/1.0 200 OK
CSeq: 4
Date: Aug 05 2017 19:05:08 GMT
Session: 26C0B3BC;timeout=60
Transport: RTP/AVP/TCP;unicast;destination=192.168.5.50;source=12.34.56.78;interleaved=0-1;mode=PLAY;
x-Dynamic-Rate: 1

Setup "video/H264" subsession (client ports 59974-59975)
Sending request: SETUP rtsp://12.34.56.78:5544/live0.264/track2 RTSP/1.0
CSeq: 5
User-Agent: openRTSP (LIVE555 Streaming Media v2014.01.13)
Transport: RTP/AVP/TCP;unicast;interleaved=2-3
Session: 26C0B3BC

Received a complete SETUP response:
RTSP/1.0 200 OK
CSeq: 5
Date: Aug 05 2017 19:05:08 GMT
Session: 26C0B3BC;timeout=60
Transport: RTP/AVP/TCP;unicast;destination=11.22.33.44;source=12.34.56.78;interleaved=2-3;mode=PLAY;
x-Dynamic-Rate: 1

Setup "audio/PCMU" subsession (client ports 38420-38421)
Outputting to the file: "video.mp4"
Sending request: PLAY rtsp://12.34.56.78:5544/live0.264/ RTSP/1.0
CSeq: 6
User-Agent: openRTSP (LIVE555 Streaming Media v2014.01.13)
Session: 26C0B3BC
Range: npt=0.000-30.000

Received a complete PLAY response:
RTSP/1.0 200 OK
CSeq: 6
Date: Aug 05 2017 19:05:08 GMT
Range: npt=0.000-
Session: 26C0B3BC
RTP-Info: url=rtsp://12.34.56.78:5544/live0.264/track1;seq=0;rtptime=0,url=rtsp://12.34.56.78:5544/live0.264/track2;seq=0;rtptime=0

Started playing session
Receiving streamed data (for up to 30.000000 seconds)...
07. Aug
Teaser

Linux: PHP ohne Apache Webserver installieren

Wenn man PHP installieren möchte und dafür den üblichen Befehl unter Debian benutzt:

apt-get install php5

… dann wird angezeigt, dass auch apache2 usw. usf. installiert werden sollen:

The following extra packages will be installed:
  apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php5 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0
  libonig2 libperl4-corelibs-perl libqdbm14 lsof php5-cli php5-common php5-json php5-readline ssl-cert

Lösung:
Wenn man jedoch keinen Webserver (oder Apache im Besonderen nicht) installieren möchte, dann hilft:

apt-get install php5-cgi php5
05. Aug
Teaser

WordPress: Die readme.html Datei blocken

WordPress hat schon lange die unbeachtete Sicherheitslücke mit der eigenen “readme.html” Datei.

Das wird bei den Veröffentlichungen (Updates) wohl auch keiner vom WordPress Team mehr lernen: Solche Details geben Angreifern wertvolle Informationen über das eingesetzte System, die eingesetzte Version (denn auch die readme Datei ändert sich von Zeit zu Zeit) und somit mehr Möglichkeiten des Angriffes. Der Inhalt solcher Dateien ist für den Webseitenbetreiber ggf. interessant; jeden anderen gehen solche Details nichts an.

Lösung:
Sperren Sie selbst in der .htaccess Datei den Zugriff auf diese Datei:

RewriteCond %{THE_REQUEST} /readme\.html[?/\s] [NC]
RewriteRule ^ - [R=404,L]

Danach wird dem Benutzer für diese Datei ein 404 Fehler (“Datei nicht gefunden”) angezeigt.