Удаление 58 сис. функции из ядра.

Internal structure and you change requests/suggestions

POLL Удалить 58 сис. функцию из ядра?

Total votes: 54
Да.
54%
29
Нет.
11%
6
Мне пофиг.
35%
19

  • Nasarus wrote:Может просто добавить функцию включения/выключения возможности прямого доступа к диску?
    Ну вообще-то такая функция есть 21.11 - разрешить/запретить низкоуровневый доступ к HD.
    И функция 59, как видишь, проверяет разрешён ли низкоуровневый доступ к HD.
    Mario wrote:Зачем функцию? Можно сделать компиляцию по умолчанию без этой функции, а при необходимости компилировать с функцией.
    Можно. Я не против такого подхода. Только вот кто-то хотел сделать программу для работы с жёсткими дисками, а это значит, что работать такой программе всё равно через драйвер.
  • Asper wrote:
    Mario wrote:Зачем функцию? Можно сделать компиляцию по умолчанию без этой функции, а при необходимости компилировать с функцией.
    Можно. Я не против такого подхода. Только вот кто-то хотел сделать программу для работы с жёсткими дисками, а это значит, что работать такой программе всё равно через драйвер.
    Ну, если драйвер, то его просто можно не ложить в основной дистрибутив. По крайней мер максимум он понадобиться во время установки. А дальше при нормальном раскладе в нем нет необходимости, а уж если пользователь сам себе злобный чебурашка и положил драйвер в рабочую программу - ну тут закон не писан, некоторым. :wink:
  • Mario wrote:Ну, если драйвер, то его просто можно не ложить в основной дистрибутив. По крайней мер максимум он понадобиться во время установки. А дальше при нормальном раскладе в нем нет необходимости, а уж если пользователь сам себе злобный чебурашка и положил драйвер в рабочую программу - ну тут закон не писан, некоторым. :wink:
    Не понял.

    Я имел ввиду, что любая программа, которой нужен низкоуровневый доступ к жесткому диску должна работать через специально написанный драйвер, а не через сис. функцию. Этот драйвер может быть в основном дистрибутиве. Ну и понятное дело, что программы, которые будут работать с драйвером, не должны выполнять вредоносных действий с его помощью.
  • Asper wrote:Ну и понятное дело, что программы, которые будут работать с драйвером, не должны выполнять вредоносных действий с его помощью.
    По этой причине такого драйвера в уже установленной системе не должно быть. Очень неприятно будет, если придет какой-нибудь... кхм человек и заявит - ваша ОС испортила мне данные.
  • Да ещё насчет 59 функции. Можно оставить чтение, а запись сделать опциональной, через перекомпиляцию ядра.
  • IMHO подобная функция в ядре должна быть постоянно (независимо от опций компиляции), должна проверять флаг разрешения, флаг разрешения по умолчанию должен быть выключен, для флага разрешения должна быть отдельная системная функция, причём программы, использующие прямой доступ, не должны самостоятельно этот флаг трогать. В этом случае просто запуск программы, использующей прямой доступ, не в состоянии что-нибудь порушить. Более того, глюк программиста, опечатавшегося в номере функции в обычной программе, тоже ничего фатального не нанесёт. Но тем не менее программы работать могут, если пользователь им это явным образом разрешит в чём-нибудь типа setup.
    Как вариант, чтение можно разрешать всегда или завести отдельный флаг разрешения чтения, по умолчанию включённый - порушить с помощью чтения тоже нельзя, а возможность может быть полезной для глубокого копания.
    Ушёл к умным, знающим и культурным людям.
  • А кто мешает программе самой установить флаг? Разделения прав в системе нет.
    Возьмут и напишут деструктивный код, а нам потом доказывать что не верблюды.
  • Ну дык никто же не будет включать деструктивный код в дистрибутив. А за программы, скачанные на левых сайтах, ответственности не несёт никто и никогда.
    Ушёл к умным, знающим и культурным людям.
  • А по мне так пока нет разделения прав такой код непосредственно в образ официального дистрибутива включать не следует. В архив например положить можно, но а сам образ не нужно. Кому надо сам добавит драйвер или скомпилирует. Это уже будут его проблемы. А иначе к недостаткам Колибри добавятся заявления пострадавших. Это не прибавит нам ни пользователей, ни программистов. Надо максимально избегать таких прецедентов.
  • Пользователь хочет отформатировать диск под FAT32 из-под Колибри. Например, устанавливает систему на виртуальной машине - довольно типичная ситуация. Его действия? Добавлять драйвер или перекомпилировать ядро каждый раз, когда это нужно?
    Ушёл к умным, знающим и культурным людям.
  • Я согласен с Маратом. Людям рта не заткнёшь.
  • diamond wrote:Пользователь хочет отформатировать диск под FAT32 из-под Колибри. Например, устанавливает систему на виртуальной машине - довольно типичная ситуация. Его действия? Добавлять драйвер или перекомпилировать ядро каждый раз, когда это нужно?
    Лучше пере бдить, чем недо бдить. Кусать локти очень сложная задача.

    1) Драйвер для установленной системы надо добавить только один раз. Дальше пользователь сам себе злой чебурашка, если его оставил.
    2) Когда система устанавливается, то с CD может быть подгружен драйвер именно для процесса установки.

    А в остальном нужна реализация механизма блокировки - права это будут или еще что не важно. Важно что механизм должен быть надежным. Я давно мог добавить эту функцию (запись LBA) в 58 функцию - очень давно, но специально не стал этого делать. Благодаря этому мы имеем систему, которая теоретически может испортить раздел FAT раздел на который записывает (сбои в самой ФС или некачественное питание дискового устройства), но в MBR и другие разделы она не записывает. До сих пор мы не имели тотальных проблем с повреждениями данных на жестких дисках пользователей. Все отлажено и все работает, но внедрение такой функции, даже с текщим ключом защиты это серьезная уязвимость.

    Помнится, когда я только начинал разбираться с ALT Linux, у меня произошла проблема с зависимостями пактов при переходе со старой версии ОС на новую. Система для установки одного нужного пакета предлагала снести около 200 других. Причем при продолжении меня честно предупредили, что это может быть фатальным и на третьем этапе предложили ввести один в один фразу типа "ДА Я ПОНИМАЮ, ЧТО Я ДЕЛАЮ". Я ввел и убил систему. Пришлось переустанавливать ОС с диска. Разработчики сделали все от них зависящее (пароль root, подтверждение команды по Y, подтверждение команды набором уникальной комбинации), что бы защитить систему от идиота-пользователя, но он все равно тупо настоял на своем.

    И вот я не последний дурак и то бывает ошибаюсь, то что говорить об обычном человеке, который решит попользоваться системой. Мало ли что он запустит левого - мы должны предотвратить такую ситуацию изначально.
  • Значит, будем и дальше жить без возможности форматирования дисков, с кучей огромных дыр в безопасности и гордым сознанием, что зато не даём пользователю выстрелить себе в ногу одной конкретной пулей. Идиотизм, ну ладно, не буду вам мешать.
    Ушёл к умным, знающим и культурным людям.
  • diamond wrote:IMHO подобная функция в ядре должна быть постоянно (независимо от опций компиляции), должна проверять флаг разрешения, флаг разрешения по умолчанию должен быть выключен, для флага разрешения должна быть отдельная системная функция, причём программы, использующие прямой доступ, не должны самостоятельно этот флаг трогать.
    21.11 ?

    Скриншот:
    Attachments
    MBR_Reader
    MBR_Reader.PNG (8.17 KiB)
    MBR_Reader Viewed 13667 times
  • Who is online

    Users browsing this forum: Google [Bot] and 6 guests