Welche Berechtigungen wirken sich auf die Erstellung von Hardlinks aus? Ist der Besitz von Dateien selbst wichtig?
Angenommen, der Benutzer alice
möchte einen Hardlink zu der Datei target.txt
in einem Verzeichnis erstellen target-dir
.
- Welche Berechtigungen sind
alice
für beidetarget.txt
und erforderlichtarget-dir
? - Wenn der
target.txt
Benutzer Eigentümer istbill
und der Benutzertarget-dir
Eigentümer istchad
, ändert sich dadurch etwas?
Ich habe versucht, diese Situation zu simulieren, indem ich die folgende Ordner- / Dateistruktur in einem ext4
Dateisystem erstellt habe:
#> ls -lh . *
.:
drwxr-xr-x 2 bill bill 60 Oct 1 11:29 source-dir
drwxrwxrwx 2 chad chad 60 Oct 1 11:40 target-dir
source-dir:
-r--r--r-- 1 bill bill 0 Oct 1 11:29 target.txt
target-dir:
-rw-rw-r-- 1 alice alice 0 Oct 1 11:40 dummy
Während alice
sie einen Softlink zu target.txt
erstellen kann, kann sie keinen Hardlink erstellen:
#> ln source-dir/target.txt target-dir/
ln: failed to create hard link ‘target-dir/target.txt’ => ‘source-dir/target.txt’: Operation not permitted
Wenn alice
besitzt target.txt
und keine Berechtigungen geändert werden, gelingt es die hart-link. Was vermisse ich hier?
target.txt
und target-dir
Berechtigungen nicht erstellen , es sei denn, ich bin sudo
root.
alice
folgt zu erstellen. Ich kann sowohl auf die Originaldatei als auch auf einen Hardlink (der mit erstellt wurde sudo
) zugreifen , aber ich kann den Link nicht wie folgt erstellen der Benutzer, alice
obwohl wir uns alle einig sind, dass diese Berechtigungen ausreichen sollten.