Самое печальное, что ведь многие запустят и запустили, раз зловред известен стал
Ну тут дело такое — против запускания неизвестных программ руками всякая ОС бессильна.
Ядрёная консоль делает меня сильней!
Отсутствует
Ну тут дело такое — против запускания неизвестных программ руками всякая ОС бессильна.
Если запускать браузер от имени другого пользователя (можно автоматически, через SUID), и если применять права **0 ко всем файлам (то есть для всех, кроме владельца и группы доступ закрыт), и правильно задать umask для создания новых файлов, то чтобы этот вирус даже запустившись смог что-то сделать, пользователю придётся потрудиться.
# rm -rf /
Отсутствует
А также ему придётся потрудится чтобы просмотреть только что скачанный таким браузером ролик или послушать mp3-шку.
Почему?
Пусть браузер скачивает всё в папку Downloads, что Firefox делает по умолчанию. Просто пользователь, от имени которого запущен браузер имеет право записи только в Downloads, а пользователь , под которым работает сам пользователь --- и в Downloads, и в весь рабочий каталог. Конечно, если пользователь вручную загрузит вредоносную программу и вручную запустит его из папки Downloads под пользователем или рутом, то это не спасёт. Но речь, как я понял, шла про вредоносные программы, которые могут сами запуститься через браузер при неаккуратной настройке последнего.
Добавлено 10-01-2011 15:01:52
Кстати, такой вопрос: чтобы программа-keylogger могла работать в винде (или в линуксе), требуются ли для этого обязательно права администратора (соответственно root'а)? Или для этого нужно что-то настраивать?
Отредактировано X Strange (10-01-2011 14:57:38)
# rm -rf /
Отсутствует
мм.
Downloads user:browser 770
file.mp3 browser:browser 660
user входит в группу browser. Да, логично, так всё будет работать нормально
Отредактировано Shura (10-01-2011 18:10:07)
FreeBSD 8.2, IceWM
Отсутствует
Downloads user:browser 770
file.mp3 browser:browser 660
user входит в группу browser.
Да, именно так.
Отредактировано X Strange (10-01-2011 18:14:22)
# rm -rf /
Отсутствует
Радик245
В смысле, интересует команда? killall totem.
Добавлено 29-01-2011 00:59:03
Ведущие производители дистрибутивов операционных систем на основе Linux обсудили возможность создания единой площадки для размещения программ и игр. Данный вопрос был затронут в ходе конференции, которая прошла в Нюрнберге, в офисе компании Novell (с недавних пор владелец немецкого дистрибутива SUSE). Всего в обсуждении приняло участие 15 человек, имеющих отношения к программным платформам Fedora, Ubuntu, Debian, Suse и Mageia.
Идея унификации процесса установки приложений в Linux предлагалась и ранее, но "за круглым столом" она рассматривалась впервые. Осенью 2010 года была предложена аналогичная инициатива в рамках проекта Bretzn. Тогда строились планы по портированию менеджера приложений Ubuntu Software Center для работы с PackageKit и поисковым индексом xapian, через который будет организован поиск мета-данных. Непосредственная установка программ будет осуществляться при посредничестве системы PackageKit, которая будет привлекать штатные средства каждого из дистрибутивов (yum, apt, conary, box, alpm, smart, pisi, zypp и т.д.). Поддержка ведения рейтинга пакетов и организации их обсуждения будет реализована через использование внешних OCS-серверов (Open Collaboration Services).
"Все больше и больше пользователей Linux осознают необходимость хорошего установщика приложений, который сделает платформу более привлекательной для конечных пользователей и сторонних разработчиков", - написал в своем блоге Фрэнк Карлитчек (Frank Karlitschek), член правления KDE eV (некоммерческая организация, легально представляющая проект KDE) и разработчик веб-сайтов сети OpenDesktop.org. По его словам, обычного пользователя не заботят библиотеки, зависимости программ и другие внутренние компоненты, но он уделяет внимание скриншотам, описанию, рейтингам, комментариям, отзывам друзей - этого пока нет в Linux.
Не секрет, что сегодня установка приложений в различных дистрибутивах Linux остается одной из наименее стандартизованных операций. Это связано как с отсутствием единого формата установочных пакетов, так и с традицией разрабатывать собственные средства управления пакетами, установившейся почти в любом уважающем себя дистрибутиве.
Создание единого App Store - задача не из простых, но в обозримом будущем наметилась перспектива разработки единой GUI-оболочки для установки ПО, которая будет одновременно использоваться в разных дистрибутивах.
По мнению обозревателей PCWorld, скорее всего, обсуждается не создание единого централизованного магазина программ, которые можно будет загрузить в любой дистрибутив Linux. Скорее, идет речь о едином способе помочь пользователям найти, оценить и установить приложения, которые доступны для их версии Linux.
Отредактировано MySh (29-01-2011 01:00:12)
Отсутствует
MySh
На сколько я понял — нет. На сколько я понял они задумались над единой мордой для всех тулкитов. Единый набор пакетов пока невозможен даже чисто теоретически — для этого требуется единый набор базовых библиотек с которыми собираются пакеты. Более того, единый набор _версий_ этих библиотек. Во всех дистрибутивах. Я себе этого пока никак не представляю.
Задачу suck less они выполнят, но не более.
Отредактировано Lain_13 (29-01-2011 01:24:39)
Отсутствует
Можно ли завершить процесс в линуксе с помощью ярлыка (чтобы быстро), как в виндовс taskkill?
В смысле, интересует команда? killall totem.
А меня как раз интересовал аналог killall в windows:) Спасибо!
Кстати, killall totem может и не сработать: надо killall -s SIGKILL totem
А кто-нибудь знает, есть ли в Windows аналог команды
? То есть чтобы программа завершилась с показом диалога "в приложении обнаружена ошибка, приложение будет закрыто", в котором предлагается отправить отчёт об ошибке в Microsoft? В linux в этой ситуации аналог этого диалога --- обработчик сигнала SIGSEGV.
Отредактировано X Strange (29-01-2011 07:16:22)
# rm -rf /
Отсутствует
X Strange
А меня как раз интересовал аналог killall в windows:)
Если по названию процесса, то taskkill /IM название_процесса.exe
Ключ /IM означает выбор по названию процесса.
killall totem может и не сработать: надо killall -s SIGKILL totem
killall totem срабатывает, но пробовал просто так, а не при зависании. А что означает -s SIGKILL ?
Отредактировано Радик245 (29-01-2011 12:35:25)
Отсутствует
Радик245
А что означает -s SIGKILL
-s — это параметр для команды, который используется, чтобы передать какой-то другой сигнал, вместо того, который идёт по умолчанию (если не ошибаюсь, SIGTERM).
При работе с процессами система всегда посылает им какие-то сигналы, только мы их обычно не видим и в этот процесс не вмешиваемся, ибо незачем. Но бывает, что программа зависает и не хочет нормально выгружаться (как писал в своё время автор отличной программы с жизнеутверждающим названием «Дохтур Гроб», «вешается и совершает суицид» ). Тут-то и приходится использовать другие варианты, среди которых имеется возможность вручную посылать процессу тот или иной сигнал. Если открыть диспетчер процессов и выделить какой-нибудь процесс, то их можно где-то в контекстном меню увидеть и, соответственно, послать.
SIGKILL — это название сигнала, который завершает процесс принудительно. Действует более жёстко, чем SIGTERM. Условно говоря, первый — это вежливое обращение к программе по типу «Сударь, не будете ли вы так любезны соблаговолить выйти, пожалуйста?», а второй — более суровый вариант вроде «Пошёл вон, я сказал!», с тычком под пятую точку и выдворением.
Можно, кстати, обращаться не по имени сигнала, а по закреплённому за ним номеру. Так, команду killall -s SIGKILL имя программы можно короче записать в виде killall -9 имя программы — по-моему, это гораздо проще запомнить. Заодно можно добавить проверку на наличие программы в памяти после того как её попросили выйти по-хорошему, чтобы если этого не произошло, выдворить по-плохому.
В результате получается примерно такой скрипт:
#! /bin/sh if pidof totem then killall totem fi sleep 2s if pidof totem then killall -9 totem fi sleep 2s if pidof totem then gksudo "killall -9 totem" #контрольный :) fi
X Strange
чтобы программа завершилась с показом диалога "в приложении обнаружена ошибка, приложение будет закрыто"
Честно говоря, не помню, можно ли так сделать в Windows, но можно натравить Доктора Ватсона, чтобы он обрабатывал любое падение программы; кстати, по-моему, по умолчанию так и сделано. Это про Windows XP. Про Vista и Se7en не знаю.
Lain_13
На сколько я понял они задумались над единой мордой для всех тулкитов. Единый набор пакетов пока невозможен даже чисто теоретически — для этого требуется единый набор базовых библиотек с которыми собираются пакеты. Более того, единый набор _версий_ этих библиотек. Во всех дистрибутивах. Я себе этого пока никак не представляю.
Задачу suck less они выполнят, но не более.
Вот и мне так кажется. Вряд ли дистрибутивы будут резко отказываться от собственной пакетной базы, а как это реализовать по-другому я не представляю (правда, я и не специалист ). Тем не менее, полагаю, это будет иметь смысл, если по крайней мере будет сразу видно, в каком дистрибутиве этот пакет есть, а в каком — нет, особенно с возможностью тут же на месте отправить запрос на его сборку, который, кстати, можно генерировать автоматически (а то как-то не очень всё-таки удобно всеми этими системами отслеживания ошибок пользоваться, потому и пользуются ими в основном энтузиасты). Заодно может мы наконец-то сможем увидеть исчерпывающую и максимально полную статистику по полноте и актуальности репозиториев в разных дистрибутивах.
Отредактировано MySh (29-01-2011 15:26:51)
Отсутствует
igorsub
А просто через sudo?
А просто через sudo придётся запускать этот скрипт только в консоли, чтобы иметь возможность ввести пароль. Ну или что-то ещё придумывать.
Отсутствует
А просто через sudo придётся запускать этот скрипт только в консоли
Почему? Просто сделать файл исполняемым и дать ему расширение sh. Будет в фоне работать.
От оно че!
Отсутствует
Честно говоря, не помню, можно ли так сделать в Windows, но можно натравить Доктора Ватсона, чтобы он обрабатывал любое падение программы; кстати, по-моему, по умолчанию так и сделано. Это про Windows XP. Про Vista и Se7en не знаю.
Я и говорю про XP. Диалог вроде появляется только при срубании не отвечающего приложения. И как его "натравить"?
# rm -rf /
Отсутствует
MySh, X Strange
Спасибо!
sleep 2s
sleep 2s
Ждать 4 секунды долго, когда надо перезапустить воспроизведение потокового видео, застрявшего на самом интересном месте. Лучше сделаю killall -9 totem сразу. Кстати, s для секунд указывать необязательно.
если не ошибаюсь, SIGTERM
Да.
Отсутствует
X Strange
Диалог вроде появляется только при срубании не отвечающего приложения.
А! Так речь идёт о ещё работающем приложении, а не уже зависшем? Тогда, конечно, не так всё просто.
И как его "натравить"?
Видимо, только через скрипт. Например, как-то так (для Firefox):
for /f "tokens= 1,2 delims= " %%a in ('tasklist ^| findstr /i firefox.exe') do ( drwtsn32 -p %%b -g ) drwtsn32.exe
Вот какой вопрос возник по синтаксису kdesudo. Есть у меня скрипт. В нём есть такие строки:
kdesudo "rm -rf /tmp/.evrouter:0" kdesudo "/usr/bin/evrouter /dev/input/event2 -c /root/.evrouterrc"
Работает, но приходится два раза вводить пароль. Если же объединить обе строки в одну, например, таким образом:
kdesudo "rm -rf /tmp/.evrouter:0 | /usr/bin/evrouter /dev/input/event2 -c /root/.evrouterrc"
— ничего не работает, файл не удаляется, evrouter не запускается.
Как это сделать правильно?
Отсутствует
ничего не работает, файл не удаляется, evrouter не запускается.
Как это сделать правильно?
Заменить символ | на && , ||, & или ; в зависимости от того, что требуется.
| --- это символ конвейера: он перенаправляет вывод одной команды на ввод другой.
&& выполняет следующую только если предыдущая выполнилась без ошибки.
|| выполняет следующую только если предыдущая выполнилась с ошибкой.
; выполняет следующую в любом случае, но дожидается завершения первой
& выполняет следующую в любом случае, не дожидаясь завершения первой --- первая запускается "в фоновом режиме".
Вроде так.
Добавлено 02-02-2011 22:10:11
Видимо, только через скрипт. Например, как-то так (для Firefox):
Спасибо, попробую, когда буду загружать XP. В висте проверить не получилось: там вместо drwtsn32.exe что-то другое.
# rm -rf /
Отсутствует
X Strange
Заменить символ | на && , ||, & или ; в зависимости от того, что требуется.
Спасибо, попробовал все варианты, не срабатывает ни один. Я подозреваю, что тут тоже не так всё просто…
В висте проверить не получилось: там вместо drwtsn32.exe что-то другое.
Неудивительно: его там вообще нет. В связи с этим здесь советуют использовать костыль под названием userdump.
Отсутствует
Спасибо, попробовал все варианты, не срабатывает ни один. Я подозреваю, что тут тоже не так всё просто…
Значит, надо написать скрипт следующего содержания:
#!/bin/bash rm -rf /tmp/.evrouter:0 /usr/bin/evrouter /dev/input/event2 -c /root/.evrouterrc
и по kdesudo вызывать этот скрипт.
Добавлено 02-02-2011 23:33:16
Неудивительно: его там вообще нет. В связи с этим здесь советуют использовать костыль под названием userdump.
Это да, но здесь преследуется цель понять, что с программой не так, когда она действительно "упала". А я ставил задачу сделать вид, что программа "упала", когда это на самом деле не так (аналог killall -s SIGSEGV <имя программы>, или в сокращённом варианте killall -11 <имя программы>). В висте вроде есть какой-то аналог dr. Watson. Надо будет посмотреть на досуге.
# rm -rf /
Отсутствует
Так тоже пробовал — не работает.
Скрипт не забыли сделать исполняемым? Права доступа к нему точно есть? Бит executable во всех промежуточных каталогах в полном пути к скрипту выставлен?
# rm -rf /
Отсутствует