Linux, як і більшість Unix-подібних систем (Apple OS / X є одним з рідкісних винятків), ігнорує дозволи на символьні посилання, наприклад, коли йдеться про вирішення їхніх цілей.
Однак право власності на посилання, як і інші файли, є релевантним, коли мова заходить про дозвіл перейменовувати або від’єднувати їх записи в каталогах, у яких встановлено t
біт, наприклад /tmp
.
Щоб мати змогу видалити або перейменувати файл (символьний посилання чи ні) /tmp
, потрібно бути власником файлу. Ось одна з причин, можливо, можна змінити право власності на симпосилання (надати або видалити дозвіл на від’єднання / перейменування).
$ ln -s / /tmp/x
$ rm /tmp/x
# OK removed
$ ln -s / /tmp/x
$ sudo chown -h nobody /tmp/x
$ rm /tmp/x
rm: cannot remove ‘/tmp/x’: Operation not permitted
Також, як згадував Марк Плотнік у своїй тепер видаленій відповіді , додатки lchown()
для резервного копіювання та архіву потребують відновлення посилань на своїх початкових власників. Іншим варіантом було б перемикання euid і egid перед створенням симпосилання, але це не було б ефективним і складним управлінням справами в каталозі, з якого витягується символьне посилання.
lrwxrwxrwx
. Тутchmod
немає сенсу. Перейшовши за посиланням, ви можете отримати цільові дозволи.