Какие разрешения влияют на создание жестких ссылок? Имеет ли значение владение файлом?
Предположим, пользователь 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несмотря на то, что мы все согласны, этих разрешений должно быть достаточно для него.