Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет dibr ([info]dibr)
@ 2009-07-17 14:19:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Ээээ?...
     "Есть простая команда, равняющая одним махом все права доступа к файлам:
          
sudo chmod 777 -R ./*
     Набрал я её одним движением. О том, что на клавиатуре залипала точка, я вспомнил лишь через мгновение после нажатия на Enter.
     Первым дала о себе знать служба ACPID. Следом полетели в бездну иконки и рюшечки рабочего стола. Прямо на глазах «гнома» перекосило, и он повис. В тот момент мне казалось, что любимая домашняя зверушка умирала на моих руках и просила о помощи, выбрасывая одно за другим сообщения об ошибках. Было так жалко, что реанимировать систему я решился только через неделю."

     (c) http://ithappens.ru/story/985

     Я юникс курил очень давно, и тот был не линуксом. Поэтому что-то не понимаю. Почему линукс при установке всем файлам прав "всем можно всё" (насколько я помню, 777 это оно и есть), не просто оказывается в позе "у нас тут коммуна анархо-синдикалистов, каждый по очереди правит по неделе", продолжая при этом спокойно работать (работоспособность усыхает когда что-то нужное нельзя, а когда ненужное можно - усыхает обычно только безопасность), а "умирает в корчах" как в статье на ithappens?
     Или у кого-то из нас глюки?


(Добавить комментарий)


[info]soir@lj
2009-07-17 07:50 (ссылка)
Я тоже этому удивился. Теоретически, с правами "777" в системе ничего не должно было бы произойти.

(Ответить)


[info]aceler@lj
2009-07-17 07:57 (ссылка)
Проверил в виртуалке. Брехня. Во-первых, выполняется очень долго, во-вторых, куча варнингов на тему доступа к /proc должны были насторожить сразу, в третьих, прекрасно прерывается по ^C, в четвёртых, прекрасно работает после этой операции.

(Ответить)


[info]fddy@lj
2009-07-17 09:06 (ссылка)
Некоторые программы запросто могут не работать, если прав больше, чем нужно. Сам видел, как в такой ситуации сдох KDM, так что выяснить причину удалось только залогинившись с консоли и заглянув в логи. Как потом оказалось, из-за этого же перестал работать, кажется, cups и еще что-то по мелочи.

(Ответить) (Ветвь дискуссии)


[info]dibr@lj
2009-07-17 09:27 (ссылка)
Интересен механизм такой неработы. Всегда считал, что нормальные программы при нормальной работе не выполняют тех действий, которых им выполнять нельзя, а если так - то дополнительные права они просто не заметят, ибо не смогут на них наткнуться.

Варианта два: либо программа явным образом контролирует важные для собственной безопасности права, и отказывается работать при их изменении (но тогда она должна выдавать внятное сообщение об ошибке, а не просто умирать в корчах), либо программа таки делает что-то такое, чего по хорошему делать не должна бы, то есть это неправильно написанная программа :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]fddy@lj
2009-07-17 10:08 (ссылка)
Второй вариант - это забавно: программа пытается сделать что-то нехорошее или просто повиснуть, но в нормальной ситуации ей этого не дают правильно установленные права. А когда все разрешено - тут-то и случается облом. :)

На самом деле, похоже, права действительно контролируются. KDM тогда ругался в логах на какой-то каталог, что у него права 777, а должны быть 755, если правильно помню.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]dibr@lj
2009-07-17 10:33 (ссылка)
Во времена "бага F00F" в процессорах intel, намертво вешавшего процессор под любым юзером и под любой операционкой, выяснилось что win95, в отличие от всяких там линуксов и NT, этим кодом вешается не всегда. Как оказалось, win95 штатным образом, при нормальной работе, для каких-то своих внутренних нужд периодически генерирует invalid opcode exception. Этого оказалось достаточно, чтобы то-ли адрес, то-ли кусок обработчика исключения оседал в кеше процессора, и "баг F00F" срабатывал не всегда. Так что - неисповедимы пути разработчиков ПО :-)

> На самом деле, похоже, права действительно контролируются. KDM тогда ругался в логах на какой-то каталог, что у него права 777

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

Впрочем, он не одинок: тот же виндоуз отслеживает состояние некоторых служб, и при их отказе - "делает харакири": роняет в принципе ещё живую систему в синий экран добровольно. А во времена w2k, когда уже научились запускать таскменеджер от аккаунта system и убивать сервисы прямо оттуда (а микрософт это ещё не исправил очередным сервиспаком), я развлекался убиением сервисов - и ухитрился убить их в правильном порядке - так что контролирующий других сервис был убит раньше, и система не умерла пока в списке не осталось два процесса: system idle и сам таскменеджер :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]fddy@lj
2009-07-17 12:04 (ссылка)
Он не то чтобы падал, просто без лишних слов не давал никому залогиниться и выдавал окно входа заново. Хотя может и падал, он же по идее respawn.

Мы как-то писали драйвер для Win2k, и нужно было передавать из этого драйвера в юзерспейс небольшой массивчик. Так вот этот массивчик (а точнее указатель на него, как я понял) передаваться упорно не хотел, хотя все делали по описаниям из DDK. То есть переменные по одной передавались, а весь массив - ну никак. В итоге пришлось завести в драйвере счетчик и вытаскивать массив поэлементно. То есть хотим передать 4096 байт - вызываем DeviceIOControl 4096 раз. Дурдом полный, но ведь работало же. :)

(Ответить) (Уровень выше)


(Анонимно)
2009-07-17 10:38 (ссылка)
Многие программы нынче имеют дуракозащитную проверку и при слишком больших правах не запускаются или запускаются с руганью.

(Ответить) (Уровень выше)


[info]lugoblin@lj
2009-07-17 12:05 (ссылка)
...зато написано красиво.

(Ответить)


[info]ext_91381@lj
2009-07-17 12:56 (ссылка)
1. некоторые софтины, рассчитанные на бывших виндоюзеров, любят подстраховываться и ругаться на нарушения политики безопасности, которые абсолютно естественны для опытного линуксоида.
2. некоторые софтины, написанные бывшими виндоюзерами, жёстко рассчитывают на систему ограничения прав и подменяют ей собственные проверки. это чаще не особенность реализации, а трудноуловимый баг.
3. некоторые бывшие виндоюзеры любят шутить по петросяновски, так вы им совсем-то уж не верьте. вполне может быть, например, что некая компания проплачивает юморную джинсу в сети с чОрным пиаром против линукса, но скорее всего, автор просто преувеличил.

(Ответить)


[info]vpluto@lj
2009-07-17 13:04 (ссылка)
Да на итхаппенс большинство историй - фантазийный бред, не имеющий ничего общего с реальностью. Такой вот получился унылый ресурс.

(Ответить)


(Анонимно)
2009-08-13 07:50 (ссылка)
666 там надо было указать ...

(Ответить)