LINUX.ORG.RU

Bash


191

2

Всего сообщений: 28

Критическая ошибка в bash 5.1-2+b3, Debian 11

Группа Debian

Пакет bash 5.1-2+b3, входящий в состав текущего stable-релиза Debian 11 (bullseye), содержит критическую ошибку, которая может приводить к искажению обрабатываемого текста в кодировке UTF-8 - в том числе русского текста. Исправление присутствует в пакете bash 5.1-2+deb11u1, который находится в stable-proposed-updates репозитории и появится только в следующем point-релизе Debian 11 (stable).

Желающие могут обновить пакет, не дожидаясь выхода очередного point-релиза:

deb http://ftp.us.debian.org/debian bullseye-proposed-updates main contrib non-free

>>> Подробности

 ,

vinvlad
()

Представлена оболочка командной строки для выполнения команд на человеческом языке

Представлена оболочка командной строки для выполнения команд на человеческом языке
Группа Open Source

Разработчик из проекта River's Educational Channel представил оболочку командной строки, которая понимает человеческий язык и переводит его в команды интерпретатора Bash. Новая оболочка использует OpenAI и позволяет выполнять как простые команды для работы с файлами и директориями, так и использовать утилиты вроде ImageMagick, ffmpeg со сложными параметрами.
Видео с демонстрацией работы на YouTube

( читать дальше... )

>>> Подробности

 , , , ,

ls-h
()

Kube-dump 1.0

Kube-dump 1.0
Группа Open Source

Состоялся первый релиз утилиты, при помощи которой производится сохранение ресурсов кластера Kubernetes в виде чистовых yaml манифестов без лишних метаданных. Скрипт полезен для тех, кому нужно перенести конфигурацию между кластерами без доступа к исходным файлам конфигурации, или для настройки резервного копирования ресурсов кластера. Запуск возможен локально в виде bash-скрипта, но для тех, кому не хочется устанавливать зависимости в виде kubectl, jq и yq подготовлен контейнер. Также контейнер готов для работы в виде CronJob с использованием ролей, назначенных в Service Account.

Ключевые особенности:

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

Подробнее о настройке и работе со скриптом читайте документации

>>> Репозиторий

 , ,

WoozyMasta
()

topalias: утилита для генерации коротких алиасов по истории bash/zsh

Группа Open Source

На GitHub опубликована Open Source утилита для генерации коротких алиасов по истории bash/zsh: https://github.com/CSRedRat/topalias

Задачи, которые решает программа:

  • Анализ файлов ~/.bash_aliases, ~/.bash_history, ~/.zsh_history с историей выполнения команд в терминале Linux в оболочке Bash/Zsh
  • Предлагает короткие аббревиатуры (акронимы) для длинных, долго набираемых и сложно запоминаемых, но часто используемых команд (хотя об этом можно даже не догадываться)
  • Выводит некоторую статистику
  • Обрабатывает управляющие параметры

Установка и запуск:

pip install topalias
python -m topalias

Если кого-то заинтересовала структура проекта - напишите, пожалуйста. Есть идея сделать актуальный шаблон для новых проектов на Python, включающий CI/CI (GitHub Actions, GitLab CI, Travis CI, git pre-commit hooks), проверенная линтерами из коробки рыба проекта, запуск программы как python-пакет, модуль, скрипт.

>>> Подробности разработки

 , , алиасы, ,

CSRedRat
()

Релиз панели управления HestiaCP 1.1.0

Группа Open Source

Сегодня 11 марта 2020 года, после почти 9 месяцев разработки вышел очередной значительный релиз панели управления для VPS-серверов HestiaCP.

Среди основных новшеств этого релиза можно отметить:

  • Поддержку пользовательских тем оформления (да у нас теперь тоже есть тёмная тема);
  • Поддержку read-only/демо-режима;
  • Своя компактная (one click) реализация установщика популярных веб-приложений:Wordpress, Laravel, OpenCart, Symfony Framework
  • Полноценная поддержка нескольких версий php.

    Также стало возможным установить/удалить нужную версию php прямо из веб-интерфейса панели.

  • Поддержка Debian 10 (Buster);
  • Возможность работы с несколькими IP для почтовой подсистемы;
  • Многочисленные исправления и улучшения в плане безопасности;

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

>>> Подробности

 , , , ,

Twissel
()

Вышла EasyGG 0.1 — новая графическая оболочка для Git

Вышла EasyGG  0.1 — новая графическая оболочка для Git
Группа Open Source

Это простая графическая оболочка для Git, написанная на bash, с использованием технологий yad, lxterminal* и leafpad*

Она написана по принципу KISS, поэтому принципиально не предоставляет сложных и продвинутых функций. Её задача ускорить типовые операции Git: commit, add, status, pull и push.

Для более сложных функций есть кнопка «Терминал», позволяющая использовать все мыслимые и немыслимые возможности Git.

( читать дальше... )

>>> Подробности

 , , ,

gtk3
()

yacc (pre-bison) парсер в bash-скрипт. Реализация jq на bash

Группа Open Source

Иногда возникает проблема написать небольшой умный скрипт, понимающий некую встроенную грамматику, то есть с миниязыком внутрях. Изначально я написал минимальную реализацию jq на bash. Но чем больше добавлялось туда «умности», тем труднее приходилось реализовывать рекурсивный разбор подвыражений. Это так надоело, что сподвигло написать вначале компилятор LARL(1) yacc (pre-bison) для генерации bash-скрипта, а потом как по маслу получился весьма похожий на оригинал и хороший проверочный код для yacc_bash.c мини-jq на bash.

Статья полностью:

>>> Подробности

 , ,

vodz
()

GNU Parallel 20190122 ('Shutdown')

Группа GNU's Not Unix

GNU Parallel — это инструмент командной оболочки, созданный Оле Танге. Написан на языке Perl, предназначен для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть однострочником или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.

Если вы уже пользуетесь xargs и tee — использовать GNU Parallel будет очень просто, так как он совместим с аргументами xargs. Если вы пишете циклы в командной оболочке, то обнаружите, что GNU Parallel может заменить большинство циклов и ускорить их за счёт распараллеливания. GNU Parallel может заменять даже вложенные циклы.

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

Новое в этом выпуске:

>>> Получите книжку: GNU Parallel 2018

>>> Источник

 , , , ,

Moondancer
()

Вышел bash 5.0

Группа GNU's Not Unix

Почти через 10 лет после выхода bash 4.0 и чуть больше чем через 2 года после выхода bash 4.4 состоялся релиз пользовательской оболочки и интерпретатора скриптов версии 5.0.

( читать дальше... )

>>> Подробности

 , ,

saahriktu
()

Вышел Fish Shell 3.0

Группа Open Source

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

( читать дальше... )

>>> Полное описание релиза

 , , , ,

loz
()

GNU Parallel 20181222 ('Jacob Sparre')

Группа GNU's Not Unix

GNU Parallel — это инструмент командной оболочки, созданный Оле Танге. Написан на языке Perl, предназначен для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть однострочником или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.

( читать дальше... )

>>> Источник

 , , , ,

Moondancer
()

GNU Parallel 20181022 ('Khashoggi')

Группа GNU's Not Unix

GNU Parallel — это инструмент командной оболочки для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть одной командой или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.

Если Вы уже пользуетесь xargs и tee — использовать GNU Parallel будет очень просто, так как он совместим с аргументами xargs. Если Вы пишете циклы в командной оболочке, то обнаружите, что GNU Parallel может заменить большинство циклов и ускорить их за счёт распараллеливания. GNU Parallel может заменять даже вложенные циклы.

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

Новое в этом выпуске:

>>> Получите книжку: GNU Parallel 2018

>>> Источник

 , , , ,

bodqhrohro_promo
()

GNU Parallel 20180922 ('Danske')

Группа GNU's Not Unix

GNU Parallel — это инструмент командной оболочки для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть одной командой или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.

Если Вы уже пользуетесь xargs и tee — использовать GNU Parallel будет очень просто, так как он совместим с аргументами xargs. Если Вы пишете циклы в командной оболочке, то обнаружите, что GNU Parallel может заменить большинство циклов и ускорить их за счёт распараллеливания. GNU Parallel может заменять даже вложенные циклы.

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

Новое в этом выпуске:

( читать дальше... )

>>> Источник

 , , , ,

bodqhrohro_promo
()

GNU Parallel 20180822 ('Genova')

Группа GNU's Not Unix

GNU Parallel — это инструмент командной оболочки для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть одной командой или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.

( читать дальше... )

Новое в этом выпуске:

  • parset устанавливает код выхода
  • исправления ошибок и обновления мануала

( Ссылки )

>>> Источник

 , , , ,

bodqhrohro_promo
()

GNU Parallel 20180722 ('Crimson Hexagon') [alpha]

GNU Parallel 20180722 ('Crimson Hexagon') [alpha]
Группа GNU's Not Unix

GNU Parallel — это инструмент командной оболочки для выполнения задач параллельно на одном или нескольких компьютерах. Задача может быть одной командой или небольшим скриптом, который должен выполниться для каждой строки ввода. Примеры такого ввода — списки файлов, хостов, пользователей, ссылок или таблиц. Задачей также может быть команда, читающая из пайпа. GNU Parallel может разделять ввод и перенаправлять его выполняющимся параллельно командам.

( читать дальше... )

>>> Источник

 , , , , ,

bodqhrohro_promo
()

HSTR 1.25

Группа Open Source

HSTR — консольная утилита с curses-интерфейсом для интерактивного поиска команд в истории оболочки.

( читать дальше... )

>>> Ссылки для загрузки

>>> Страница проекта

 , ,

xaizek
()

Релиз панели управления VPS VestaCP

Группа Open Source

Сегодня 29 декабря 2017 года состоялся долгожданный релиз свободной панели управления серверами VPS/VDS

VestaCP 0.9.8-18.

После более чем годичного перерыва с даты предыдущего релиза, этот релиз порадует нас новой функциональностью, а именно:

  • Возможность получения сертификата Let's Encrypt для домена, который содержит в имени символы национального алфавита (IDN);
  • Поддержка автоматического установщика PHP-модулей и CMS Softaculous;
  • Возможность установки и корректная работа ПУ на дистрибутивах — Debian 9, Ubuntu 16.10, Ubuntu 17.04;
  • Добавлены переводы интерфейса панели управления для таких языков как: Болгарский, Сербский, Португальский(Бразилия), Корейский,Урду.

Всего за 13 месяцев разработки сообществом было сделано 1478 коммитов, исправлено 29 багов и принят в основную ветку 141 пулл реквест.

>>> Подробности

 , , , ,

Twissel
()

Состоялся релиз УПШСВФ-15 v0.2

Группа Open Source

Состоялся релиз УПШСВФ-15 v0.2. УПШСВФ-15 (Сканирование в файл по Универсальной Последовательной Шине) — скрипт, который автоматически находит USB-сканер и сканирует в файл с указанными опциями. Дополнительно существует GUI к скрипту на Tcl/Tk — УПШСВФ-15гип (графический интерфейс пользователя). В случае запуска УПШСВФ-15гип и невозможности обнаружить USB-сканер, УПШСВФ-15 сообщает об ошибке через графический диалог zenity.

Скриншот УПШСВФ-15гип

Скачать

 , , , ,

saahriktu
()

Обнаружены новые уязвимости в bash

Группа Безопасность

Не успело сообщество отойти от уязвимостей ShellShock, как сотрудник Red Hat Флориан Ваймер опубликовал информацию о новых. Уязвимости CVE-2014-7186 и CVE-2014-7187, возникающие из-за некорректной обработки операций с памятью при разборе выражений, перечёркивают все прошлые усилия по закрытию ShellShock и позволяют удалённо выполнять любые команды.

Протестировать наличие проблем CVE-2014-7186 и CVE-2014-7187 можно при помощи выражений:

   bash -c "true $(printf '</dev/null
   if [ $? != 0 ]; then
      echo -e "Vulnerable to CVE-2014-7186"
   fi

   bash -c "`for i in {1..200}; do echo -n "for x$i in; do :;"; done; for i in {1..200}; do echo -n "done;";done`" 2>/dev/null
   if [ $? != 0 ]; then
      echo -e "Vulnerable to CVE-2014-7187"
   fi

Пользователи FreeBSD и NetBSD вне опасности, поскольку тамошние мейнтейнеры решили пожертвовать обратной совместимостью и полностью отключили эту часть функционала bash.

Ещё две уязвимости CVE-2014-6277 и CVE-2014-6278 обнаружил сотрудник Google Михаил Залевский, но отказался публиковать подробности до внесения исправлений в bash. Учитывая, что для разбора кода функций в bash применяется большой универсальный пласт кода, который потенциально может предоставлять множество различных векторов для атак, так как данный код написан без оглядки на обработку данных, поступающих извне, неизвестно сколько ещё уязвимостей нас ожидает впереди.

Кроме того, можно отметить статью разработчиков Perl, в которой описываются пути проявления уязвимости в perl-скриптах, запускаемых в системах, в которых bash используется как /bin/sh и $SHELL. Проблемы могут проявляться в скриптах, в которых используется вызовы system и exec без разделения аргументов или при открытии потока через open с перенаправлением вывода. Проблемы не специфичны для Perl и проявляются в любых других языках, позволяющих выполнять команды с использованием командной оболочки.

Также опубликован дополнительный анализ возможных серверных систем, в которых возможно проведение атаки. Кроме упоминавшихся ранее атак на DHCP-клиенты, CGI-скрипты и ssh-аккаунты для Git/Subversion, в обзоре утверждается о вероятном проявлении проблемы в OpenVPN (при соединении с сервером злоумышленника), Exim, qmail, procmail, Mailfilter, SER, Phusion Passenger, Radius-серверах и службах Inetd (например, tcpserver). Не подвержены проблеме Postfix, stunnel, OpenBSD inetd и xinetd.

Для комплексной проверки систем на подверженность атакам Shellshock подготовлен универсальный скрипт.

>>> Подробности

 , shellshock

anonymous
()

Уязвимость в bash и множественные уязвимости в APT

Группа Безопасность

Опубликованы подробности уязвимости CVE-2014-6271 в bash, которая позволяет злоумышленнику произвести удалённое выполнение кода.

Уязвимость возможна благодаря одной из особенностей bash - использования переменных окружения для экспорта функций (если в переменной содержится "() {", то её содержимое будет интерпретировано как функция). Проблема заключается в том, что обработка продолжается даже после символа «}», поэтому, если добавить любую команду — она будет выполнена. Атаке подвержены sshd, Git и Subversion (при определённых обстоятельствах), Apache с mod_cgi или mod_cgid (если скрипты CGI написаны на bash или вызывают bash-скрипты), клиенты DHCP (если они вызывают скрипты для настройки системы), CUPS и вообще любые приложения, которые запускают bash (или bash-скрипты) и могут устанавливать переменные окружения на основе данных, полученных извне.

Для проверки наличия уязвимости в системе можно выполнить команду

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Если система уязвима, в консоль будут выведены строки «vulnerable» и «this is a test», а при отсутствии уязвимости, сообщение об ошибке вида
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test

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

Кроме того, объявлено об исправлении множественных уязвимостей в пакетном менеджере APT. Уязвимости CVE-2014-0487, CVE-2014-0490, CVE-2014-0488 и CVE-2014-0489 позволяют обойти проверку цифровых подписей пакетов и репозиториев, а уязвимость CVE-2014-6273 - выполнение произвольного кода, отправленного злоумышленником, вмешавшимся в трафик.

 , ,

anonymous
()