Какие разрешения влияют на создание жестких ссылок? Имеет ли значение владение файлом?
Предположим, пользователь alice
хочет создать жесткую ссылку на файл target.txt
в каталоге target-dir
.
- Какие разрешения
alice
нужны для обоихtarget.txt
иtarget-dir
? - Если
target.txt
он принадлежит пользователюbill
иtarget-dir
принадлежит емуchad
, это что-то меняет?
Я попытался смоделировать эту ситуацию, создав следующую структуру папок / файлов в ext4
файловой системе:
#> 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
Хотя она alice
может создать программную ссылку target.txt
, она не может создать жесткую ссылку:
#> ln source-dir/target.txt target-dir/
ln: failed to create hard link ‘target-dir/target.txt’ => ‘source-dir/target.txt’: Operation not permitted
Если alice
владелец target.txt
и никакие разрешения не изменены, жесткая ссылка завершается успешно. Что мне здесь не хватает?
target.txt
и target-dir
разрешений, если я sudo
как корень.
alice
Я могу получить доступ как к исходному файлу, так и к жесткой ссылке на него (созданный с помощью sudo
), но я не могу создать ссылку как пользователь, alice
несмотря на то, что мы все согласны, этих разрешений должно быть достаточно для него.