Дистрибутив Linux, содержащий шрифты Windows по умолчанию [закрыто]

NUL и / имеют свои системные функции. Другие символы - нет.

Это основы - остальное - мнения, домыслы и история. Слышал, читал и т.д. и включен только в качестве наполнителя, а не для обсуждения или спора:

  • Запрещая определенные символы, вы открываете возможность для усложнения самой файловой системы, что равносильно ее компрометации.
  • Что насчет того, какие байты считаются новой строкой в различных системах? против и т.д.
  • Что если удаленная система решит создать файл с новой строкой на NFS?
  • Что если имя файла будет повреждено, в то время как содержимое файла останется нетронутым?
  • Что если приложение закодирует информацию в имени файла?

И так далее

  • Является ли работа системы исправлением ошибок в пользовательском программном обеспечении?
  • Должна ли система на своем корневом уровне защищать пользователей от самих себя?
  • Должен ли способ внутренней реализации различных оболочек определять решение о том, какие имена файлов считаются законными?

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


В любом случае, самой большой проблемой, скорее всего, будет довольно долгая история, когда новая строка и другие управляющие символы были разрешены.

Другое дело - что запрещать. Вы упоминаете новую строку, но в дискуссиях, начиная с каменного века UNIX, это обсуждалось, включая и другие символы. Следует ли запретить *? Как насчет имен файлов, начинающихся с -? Как насчет DEL и ESC? Должны ли быть запрещены все управляющие символы? И так далее, и так далее.

К сожалению, я не могу вспомнить ни одной цитаты на эту тему отцов-основателей или сопровождающих кода.

-7
06.06.2013, 10:56
0 ответов

Теги

Похожие вопросы