Якщо біт suid не впливає на каталоги, а клейкий біт не впливає на файли, чому вони не об'єднуються в один біт?


18

Чи це дозволить заощадити один біт на файл, чи є необхідні прокладки, які потрібно використовувати будь-коли? І навіть якщо є набивання, чому б все-таки не комбінувати їх і не використовувати додатковий біт для нової функції?


3
Клейкий біт щось робить у звичайних файлах. Дивіться en.wikipedia.org/wiki/Sticky_bit про кількість способів його використання.
Джошуа

@Joshua Це цікаво, і це непогано, що на не-Linux * nix поведінка відрізняється. Але я мав на увазі Linux для цього питання. Цікаво, хоча якщо хтось на Linux ядрі з BSD amd та ls все ще може залежати від клейкого файлу? І я здогадуюсь, що різні програми користувальницьких програм можуть перевіряти / діяти, хоча я не знаю жодних поширених програм.
Гаррі

Відповіді:


26

З історичних причин. Клейкий біт спочатку використовувався для зовсім інших цілей: якщо він був встановлений на виконуваний файл, він сказав операційній системі зберегти текстовий сегмент під свопом. Таким чином назва "Sticky Bit".


Дякую, але чи це перешкоджає їм все ще бути "одним шматочком" внутрішньо? Або одноразова економія просто недостатньо значна на рівні файлу?
Гаррі

6
Виконаний файл може містити всі чотири комбінації жирного та липкого.
Йохан Мірен

Так, звідси початкове питання. Можливо, краще сформульовано, чому назва (або минуле використання) клейкого біта має щось спільне з його поєднанням із бітком Suid сьогодні? Не могли б функції обох бітів поєднуватись в один біт "sticky / suid", який функціонує як suid, коли він встановлений у файлах, але липкий, коли встановлений у каталогах?
Гаррі

17
Ви б порушили зворотну сумісність, якщо зміните біти. chmod 4755 fileвстановлює біт suid та chmod 1755 dirвстановлює клейкий біт. Ми не хочемо ламати старі сценарії лише заради збереження одного біта на файл, чи не так? Звичайно, внутрішньо файлова система вільна здійснити вашу оптимізацію, якщо зовнішній інтерфейс залишається таким же.
Йохан Мірен

6
@Johan Myréen: І звичайно, ви насправді не збережете цей біт, він стане просто невикористаним бітом у полі дозволу на байт / слово.
jamesqf
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.