Những quyền nào ảnh hưởng đến việc tạo liên kết cứng? Liệu quyền sở hữu tập tin có vấn đề?
Giả sử người dùng alice
muốn tạo một liên kết cứng đến tệp target.txt
trong một thư mục target-dir
.
- Những quyền nào
alice
cần trên cả haitarget.txt
vàtarget-dir
? - Nếu
target.txt
thuộc sở hữu của người dùngbill
vàtarget-dir
thuộc sở hữu của người dùngchad
, nó có thay đổi gì không?
Tôi đã cố gắng mô phỏng tình huống này để tạo cấu trúc thư mục / tệp sau trong ext4
hệ thống tệp:
#> 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
Mặc dù alice
có thể tạo liên kết mềm đến target.txt
nhưng cô ấy không thể tạo liên kết cứng:
#> ln source-dir/target.txt target-dir/
ln: failed to create hard link ‘target-dir/target.txt’ => ‘source-dir/target.txt’: Operation not permitted
Nếu alice
sở hữu target.txt
và không có quyền được thay đổi, liên kết cứng thành công. Tôi đang thiếu gì ở đây?
target.txt
và target-dir
quyền, trừ khi tôi sudo
là root.
alice
Tôi có thể truy cập cả tệp gốc và liên kết cứng với nó (được tạo bằng sudo
), nhưng tôi không thể tạo liên kết dưới dạng người dùng alice
mặc dù tất cả chúng ta đồng ý các quyền này là đủ cho nó.