Dateiverknüpfung
Im IT-Bereich ist eine Dateiverknüpfung (kurz Verknüpfung) ein Verweis auf eine Datei oder ein Verzeichnis im Dateisystem.
Unter manchen Betriebssystemen (z.B. Windows) sind Verknüpfungen selbst Dateien mit einer bestimmten Dateiendung. Anwendungen müssen also direkt die Verknüpfungsdatei öffnen und kennen erst dann die Zieldatei, wenn sie die Verknüpfungsdatei ausgewertet haben. Bei NTFS-Partitionen besteht allerdings die Möglichkeit, sogenannte Hardlinks zu erstellen, also die Verknüpfung direkt im Dateisystem abzulegen.
In anderen Filesystemen (z.B. unixoider Betriebssysteme) sind Verknüpfungen transparent integriert: greift eine Anwendung auf eine Verknüpfung zu, wird stattdessen – für die Anwendung nicht sichtbar – direkt das Ziel der Verknüpfung geöffnet.
Sowohl symbolische als auch harte Links ermöglichen unter Mehrbenutzersystemen eine Angriffsmöglichkeit, um Systemdateien oder Dateien anderer Benutzer überschreiben zu lassen (Symlink-Attacke). Der Angreifer legt eine Verknüpfung unter einem Namen ab, unter dem er erwartet, dass ein anderer Benutzer eine neue Datei zu erstellen versucht. Die Verknüpfung zeigt auf die zu verändernde Datei. Wenn nun ein Benutzer oder Programm eine neue Datei unter dem Namen anlegen möchte, ohne vorher zu prüfen, ob die Datei bereits existiert (z.B. in Form eines symbolischen Links), wird die Zieldatei überschrieben. Bei Programmen, die eine solche Überprüfung nicht vornehmen, spricht man von einem Symlink-Programmfehler. Um Probleme dieser Art für die Gruppe der temporären Dateien auszuschließen, definiert der POSIX-Standard die Funktion mkstemp(). Sie erzeugt nicht vorhersagbare und kollisionsfreie Dateinamen, öffnet die Datei und gibt danach einen Filedescriptor zurück, so daß während des Aufrufs kein anderer Prozess auf diese Datei (schreibend) zugreifen kann.
Unter Mac OS-Systemen werden Dateiverknüfpungen Alias oder auch Aliasdatei genannt.
Siehe auch: Hyperlink
