linux-l: ln und unlink (nicht mehr kdelinks)

Ihno Krumreich ihno at fh-brandenburg.de
Mo Aug 9 14:26:28 CEST 1999


> Das 'unlink' in AIX ist nicht einfach ein Frontend fuer 'ln'. Hier ist ein
> kleiner Auszug aus der Manpage:
> 

unlink gibts auch bei Solaris..

>   Warning: The link and unlink commands allow a user with root user
>   authority to deal with unusual problems, such as moving an entire
>   directory  to  a different part of the directory tree.  They also
>   permit you to create directories that cannot  be  reached  or es-
>   caped  from. 
> 
> Diese Befehle erlauben wohl einen tieferen Eingriff in das Dateisystem als 'ln'.
> Warum sollte ihn sonst nur root benutzen koennen? Angeblich kann man bei falschem 
> Gebrauch Directories 'aushaengen', die man dann niemals (oder nur sehr schwer) 
> wiederfindet, d.h. der Belegte Platz auf der Festplatte ist verloren. Direkt aus 
> der Manpage kann ich das zwar auch nicht so herauslesen, aber so hatte es mir der 
> damalige Unix-Experte erklaert. Bitte verzeih mir, dass ich das nicht ausprobieren 
> wollte, um es zu be- oder widerlegen.
> 

Der trick ist ganz einfach. Man lege mit mkdir ein Verzeichnis (d.h es werden drei
Verweise angelegt: das Verzeichnis, "." und "..") an und sehe sich die Verweisstrucktur
an (ls -lai). Mit rm kann ich "." und ".." nicht loeschen. Mit unlink kann man es und
damit ein beliebiges Chaos erzeugen. Loescht man ".." geht natuerlich ein "cd .." nicht mehr.
Loescht man "." geht auch ein einfaches ls nicht mehr usw.

> > Eine zweite Stelle aus den Handbüchern, zu 'symlink(2)', die mir nicht ganz
> > klar ist: 'Deleting the name referred to by a symlink  will  actually delete
> > the file (unless it also has other hard links). If this behaviour is not
> > desired, use link.' - was soll denn das heißen?! Wenn ich einen Symbolischen
> > Link lösche, verschwindet doch nicht die dahintersteckende Datei; das ist
> > auch genau das, was in 'remove(2)' beschrieben wird!

Manche Programme/Aufrufe folgen dem symbolischen Verweis und bearbeiten nicht den Verweis
selber (Unterschied stat(2) <-> lstat(2)). 


Gruss

Ihno Krumreich

==============================================================================
Ihno Krumreich       | Phone (49) 3381 355438          U   U N   N  III  X   X
FH Brandenburg       | email: ihno at fh-brandenburg.de   U   U NN  N   I    X X
Magdeburgerstr. 50   | FAX (49) 3381 355499            U   U N N N   I     X
D-14770 Brandenburg  | NIC:IK139  RIPE:IK255-RIPE      U   U N  NN   I    X X
                                                        UUU  N   N  III  X   X
___________________________________________________________________
   NT is not the answer, it's the question and the answer is NO



Mehr Informationen über die Mailingliste linux-l