Es ist wohl jedem Linux-Admin schon einmal passiert, dass man eine Datei versehentlich gelöscht hat. Mit entsprechenden Recovery-Tools lässt sich diese eventuell wiederherstellen, ob und wie gut das funktioniert ist allerdings die Frage. Allerdings kann man sich diesen Aufwand mit etwas Glück sparen. Wenn nämlich ein Prozess noch einen offenen File Descriptor für diese Datei hat, ist darüber noch ein Zugriff auf die Datei möglich.
Artikel vollständig lesen »Artikel mit Tag Linux
Dienstag, 3. Juni 2014
Partitionstabelle kopieren mit dd
Manchmal benötigt man auf zwei Festplatten die selbe Partitionierung, wobei es dann meist auch wichtig ist, dass diese zu 100% übereinstimmen. Da ist es naheliegend, die Partitionstabelle von der einen auf die andere Festplatte zu kopieren. Unter Linux geht dies mittels dd sehr leicht:
# Partitionstabelle auf Festplatte sdc anlegen
root@linux:~$parted /dev/sdc
(parted) mklabel msdos
Nun werden die Datenblöcke, in denen die Partitionstabelle gespeichert ist, von der Festplatte sdb ausgelesen, in eine temporäre Datei gespeichert und auf Festplatte sdc geschrieben.
dd if=/dev/sdb of=/tmp/partitiontable-sdb.bin bs=1 skip=446 count=64
dd if=/tmp/partitiontable-sdb.bin of=/dev/sdc bs=1 seek=446 count=64
Anschließend sind die Partitionstabellen auf beiden Festplatten absolut identisch.
Hinweis:
Mit den genannten Befehlen wird ausschließlich die Partitionstabelle kopiert, ohne Bootrecord. Soll dieser ebenfalls kopiert werden, müssen die ersten 446 Bytes ebenfalls kopiert werden, weshalb die Befehle folgendermaßen lauten müssen:
dd if=/dev/sdb of=/tmp/partitiontable-sdb.bin bs=1 count=64
dd if=/tmp/partitiontable-sdb.bin of=/dev/sdc bs=1 count=64
Montag, 27. Mai 2013
cURL funktioniert nicht mit URL-Parametern
Immer wieder passiert es, dass man als Admin auf Probleme stößt, die man an dieser Stelle eigentlich für ausgeschlossen hält, weil einem der auszuführende Befehl viel zu trivial erscheint. Genau so ging es mir, als ich in einer Shell mit cURL einen Webservice abfragen wollte:
curl http://www.example.com?a=1&b=2
Aus unerfindlichen Gründen wurde der Befehl erst nach einem zweiten, zusätzlichen Return abgeschlossen. Der Tipp eines Kollegen brachte mich glücklicherweise auf die Ursache und damit auch auf die Lösung des Problems. In der URL sind mehrere Parameter, jeweils mit einem "&" verknüpft, enthalten. Die Shell interpretiert dieses Zeichen als Ende des davor stehenden Kommandos und führt dieses aus. Der Rest wird dann als neues Kommando interpretiert, das natürlich erst nach einem weiteren Return ausgeführt wird.
Lösen lässt sich dieses Problem, indem man die URL in (doppelte oder einfache) Anführungszeichen setzt oder das "&" mit einem "\" escaped:
# Doppelte Anführungszeichen
curl "http://www.example.com?a=1&b=2"
# Einfache Anführungszeichen
curl 'http://www.example.com?a=1&b=2'
# Escaped
curl http://www.example.com?a=1\&b=2
Donnerstag, 31. Januar 2013
Links Januar 2013
magenbrotWiki: OpenSSL-Zertifikate
In diesem Wiki-Artikel sind wichtige und hilfreiche OpenSSL-Befehle aufgeführt. Mit diesen lassen sich beispielsweise SSL-Zertifikate analysieren, prüfen und erstellen. Ebenso kann mit OpenSSL auch manuell eine textbasierte Verbindung (z.B. IMAP, SMTP, HTTP, etc.) SSL-verschlüsselt aufgebaut werden.
Pythian: Does MySQL Send Passwords In the Clear?
Insbesondere wenn man einen zentralen Datenbank-Server von mehreren Systemen aus verwendet, stellt sich die Frage nach der Sicherheit der Zugangsdaten beim Verbindungsaufbau über das Netzwerk. Wird für bei der Verbindung die Möglichkeit der SSL-Verschlüsselung verwendet, ist diese schnell beantwortet, da hier nie etwas im Klartext übertragen wird.
Wird die Verbindung aber nicht mittels SSL verschlüsselt, gestaltet sich die Beantwortung dieser Frage jedoch nicht so einfach. Sheeri Cabral hat sich mit dieser Thematik ebenfalls beschäftigt und deshalb einen entsprechenden Artikel darüber verfasst.
Nützliche, einzeilige Scripts für SED (Unix Stream Editor)
Wie der Titel scho vermuten lässt, handelt es sich hierbei um eine Liste häufig benötigter Befehle für das Unix-Tool sed. Dazu zählt beispielsweise das Suchen und Ersetzen von Textteilen, das Entfernen bestimmter Zeilen oder das Einfügen von Text an bestimmten Stellen.
Freitag, 30. November 2012
Links November 2012
Sysadmin's Life: Windows 2008 R2 mehrere gleichzeitige RDP Sessions erlauben
Mehrere parallele RDP-Sitzungen sind unter Windows Server 2008 R2 standardmäßig nicht möglich. Dies kann aber durchaus notwendig sein. Mit der in diesem Artikel beschriebenen Anpassung lässt sich diese Beschränkung aufheben.
FreeMyPDF - Removes passwords from viewable PDFs
Manchmal hat man ein PDF-Dokument, das sich aufgrund dessen Beschränkungen nicht ausdrucken oder ändern lässt. Sofern es angezeigt werden kann, lassen sich diese Beschränkungen und das entsprechende Passwort jedoch über diesen Online-Dienst bequem entfernen.
HACKTUX: Clear and Disable Bash History
Auf Linux-Systemen werden die ausgeführten Shell-Befehle üblicherweise mitprotokolliert, so dass aus dieser Historie wieder Befehle ausgewählt und ausgeführt werden können. Manchmal möchte man jedoch, dass diese Historie gelöscht wird bzw. dass keine weiteren Befehle hinzugefügt werden. Wie dies möglich ist, wird in diesem Artikel erklärt. Allerdings gilt dies dann nur für die aktuelle Sitzung und nicht für zukünftige.