Izin mana yang memengaruhi pembuatan tautan keras? Apakah kepemilikan file itu sendiri penting?
Misalkan pengguna alice
ingin membuat tautan keras ke file target.txt
dalam direktori target-dir
.
- Izin mana yang
alice
dibutuhkan untuk keduanyatarget.txt
dantarget-dir
? - Jika
target.txt
dimiliki oleh penggunabill
dantarget-dir
dimiliki oleh penggunachad
, apakah itu mengubah apa pun?
Saya telah mencoba mensimulasikan situasi ini dengan membuat folder / struktur file berikut dalam ext4
sistem file:
#> 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
Meskipun alice
dapat membuat tautan lunak ke target.txt
, ia tidak dapat membuat tautan keras:
#> ln source-dir/target.txt target-dir/
ln: failed to create hard link ‘target-dir/target.txt’ => ‘source-dir/target.txt’: Operation not permitted
Jika alice
memiliki target.txt
dan tidak ada izin yang diubah, hard-link berhasil. Apa yang kulewatkan di sini?
target.txt
dan target-dir
izinnya, kecuali saya sudo
sebagai root.
alice
Saya dapat mengakses file asli dan hard-link untuk itu (dibuat dengan sudo
), tetapi saya tidak dapat membuat tautan sebagai pengguna alice
meskipun kita semua menyetujui izin ini sudah cukup untuk itu.