Биткойн Инвестиционная стратегия

Линус Торвальдс о проблемах файловых систем с нечувствительностью к регистру: Почему это ошибочный подход

Биткойн Инвестиционная стратегия
Linus Torvalds Expresses His Hatred for Case-Insensitive File-Systems

Разбор критики Линуса Торвальдса в адрес файловых систем с поддержкой нечувствительности к регистру и её влияния на безопасность и стабильность Linux-кернела.

Линус Торвальдс, создатель ядра Linux и одна из самых влиятельных фигур в мире свободного программного обеспечения, недавно снова дал повод для обсуждения своей прямолинейной позиции относительно файловых систем с поддержкой нечувствительности к регистру. В своём сообщении на Linux Kernel Mailing List он ярко выразил своё недовольство существующими попытками внедрения такой функциональности, которую он считает фундаментальной ошибкой и источником серьёзных проблем безопасности и надёжности. Это заявление стало очередным поводом для широкой дискуссии среди разработчиков и энтузиастов Linux, а также поставило под вопрос необходимость развития и поддержки подобной функциональности в будущем. Суть проблемы, по мнению Торвальдса, заключается в том, что файлы и папки с нечувствительностью к регистру создают неразрешимые для корректной реализации технические и логические трудности. Идея нечувствительности к регистру заключается в том, что файлы с именами, которые отличаются лишь регистром букв — например, "File.

txt" и "file.txt" — воспринимаются как одни и те же. Подобная возможность изначально присутствовала в широко используемых файловых системах, таких как FAT, ставшей стандартом для Windows и других систем. Однако в Linux и UNIX-подобных системах по умолчанию используется чувствительность к регистру, что позволяет, например, иметь в одной директории оба файла с такими схожими, но различными именами. Торвальдс подчёркивает, что попытки ввести поддержку нечувствительности к регистру в современных файловых системах на уровне ядра зачастую приводят к гораздо более серьёзным последствиям, чем просто неудобства.

Среди таких последствий он выделяет проблемы с безопасностью, поскольку программное обеспечение в пользовательском пространстве часто проверяет имена файлов, пытаясь исключить их совпадение с определёнными чувствительными шаблонами. Если при этом файловая система сама делает дополнительные преобразования в имена, игнорируя не только регистр, но и «невидимые» или игнорируемые unicode-кодовые точки, возникает риск того, что проверка безопасности программ пользователя оказывается полностью обходится. Примером таких кодовых точек Торвальдс называет символы сердца: ❤ и ❤️ — они отличаются лишь «игнорируемыми» кодовыми символами Unicode. Если файловая система считает их идентичными, тогда программы, которые запрещают выполнять операции с определёнными именами или шаблонами, могут быть обмануты. По мнению разработчика, это порождает значительные уязвимости, поскольку многие программы защищаются именно путём контроля имён файлов для предотвращения атак или несанкционированного доступа.

Кроме того, Торвальдс критикует сам подход реализации нечувствительности к регистру как технически невозможный «правильный» путь. Он утверждает, что попытки «сделать это правильно» превращаются в «ужасно неправильные» реализации, так как отсутствует единственный правильный способ выполнения таких сравнений, особенно учитывая сложность и многообразие кодировок Unicode и разнообразие специальных символов. В связи с этим поддержка нечувствительности в разных файловых системах зачастую реализуется по-разному, что приводит к несовместимости и ошибкам. История ошибок и конфликтов, связанных с нечувствительностью к регистру, существует не вчера. Торвальдс в своём сообщении обращается к недавнему случаю с Bcachefs — экспериментальной файловой системой, которая столкнулась с ошибками в реализации поддержки нечувствительности к регистру, и сейчас исправляет их для включения в Linux 6.

15. Кроме того, упомянуты и другие системные конфликты, связанные с поддержкой Unicode и нечувствительного сравнения, что дополнительно подкрепляет позицию о том, что попытки вкоренить такую функциональность создают лишь новые сложности. Особенно важно понимать, что для Linux и его экосистемы — где разнообразие пользователей, настроек и приложений чрезвычайно велико — наличие базовой чувствительности к регистру является ключевым фактором, определяющим гибкость и безопасность системы. В отличие от некоторых других операционных систем, где нечувствительность к регистру считается необходимостью из-за исторических причин или особенностей файловой системы, Linux имеет возможность развиваться, основываясь на более строгих принципах, что способствует меньшему числу ошибок и повышенной предсказуемости поведения. Тем не менее, критика Торвальдса не означает, что в Linux полностью откажутся от файловых систем, которые обеспечивают нечувствительность к регистру.

Проблема скорее в том, что внедрение и поддержка этой функции должны осуществляться крайне осторожно и на максимально обоснованной технической базе. Многие разработчики соглашаются с тем, что для некоторых задач и пользователей такая функциональность может быть полезной, однако она не должна приводить к компромиссам в стабильности и безопасности ядра и всей системы. Подчёркивая своё разочарование, Линус отмечает, что «разработчики файловых систем никогда не учатся на ошибках», что можно воспринять как призыв к более ответственному отношению к внедрению новых функций и к неукоснительному тестированию. Он обращает внимание на то, что текущие тесты зачастую не охватывают «интересные случаи», которые непосредственно связаны с безопасностью, и поэтому большинство багов и уязвимостей остаются незамеченными на ранних этапах. Критика со стороны Линуса Торвальдса стала значимым сигналом для всей Linux-сообщества.

Она напоминает о том, что скорость инноваций и расширения функциональности не должна идти в ущерб основным качествам операционной системы: предсказуемости, надёжности и безопасности. Проблема нечувствительности к регистру особенно актуальна сегодня, когда системы взаимодействуют с разнообразными глобальными символами Unicode и становятся мишенью для всё более изощрённых атак. В связи с этим в ближайших версиях Linux можно ожидать улучшений в архитектуре поддержки файловых систем, а также активного обсуждения оптимальных подходов к реализации дополнительных функций, включая нечувствительность к регистру. В частности, Bcachefs, которая столкнулась с недавними проблемами, продолжит получать исправления, направленные на повышение стабильности и безопасности этого функционала. Итогом этой дискуссии становится понимание того, что файлы и директории являются носителями значимой информации не только с точки зрения пользователя, но и ядра системы.

От точности обработки имён файлов зависит безопасность всей операционной системы. Поэтому решение вопроса о том, стоит ли и как поддерживать нечувствительность к регистру в Linux, должно приниматься с учётом всех технических тонкостей и возможных рисков. Подводя итог, можно отметить, что позиция Линуса Торвальдса чётко ориентирована на сохранение основополагающих принципов Linux и предупреждение о потенциальных опасностях слепого копирования решений, появившихся в иностранных файловых системах много лет назад. Для сообщества это призыв к ответственному отношению и глубокому анализу каждой новой функции в ядре, чтобы избегать повторения прежних ошибок и укреплять фундамент операционной системы, делая её надёжнее и безопаснее.

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюты по лучшим курсам Privatejetfinder.com (RU)

Далее
Show HN: Influencer Marketing Jobs, a niche job board for influencer marketing
Пятница, 02 Май 2025 Вакансии в сфере Influencer Marketing: как найти работу мечты на нишевом доске объявлений

Обзор ведущей платформы для поиска работы в сфере influencer marketing, советы по выбору вакансий и актуальные тренды рынка труда в данной области.

Can an LLM take care of my plants (or at least kill them slower than I do)?
Пятница, 02 Май 2025 Может ли ИИ заботиться о растениях лучше человека? Опыт управления домашним садом с помощью больших языковых моделей

Рассматриваем возможности больших языковых моделей (LLM) в уходе за комнатными растениями через призму реального эксперимента с контролем окружающей среды, анализом данных с датчиков и автоматизацией процессов полива и освещения.

Tumor-derived erythropoietin acts as immunosuppressive switch in cancer immunity
Пятница, 02 Май 2025 Эритропоэтин опухолевого происхождения: ключевой фактор иммуносупрессии в онкологии

Исследования последних лет выявили критическую роль эритропоэтина, секретируемого опухолевыми клетками, в подавлении иммунного ответа и формировании благоприятной для опухоли микроокружения. Понимание механизмов взаимодействия эритропоэтина с иммунной системой открывает новые перспективы для терапии онкологических заболеваний.

Century-old genetics mystery of Mendel's peas solved
Пятница, 02 Май 2025 Раскрыта загадка гороха Менделя: решение века в генетике

Ученым удалось окончательно определить гены, ответственные за три последних неизученных признака гороха, который использовал Грегор Мендель в своих легендарных экспериментах. Это открытие открывает новые горизонты для геномных исследований и селекции гороха как важного источника растительного белка.

Show HN: An MCP Server for Understanding AWS Costs
Пятница, 02 Май 2025 Эффективное управление затратами AWS с помощью MCP сервера от Vantage

Решения для управления затратами в облачных сервисах становятся все более востребованными. MCP сервер от Vantage предлагает инновационный подход к анализу и оптимизации расходов на AWS и другие облачные платформы, используя возможности искусственного интеллекта и интеграцию с большими языковыми моделями.

Alphabet's Profit Gets $8B Boost from SpaceX Investment
Пятница, 02 Май 2025 Как инвестиции Alphabet в SpaceX привели к восьмимиллиардному приросту прибыли

Разбор влияния инвестиций компании Alphabet в частную космическую компанию SpaceX на финансовые результаты технологического гиганта и ключевые аспекты сотрудничества между двумя компаниями.

Diminished reality: Making objects disappear in real time in live recordings
Пятница, 02 Май 2025 Технология уменьшенной реальности: как сделать объекты невидимыми в реальном времени при живой съемке

Современные разработки в области уменьшенной реальности позволяют в реальном времени удалять объекты из живых видеозаписей, обеспечивая высокое качество и естественность изображения. Эти инновации открывают новые возможности для киноиндустрии, медицины, автономных систем и эстетической обработки видео.