Welche Berechtigungen wirken sich auf die Erstellung von Hardlinks aus? Ist der Besitz von Dateien selbst wichtig?
Angenommen, der Benutzer alicemöchte einen Hardlink zu der Datei target.txtin einem Verzeichnis erstellen target-dir.
- Welche Berechtigungen sind
alicefür beidetarget.txtund erforderlichtarget-dir? - Wenn der
target.txtBenutzer Eigentümer istbillund der Benutzertarget-dirEigentümer istchad, ändert sich dadurch etwas?
Ich habe versucht, diese Situation zu simulieren, indem ich die folgende Ordner- / Dateistruktur in einem ext4Dateisystem 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 alicesie einen Softlink zu target.txterstellen 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 alicebesitzt target.txtund keine Berechtigungen geändert werden, gelingt es die hart-link. Was vermisse ich hier?
target.txtund target-dirBerechtigungen nicht erstellen , es sei denn, ich bin sudoroot.
alicefolgt 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, aliceobwohl wir uns alle einig sind, dass diese Berechtigungen ausreichen sollten.