kde .deskop exec не возвращается, чтобы пригласить в терминал

Специально для setrlimit

Вот некоторые из наиболее полезных параметров команды, которые вы, возможно, захотите изучить; вытащил их со страниц man .

  • RLIMIT_NOFILE Определяет значение на единицу больше максимального номера дескриптора файла, который может быть открыт этим процессом.

  • RLIMIT_NPROC Максимальное количество процессов (или, точнее, потоков в Linux), которые могут быть созданы для реального идентификатора пользователя вызывающего процесса. При достижении этого предела

  • RLIMIT_SIGPENDING Определяет предел количества сигналов, которые могут быть поставлены в очередь для реального идентификатора пользователя вызывающего процесса. Для проверки этого предела учитываются как стандартные сигналы, так и сигналы реального времени.

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

General Unix / Linux

Я считаю, что общий термин инструмента ограничения приложений, который вы ищете, называется Sandbox для UNIX, это выглядит как Contractor и Passenger - надежные варианты, а для Linux я видел Docker , KVM и Firejail , используемые в системах с ограниченными возможностями, такими как Raspberry Pi B + v2 или dule. основные нетбуки. Для большинства действий в песочнице вам понадобится система и ядро, поддерживающие виртуализацию. В таких системах, как Android, я видел Selinux , который использовался в последних прошивках CyonagenMod, что немного расстраивает, если вы хотите использовать приложение chroot ... но я отвлекаюсь, в некоторых системах, которые у меня есть запустить Ubuntu Я столкнулся с Apparmor , выскакивающим ошибки, когда недавно установленная программа пытается позвонить домой с постоянным соединением. Достаточно сказать, что существует множество вариантов управления тем, что конкретная программа или набор программ может делать, видеть и / или взаимодействовать с ними, и сколько ресурсов ЦП и ГП может быть использовано.

Лучшим из всех, если вы можете заставить его работать (немного сомнительно, поскольку я все еще работаю с разработчиками, чтобы заставить работать двоичные файлы ARMhf), для вашего сценария использования будет Firejail в качестве руководства, размещенного на Dev's Домашняя страница посвящена двойной игровой установке, которую можно модифицировать в соответствии с вашими потребностями.У него мало памяти по сравнению с другими упомянутыми (из того, что я видел), и он легко настраивается в отношении того, к каким файлам имеет доступ процесс и разрешено ли сохранение. Это было бы хорошо для тестирования, так как у вас была бы заданная рабочая среда, которую можно воспроизводить, настраивать и в конечном итоге удалять при необходимости.

Для систем без полной поддержки виртуализации я видел, что selinux обычно используется для определения более строгих правил для настроек прав доступа пользователя / группы , которые уже установлены для сохранения чтения и записи. права на запись. Термин для поиска - это разрешения пространства имен Linux , оказывается, есть множество скрытых способов ограничения действий, но самая большая дыра для всех этих параметров - root даже в хорошо сконструированной chroot-тюрьме, если есть способы получить права root в тюрьме или песочнице, тогда есть способы перейти к идентификатору пользователя, который запускает заключенный в тюрьму процесс.

По сути, должно быть несколько уровней, из которых процесс должен выйти, т.е. для веб-сервера я буду устанавливать ограничительный набор правил брандмауэра, средства чтения журналов для динамического добавления правил и изменения настроек брандмауэра (fail2ban с настраиваемые действия и сценарии), затем chroot jail, который имеет только необходимое, зависит от веб-сервера в его структуре каталогов, привязанной к порту выше 1024, так что он даже не запрашивает разрешения корневого уровня для привязки сокета и обертывает их внутри виртуализированная песочница (вероятно, с Firejail), на хосте которой выполняются меры обнаружения проникновения, такие как tripwire и honeyd в своих соответствующих тюрьмах. Все для того, чтобы, если .php и аналогичный код, который не следует изменять на общедоступном сервере, получали ошибку bad-touch игнорируется, обратная связь восстанавливается, а нарушитель лишен доступа в будущем.

В вашем примере кода не похоже, что вы много делаете с сетью, но, скорее всего, он будет вызван из другого скрипта или функции, и, поскольку он явно вызывает дочерние процессы, вы захотите выяснить, как для дезинфекции ввода и выявления ошибок на каждом этапе (посмотрите ссылку, которая убила браузер Chrome, чтобы узнать, почему), и убедитесь, что несанкционированный ввод не читается и не вводится привилегированным пользователем (посмотрите, как добавить shell-shock к идентификатору браузера Firefox, чтобы узнать, почему), и если есть сеть, связанная с вызовом или возвратом вывода, то порты, к которым привязан процесс, должны быть на непривилегированном порте (используйте iptables / firewall для пересылки, если это веб приложение вроде вещь). Несмотря на то, что существует множество вариантов блокировки системных сервисов, которые необходимо рассмотреть, также, похоже, есть много вариантов для проверки возможности взлома кода; Metasploit и drone.io - два довольно известных варианта пентестинга и тестирования кода, которые вы, возможно, захотите изучить, прежде чем кто-то сделает это за вас.

-1
13.10.2018, 14:58
1 ответ

Я нашел ответ:

  1. Снимите флажок «Запустить в терминале» в редакторе меню KDE
  2. Вызвать bash для выполнения команды
  3. Добавить ;$SHELLв конец

    konsole -e "bash -c 'hping --help;$SHELL'"

0
28.01.2020, 05:12

Теги

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