Linux, stejně jako většina unixových systémů (Apple OS/X je jednou ze vzácných výjimek), ignoruje oprávnění k symbolickým odkazům, pokud jde například o řešení jejich cílů.
Vlastnictví symbolických odkazů, stejně jako jiných souborů, je však důležité, pokud jde o oprávnění přejmenovat nebo zrušit propojení jejich položek v adresářích, které mají t
bitová sada, například /tmp
.
Aby bylo možné odstranit nebo přejmenovat soubor (symlink nebo ne) v /tmp
, musíte být vlastníkem souboru. To je jeden z důvodů, proč by se mohlo chtít změnit vlastnictví symbolického odkazu (udělit nebo odebrat oprávnění k odpojení/přejmenování).
$ 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
Také, jak zmínil Mark Plotnick ve své nyní smazané odpovědi, zálohovací a archivační aplikace potřebují lchown()
obnovit symbolické odkazy jejich původním vlastníkům. Další možností by bylo přepnout euid a egid před vytvořením symbolického odkazu, ale to by nebylo efektivní a zkomplikovalo by to správnou správu v adresáři, do kterého je symbolický odkaz extrahován.