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

Во-первых: Metasploitable и Kali Linux совершенно не связаны. Чтобы прояснить это:

Metasploitable - это намеренно уязвимая виртуальная машина Linux. Эта виртуальная машина может использоваться для проведения обучения по вопросам безопасности, тестирования средств безопасности и применения обычных методов тестирования на проникновение. ( Source )

и

Kali Linux - это расширенный дистрибутив для тестирования проникновения и аудита безопасности Linux [...]. Kali поставляется с metasploit уже доступны вместе с многочисленными другими инструментами безопасности, которые вы можете попробовать против вашей машины жертвы. ( Источник )

  1. Да, Metasploitable.vmdk должен быть виртуальным диском для машины Metasploitable.
  2. Да, необходимо установить Metasploitable и Kali Linux в различные виртуальные машины. Затем можно использовать Kali Linux для «атаки» Metasploitable через сеть, эмулированную гипервизором (VMWare Player, VirtureBox и т. д.).

-121--254655-

Bash не анализирует вложенные расширения переменных. С помощью eval можно создать фрагмент оболочки $ {! Яблоко _ @} , а затем использовать его в команде, выполняемой с помощью eval .

prefix=apple_
eval 'vars=(${!'"$prefix"'@})'

Убедитесь, что префикс содержит только допустимые символы идентификатора, в противном случае фрагмент может привести к чему-либо.

eval обычно необходим для работы с переменными, имя которых вычисляется динамически, но в данном конкретном случае существует совершенно другой способ сделать то же самое: использовать систему завершения. Система завершения Bash работает даже из сценария. В compgen builtin перечисляется одно завершение на строку, что неоднозначно, когда завершения могут содержать новые строки, но здесь это не так - они даже не содержат подстановочных символов, поэтому выходные данные можно разделить простым расширением без кавычек. Если префикс содержит символы, недопустимые в идентификаторах, он не будет выводиться.

vars=($(compgen -v "$prefix"))

-121--55093-

Лучший способ -

cat /dev/zero >/dev/sdx

Неважно, чем вы перезаписываете. Это имело значение для дисков 1980-х годов, если вас беспокоили злоумышленники с дорогим электронным оборудованием, но это не имеет значения для сегодняшних дисков. См. https://security.stackexchange.com/questions/10464/why-is-writing-zeros-or-random-data-over-a-hard-drive-multiple-times-better-th/10474#10474

Обратите внимание, что это относится только к магнитным жестким дискам, а не к твердотельным накопителям. На твердотельном накопителе перезапись сектора просто помечает его как неиспользуемый и записывает другой сектор. Если вас беспокоят злоумышленники с доступом к оборудованию, невозможно убедиться, что вы удалили данные из флэш-памяти. Вместо этого используйте команду secure erase SSD, если она есть. Но остерегайтесь того, что не все модели твердотельных накопителей имеют безопасную команду стирания, а некоторые утверждают, что они реализуют ее неправильно.

15
05.07.2018, 13:51
3 ответа

Разрешить другим пользователям убивать процессы в качестве пользователя с низким приоритетом через

sudo -u lowpriouser /bin/kill PID

Пользователь может сигнализировать только своим собственным процессам, если у него нет привилегий root. Используя sudo -u, пользователь с правильным набором -в файле sudoersможет принять личность пользователя с низким приоритетом и убить процесс.

Например:

%killers ALL = (lowpriouser) /bin/kill

Это позволит всем пользователям в группе killersзапускать /bin/killкак lowpriouser.

См. также руководство sudoersпо вашей системе.


В системе OpenBSD то же самое можно сделать с помощью встроенной утилиты doasс такой конфигурацией, как

permit :killers as lowpriouser cmd /bin/kill

Тогда

doas -u lowpriouser /bin/kill PID

См. руководства поdoasи doas.conf.

24
27.01.2020, 19:49

Мне кажется, вы подходите к проблеме не с той стороны. :Если процесс выполняется с низким приоритетом (CPU, I/O )это не должно сильно влиять на другие процессы, потому что не будет планируется запустить. Что касается использования памяти, если основной памяти мало, а запуск процесса не планировался в течение длительного времени (e. г. из-за ограничений ЦП и ввода-вывода )его «чистые» страницы удаляются, а его «грязные» страницы фиксируются или выгружаются и больше не влияют на производительность других процессов.

Заключение :при правильной настройке приоритета и достаточном пространстве подкачки не должно быть необходимости уничтожать задания с низким приоритетом, чтобы освободить место для более важных задач; вместо этого ядро ​​позаботится о том, чтобы усыпить первое в пользу второго.

4
27.01.2020, 19:49

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

Чтобы действительно сделать их низкоприоритетными, либо измените их приоритет вручную, либо используйте демон, подобный autonice, который я написал для DEC OSF/1 много лет назад (c. 1994 ), который ищет длительно -запущенные задания и постепенно снижает их приоритет по мере того, как они дольше выполняются.

РЕДАКТИРОВАТЬ есть пакет под названием and, который предлагает эту функциональность для современных Unices.

5
27.01.2020, 19:49

Теги

Похожие вопросы