Chcete-li vytvořit pevný odkaz alice
bude potřebovat write+execute
oprávnění na target-dir
ve všech případech. Oprávnění potřebná pro target.txt
se bude lišit:
- Pokud
fs.protected_hardlinks = 1
pakalice
potřebuje buď vlastnictvítarget.txt
nebo alespoňread+write
oprávnění k tomu. - Pokud
fs.protected_hardlinks = 0
pak bude stačit jakákoliv sada oprávnění; I 000 je v pořádku.
Tato odpověď na podobnou otázku obsahovala chybějící informace k zodpovězení této otázky.
Z http://kernel.opensuse.org/cgit/kernel/commit/?id=800179c9b8a1 [důraz]:
Pevné odkazy:
Na systémech, které mají uživatelsky zapisovatelné adresáře na stejném oddílu jako systémové soubory, je dlouhodobou třídou bezpečnostních problémů závod času kontroly a používání založený na pevných odkazech, nejčastěji se vyskytující adresáře s možností zápisu ve světě jako /tmp. . Obvyklou metodou využití této chyby je překročení hranic oprávnění při sledování daného hardlinku (tj. kořenový proces následuje hardlink vytvořený jiným uživatelem). Kromě toho existuje problém, kdy uživatelé mohou „připnout“ potenciálně zranitelný soubor setuid/setgid, takže správce ve skutečnosti plně neupgraduje systém.
Řešením je povolit vytváření pevných odkazů pouze tehdy, když je uživatel již vlastníkem existujícího souboru nebo pokud již má přístup pro čtení a zápis do existujícího souboru .