-
Notifications
You must be signed in to change notification settings - Fork 0
/
virtuelle_dateisysteme.tex
36 lines (36 loc) · 2.91 KB
/
virtuelle_dateisysteme.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
\section{virtuelle Dateisysteme in /dev und einige hacks dazu}
Unter Linux sind alle am Computer angeh\"angten Ger\"ate unter /dev aufgef\"hrt. Meistens greift der Nutzer nicht auf Dateien in /dev zu. Es gibt aber einige Ausnahmen. Die wichtigste sind die virtuellen Dateisysteme /dev/zero /dev/null und /dev/random.\\
\begin{itemize}
\item /dev/zero ist ein virtuelles Dateisystem, das immer Nullen zur\"uckgibt
\item /dev/null ist ein virtuelles Dateisystem, in das sich unbegrenzt viele Daten schreiben lassen. Diese werden dabei aber nicht gespeichert, sondern ins Nirvana geschickt.
\item /dev/random liefert zuf\"allige Werte zur\"uck. Die Zufallswerte von /dev/random haben eine sehr hohe kryptografische Qualit\"at sind aber aufwenig zu erzeugen und f\"ur grosse Schreiboperationen wie das \"Uberschreiben einer Festplatte nicht geeignet. Vielmehr sind si zu verwenden wenn hohe kryptografische Anspr\"uche gestellt werden wie beim Erstellen eines keys.
\item /dev/urandom /dev/urandom liefert ebenfalls Zufallswerte, allerdings mit weniger hoher Qualit\"at, daf\"ur schneller. Die Werte sind aber immer noch als stark zu betrachten und gen\"ugen f\"ur die meisten Aufgaben.
\end{itemize}
Hier einige Anwendungszwechek f\"ur diese virtuellen Devices:
\begin{description}
\item[Output umleiten] \hfill \\
Wird ein Programm in der Konsole gestartet, so gibt es von Zeit zu Zeit Output zur\"uck. M\"ochte man aber in der gleichen Konsole weiterarbeiten kann das l\"astig sein. Der Output kann deshalb nach /dev/null umgeleitet werden. Zudem k\"onnen Fehlermeldunen wahlweise ebenfalls oder eben nicht umgeleitet werden.
\begin{lstlisting}
# Umleiten des outputs
dhcpd > /dev/null &
# Umleitung der output und der Fehlermeldungen
dhcpd > /dev/null 2> /dev/null &
\end{lstlisting}
\item[Erstellen einer beliebig grossen Testdatei] \hfill \\
Eine beliebig grosse Testdatei kann mit dd und wahlweise /dev/zero oder /dev/urandom generiert werden. Eine solche Datei kann zum Beispiel zum Messen der Performance einer Anwendung verwendet werden. ACHTUNG: In diesem Beispiel wird dd verwendet. dd tut genau das, wozu es angewiesen wird. Wird ihm, aus Versehen oder willentlich, gesagt ben MBR der Systemplatte zu \"uberschreiben, so tut es das! Es ist deshalb Vorsicht geboten.
\begin{lstlisting}
# create a 512MB testfile with random data
dd if=/dev/urandom of=~/testfile bs=1M count=512
\end{lstlisting}
\item[\"Uberschreiben des MBR] \hfill \\
Der 512byte grosse Bootsektor l\"asst sich einfach mit Nullen \"uberschreiben. Dadurch verschwindet die Partitionstabelle und der Bootloader.
\begin{lstlisting}
# MBR der zweiten Festplatte im System
dd if=/dev/zero of=/dev/sdb bs=1 count=512
\end{lstlisting}
\item[\"Uberschreiben einer Festplatte mit Zufallszahlen] \hfill \\
Vor dem Weiterverkauf einer Festplatte sollten alle Daten darauf \"uberschrieben werden, z.B. mit Zufallszahlen.
\begin{lstlisting}
dd if=/dev/urandom of=/dev/sdb bs=1M
\end{lstlisting}
\end{description}