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

Internal structure and you change requests/suggestions

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

Да.
29
14%
Да.
29
14%
Да.
29
14%
Да.
29
14%
Нет.
5
2%
Нет.
5
2%
Нет.
5
2%
Нет.
5
2%
Мне пофиг.
19
9%
Мне пофиг.
19
9%
Мне пофиг.
19
9%
Мне пофиг.
19
9%
 
Total votes: 212

User avatar
Nasarus
Posts: 269
Joined: Wed Jan 27, 2010 10:59 am

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

Post by Nasarus »

Ладно. Пускай будет в другой ветке. Убедили.
ушёл...
User avatar
Asper
Posts: 988
Joined: Fri Jun 27, 2008 3:22 pm

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

Post by Asper »

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

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

Post by Mario »

Asper wrote:
Mario wrote:Зачем функцию? Можно сделать компиляцию по умолчанию без этой функции, а при необходимости компилировать с функцией.
Можно. Я не против такого подхода. Только вот кто-то хотел сделать программу для работы с жёсткими дисками, а это значит, что работать такой программе всё равно через драйвер.
Ну, если драйвер, то его просто можно не ложить в основной дистрибутив. По крайней мер максимум он понадобиться во время установки. А дальше при нормальном раскладе в нем нет необходимости, а уж если пользователь сам себе злобный чебурашка и положил драйвер в рабочую программу - ну тут закон не писан, некоторым. :wink:
User avatar
Asper
Posts: 988
Joined: Fri Jun 27, 2008 3:22 pm

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

Post by Asper »

Mario wrote:Ну, если драйвер, то его просто можно не ложить в основной дистрибутив. По крайней мер максимум он понадобиться во время установки. А дальше при нормальном раскладе в нем нет необходимости, а уж если пользователь сам себе злобный чебурашка и положил драйвер в рабочую программу - ну тут закон не писан, некоторым. :wink:
Не понял.

Я имел ввиду, что любая программа, которой нужен низкоуровневый доступ к жесткому диску должна работать через специально написанный драйвер, а не через сис. функцию. Этот драйвер может быть в основном дистрибутиве. Ну и понятное дело, что программы, которые будут работать с драйвером, не должны выполнять вредоносных действий с его помощью.
Mario

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

Post by Mario »

Asper wrote:Ну и понятное дело, что программы, которые будут работать с драйвером, не должны выполнять вредоносных действий с его помощью.
По этой причине такого драйвера в уже установленной системе не должно быть. Очень неприятно будет, если придет какой-нибудь... кхм человек и заявит - ваша ОС испортила мне данные.
User avatar
Asper
Posts: 988
Joined: Fri Jun 27, 2008 3:22 pm

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

Post by Asper »

Да ещё насчет 59 функции. Можно оставить чтение, а запись сделать опциональной, через перекомпиляцию ядра.
User avatar
diamond
Kernel Developer
Posts: 1600
Joined: Mon Nov 28, 2005 8:00 pm

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

Post by diamond »

IMHO подобная функция в ядре должна быть постоянно (независимо от опций компиляции), должна проверять флаг разрешения, флаг разрешения по умолчанию должен быть выключен, для флага разрешения должна быть отдельная системная функция, причём программы, использующие прямой доступ, не должны самостоятельно этот флаг трогать. В этом случае просто запуск программы, использующей прямой доступ, не в состоянии что-нибудь порушить. Более того, глюк программиста, опечатавшегося в номере функции в обычной программе, тоже ничего фатального не нанесёт. Но тем не менее программы работать могут, если пользователь им это явным образом разрешит в чём-нибудь типа setup.
Как вариант, чтение можно разрешать всегда или завести отдельный флаг разрешения чтения, по умолчанию включённый - порушить с помощью чтения тоже нельзя, а возможность может быть полезной для глубокого копания.
Ушёл к умным, знающим и культурным людям.
Mario

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

Post by Mario »

А кто мешает программе самой установить флаг? Разделения прав в системе нет.
Возьмут и напишут деструктивный код, а нам потом доказывать что не верблюды.
User avatar
diamond
Kernel Developer
Posts: 1600
Joined: Mon Nov 28, 2005 8:00 pm

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

Post by diamond »

Ну дык никто же не будет включать деструктивный код в дистрибутив. А за программы, скачанные на левых сайтах, ответственности не несёт никто и никогда.
Ушёл к умным, знающим и культурным людям.
Mario

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

Post by Mario »

А по мне так пока нет разделения прав такой код непосредственно в образ официального дистрибутива включать не следует. В архив например положить можно, но а сам образ не нужно. Кому надо сам добавит драйвер или скомпилирует. Это уже будут его проблемы. А иначе к недостаткам Колибри добавятся заявления пострадавших. Это не прибавит нам ни пользователей, ни программистов. Надо максимально избегать таких прецедентов.
User avatar
diamond
Kernel Developer
Posts: 1600
Joined: Mon Nov 28, 2005 8:00 pm

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

Post by diamond »

Пользователь хочет отформатировать диск под FAT32 из-под Колибри. Например, устанавливает систему на виртуальной машине - довольно типичная ситуация. Его действия? Добавлять драйвер или перекомпилировать ядро каждый раз, когда это нужно?
Ушёл к умным, знающим и культурным людям.
Freeman
Posts: 364
Joined: Tue May 08, 2007 12:44 am
Been thanked: 1 time

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

Post by Freeman »

Я согласен с Маратом. Людям рта не заткнёшь.
Mario

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

Post by Mario »

diamond wrote:Пользователь хочет отформатировать диск под FAT32 из-под Колибри. Например, устанавливает систему на виртуальной машине - довольно типичная ситуация. Его действия? Добавлять драйвер или перекомпилировать ядро каждый раз, когда это нужно?
Лучше пере бдить, чем недо бдить. Кусать локти очень сложная задача.

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

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

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

И вот я не последний дурак и то бывает ошибаюсь, то что говорить об обычном человеке, который решит попользоваться системой. Мало ли что он запустит левого - мы должны предотвратить такую ситуацию изначально.
User avatar
diamond
Kernel Developer
Posts: 1600
Joined: Mon Nov 28, 2005 8:00 pm

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

Post by diamond »

Значит, будем и дальше жить без возможности форматирования дисков, с кучей огромных дыр в безопасности и гордым сознанием, что зато не даём пользователю выстрелить себе в ногу одной конкретной пулей. Идиотизм, ну ладно, не буду вам мешать.
Ушёл к умным, знающим и культурным людям.
User avatar
Asper
Posts: 988
Joined: Fri Jun 27, 2008 3:22 pm

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

Post by Asper »

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

Скриншот:
Attachments
MBR_Reader
MBR_Reader
MBR_Reader.PNG (8.17 KiB) Viewed 9772 times
Post Reply

Who is online

Users browsing this forum: Semrush [Bot] and 0 guests