Можно ли писать скрипты на C++?

2 дня 14 часов ago

Недавно пришлось мне опять/снова погрузиться в чудесный мир программирования Linux скриптов. В принципе, дело не очень хитрое, но поскольку мне попадаются такие задачи не часто, то каждый раз изучаю заново. Знаю точно, что завтра многое забуду и через месяц опять буду гуглить, как сделать то или это. Проблема еще оказывается в том, что зачастую не пишешь скрипт заново, а модифицируешь существующий, уже написанный кем-то. А он может быть не bash, а sh или еще что-то… Различия в синтаксисе есть, что работает в sh по идее должно работать и в bash, но не всегда наоборот. А если там dash или ash? Я не знаю… Различия в этих скриптовых языках все же есть, и они сбивают с толка. Ну и конечно, лично для меня, вишенка на торте, когда скрипт вызывает какой нибудь sed или awk и там такие параметры в командной строке, что смотришь на них и диву даешься. Понятно, что это все зависит от квалификации программиста, но вот у меня не все в голове помещается. И вот сейчас мое терпение лопнуло и я подумал, что отныне хочу попробовать писать скрипты на c++…

Я понимаю, что для true системного администратора моя мысль может показаться крамольной. Но почему бы и нет? Читать дальше →
nckma

Безопасная загрузка в i.MX6

4 дня 15 часов ago
Безопасная загрузка в i.MX6
Разрабатывая любой проект для встроенных систем разработчик должен решать два дополнительных вопроса:

  • Как защитить прошивку от подмены в изделии;
  • Как защитить ПО от копирования.

В данной статье описано как защитить процессор i.MX6 от подмены загрузчика в изделии и усложнить процесс копирования прошивки.


Читать дальше →
zedroid

Бесплатный хостинг Telegram-бота на Google Cloud Platform

5 дней 10 часов ago
Почему GCP?
При написание телеграмм ботов столкнулся с вопросом, как быстро и бесплатно сделать так, чтобы бот работал постоянно. Варианты с Heroku и Pythonanywhere имеют слишком маленькие лимиты, если у вас более одного бота. Поэтому я решил воспользоваться GCP. Платформа предоставляет бесплатно 300$ на год + огромные скидки при использование этих средств(до 94%).


Как захостить вашего бота?
Шаг 1. Регистрация на GCP
Переходим на сайт GCP и нажимаем Get started for free. Читать дальше →
alekskram

Семь причин, почему Линукс

1 неделя ago
Linux доминирует на всех типах компьютеров, кроме настольных (десктопы и ноуты) и, наверное, мейнфреймов. Встроенные системы, мобильные, серверы-облака-суперкомпьютеры — везде преобладают системы на ядре Linux. Линукс провалился на десктопах и мейнфреймах только потому, что в сегментах этих доминируют монополии — Microsoft и IBM. И Майкрософт всеми силами старается удержать своё доминирование (IBM понемногу сдаёт позиции — переводит свои мейнфреймы на Linux).

Майкрософту на руку играет огромная экосистема Windows, её инерция, которая тащит за собой бизнес и домашних юзеров. Но и экосистема Linux сильно разрослась по сравнению с тем, что было лет 15 назад, и сейчас многим организациям и домашним пользователям есть резон перейти на Линукс. И даже не один, а целых семь.
Читать дальше →
mrtux

[Из песочницы] Установка or-tools с SCIP и GLPK в виртуальное окружение Python 3.7 на Linux

1 неделя ago
Решил я поучаствовать в соревновании и понадобилось для него использовать пакеты для решения задач оптимизации. Выбрал гугловский инструмент or-tools, который представляет из себя интерфейс для разных решателей (или решал? solverов?). Он содержит в себе несколько инструментов оптимизации, но создателями заявляется поддержка нескольких внешних пакетом, в том числе коммерческих Gurobi и CPLEX. Однако люди мы небогатые, и использовать будем бесплатные SCIP и GLPK (от отечественного разработчика, между прочим). На моё удивление ни одной инструкции о том, как заставить всё это великолепие работать в виртуальном окружении питона, на просторах как нашего, так и англоязычного сегментов интернета я не нашёл и пришлось немного повозиться. Для тех, кто очень спешит, читайте сразу тут, остальным предлагаю познакомиться с сомнительного качества моей графоманией, описывающей перипетии установки гугловского софта. Да, забыл сразу сказать, что устанавливалось всё в Manjaro Linux.

Читать дальше →
Sirily

Поднимаем свой инстанс Webogram с проксированием через nginx

2 недели 1 день ago
Привет, Хабр!

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

Я вполне могу обходиться без мессенджеров, однако именно Telegram мне нужен был для работы. Установить клиент на рабочую машину не представлялось возможным, использовать личный ноутбук — тоже. Еще одним решением видится использовать его официальную веб-версию, но как вы можете догадаться — она так же была недоступна. Вариант с поиском неофициального зеркала я сразу вычеркиваю (надеюсь по вполне очевидным причинам).

К счастью, Webogram — это opensource-проект, исходный код которого доступен в github его автора (За что огромное ему спасибо!)
Сама установка и запуск не представляет из себя ничего сложного, однако, в условиях эксплуатации внутри сети с заблокированным доступом к серверам Telegram вас скорее ждет разочарование, чем успех, так как веб-версия отправляет запросы на серверы Telegram с машины пользователя.

К счастью, это довольно просто (но не очень очевидно) исправить. Хочу предупредить, что я не являются автором данного решения. Мне удалось найти его в ветке, в которой обсуждалась проблема похожая на мою. Решение, которое предложил пользователь github tecknojock, мне очень помогло, однако, уверен, что оно может помочь еще кому нибудь, поэтому решился на написание данного туториала.

Под катом вас ждет пошаговая настройка своего зеркала Webogram и настройка проксирования его запросов до серверов Telegram с использованием nginx.
Читать дальше →
beautiair

[Из песочницы] Linux. Настройка клавиатуры

2 недели 3 дня ago

Для чего вообще специально настраивать клавиатуру?


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


Почему я захотел изменить свою клавиатуру?

Во-первых, когда я начал использовать vim как основной редактор, я понял, что не хочу каждый раз тянуться к ESC. Кроме того, я писал в основном на питоне, поэтому ; нажимал сильно реже, чем :, а в vim разница стала более явной.


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

Читать дальше →
badger239

[Перевод] Настраиваем простой VPN с WireGuard и Raspberry Pi в качестве сервера

3 недели ago
Поскольку WireGuard станет частью будущего ядра Linux 5.6, я решил посмотреть, как лучше всего интегрировать этот VPN с моим LTE-маршрутизатором/точкой доступа на Raspberry Pi.

Оборудование
  • Raspberry Pi 3 с модулем LTE и публичным IP-адресом. Здесь будет VPN-сервер (далее в тексте он называется edgewalker)
  • Телефон на Android, который должен использовать VPN для всех коммуникаций
  • Ноутбук Linux, который должен использовать VPN только внутри сети

Каждое устройство, которое подключается к VPN, должно иметь возможность подключаться ко всем другим устройствам. Например, телефон должен иметь возможность подключаться к веб-серверу на ноутбуке, если оба устройства являются частью сети VPN. Если настройка получится достаточно простой, то можно подумать о подключении к VPN и десктопа (по Ethernet).
Читать дальше →
m1rko

Замена дисков меньшего объёма на диски большего объёма в Linux

3 недели 2 дня ago
Всем привет. В преддверии старта новой группы курса «Администратор Linux» публикуем полезный материал, написанный нашим студентом, а также наставником на курсах, специалистом технической поддержки корпоративных продуктов REG.RU — Романом Травиным.



В данной статье будет рассмотрены 2 случая замены дисков и переноса информации на новые диски большего объёма с дальнейшим расширением массива и файловой системы. Первый случай будет касаться замены дисков c одноименной разметкой MBR/MBR либо GPT/GPT, второй случай касается замены дисков с разметкой MBR на диски объёмом более 2 TB, на которые потребуется ставить разметку GPT с разделом biosboot. В обоих случаях диски, на которые переносим данным, уже установлены в сервер. Файловая система, используемая для корневого раздела — ext4.

Читать дальше →
MaxRokatansky

Ускоряем OpenVPN на роутере Openwrt. Альтернативная версия без паяльника и хардварного экстремизма

3 недели 3 дня ago


Всем привет, недавно прочитал давнюю статью о том, как можно ускорить OpenVPN на роутере, перенеся шифрование на отдельную железку, которая припаивается внутри самого роутера. У меня аналогичный с автором случай — TP-Link WDR3500 с 128 мегабайтами оперативки и бедным процессором, который напрочь не справляется с шифрованием туннелей. Однако, лезть в роутер с паяльником мне категорически не хотелось. Под катом мой опыт выноса OpenVPN на отдельную железку с резервированием на роутере на случай аварии.
Читать дальше →
zabbius

[Перевод] Обнаружена новая вспышка H2Miner червей, которые эксплуатируют Redis RCE

4 недели ago
День назад один из серверов моего проекта был атакован подобным червем. В поисках ответа на вопрос «что же это было такое?» я нашел замечательную статью команды Alibaba Cloud Security. Поскольку я не нашел этот статьи на хабре, то решил перевести ее специально для вас <3
Вступление
Недавно команда безопасности Alibaba Cloud обнаружила внезапную вспышку H2Miner. Этот тип вредоносного червя использует отсутствие авторизации или слабые пароли для Redis в качестве шлюзов к вашим системам, после чего синхронизирует свой собственный вредоносный модуль с slave посредством синхронизации master-slave и, наконец, загружает этот вредоносный модуль на атакуемую машину и выполняет вредоносные инструкции.

В прошлом, атаки на ваши системы в основном осуществлялись с помощью метода, включающего запланированные задачи или SSH-ключи, которые записывались на вашу машину после входа злоумышленника в Redis. К счастью, этот метод не удается использовать часто из-за проблем с контролем разрешений или из-за разных версий системы. Тем не менее, этот метод загрузки вредоносного модуля может непосредственно выполнять команды атакующего или получать доступ к шеллу, что опасно для вашей системы.

Из-за большого количества серверов Redis, размещенных в интернете (почти 1 миллион), команда безопасности Alibaba Cloud, в качестве дружественного напоминания, рекомендует пользователям не предоставлять доступ к Redis из сети и регулярно проверять надежность своих паролей, а также, не подвержены ли они быстрому подбору.

H2Miner
H2Miner — это майнинг-ботнет для систем, на базе Linux, который может вторгаться в вашу систему различными способами, включая отсутсвие авторизации в Hadoop yarn, Docker, и уязвимость удаленного выполнения команд Redis (RCE). Ботнет работает путем загрузки вредоносных скриптов и вредоносных программ для майнинга ваших данных, горизонтального расширения атаки и поддержания командно-контрольной (C&C) связи.
Читать дальше →
hit2hat

[Перевод] Шпаргалка для сисадмина по SELinux: 42 ответа на важные вопросы

1 месяц ago
Перевод статьи подготовлен специально для студентов курса «Администратор Linux».



Здесь вы получите ответы на важные вопросы о жизни, вселенной и всем таком в Linux с улучшенной безопасностью.

«Важная истина, что вещи не всегда являются тем, чем кажутся, общеизвестна…»

―Дуглас Адамс, Автостопом по Галактике
Безопасность. Повышение надежности. Соответствие. Политика. Четыре Всадника Апокалипсиса сисадмина. В дополнение к нашим ежедневным задачам — мониторингу, резервному копированию, внедрению, настройке, обновлению и т. д. — мы также отвечаем за безопасность наших систем. Даже тех систем, где сторонний провайдер рекомендует нам отключить усиленную безопасность. Это похоже на работу Этана Ханта из “Миссия невыполнима”. Читать дальше →
MaxRokatansky

[Перевод] Linux: удаление пула блокировок /dev/random

1 месяц ago
Как известно, у /dev/random, криптографически стойкого генератора псевдослучайных чисел (CSPRNG), имеется одна неприятная проблема – блокировки. В данной статье рассказывается, каким образом можно ее решить.

За последние несколько месяцев средства генерации случайных чисел в ядре были немного переработаны, но проблемы в этой подсистеме решались на протяжении более широких временных рамок. Самые последние изменения были сделаны с целью предотвратить длительную блокировку системного вызова getrandom () при загрузке системы, но причиной, лежащей в основе этого, было поведение блокирующего случайного пула. Недавний патч удалил бы этот пул, и, следовало ожидать, что он направится к основному ядру.

Энди Лутомирски (Andy Lutomirski) опубликовал третью версию патча в конце декабря. Он вносит «два основных семантических изменения в случайных API Linux». Патч добавляет новый флаг GRND_INSECURE к системному вызову getrandom() (хотя Лутомирский обращается к нему как к getentropy(), который реализован в glibc с помощью getrandom() с фиксированными флагами); этот флаг заставляет вызов всегда возвращать количество запрошенных данных, но без гарантии, что эти данные случайны. Ядро просто приложит все усилия, чтобы дать наилучшие случайные данные, которые у него есть на данный момент времени. «Вероятно, лучшее, что можно сделать, это назвать его „INSECURE“ (небезопасным), чтобы воспрепятствовать использованию этого API для вещей, которые нуждаются в безопасности». Читать дальше →
ua-hosting

[Из песочницы] Ubuntu — не лучший настольный Linux

1 месяц ago
Захотев перейти на Linux дома или на работе, люди обычно ставят Ubuntu, Mint, Fedora, порой даже Debian. И очень зря не пробуют Manjaro Linux — на мой взгляд, этот дистрибутив удобнее Убунты (которая уже де-факто — Default Linux), и даже удобнее Минта.

Manjaro — производная от Arch Linux (так же как Ubuntu — производная от Debian), пилится европейской командой Manjaro Team. У Манжары почти такая же структура системы, как у Арча, но с некоторыми особенностями, которые делают его на 146% юзерфрендли.
Читать дальше →
mrtux

История создания домашнего облака. Часть 5. Актуализация 2019 – PHP 7.2, MariaDB 10.4 и Nextcloud 17

1 месяц ago
Два года назад я опубликовал цикл статей на тему создания веб-сервера на базе Debian 8 и запуске на нём сервиса Nextcloud 11. Через несколько месяцев появилось дополнение, содержащее «диффиренциальную» информацию по установке Nextcloud 13 на Debian 9. В конце 2018 года я просто обновил Debian и Nextcloud и не столкнулся с какими-то необычными или интересными проблемами. Обновление в конце 2019 года было уже более интересным и про это стоило написать.



Данная статья в первую очередь будет полезна тем, кто по инструкциям прошлых четырёх статей «собрал» себе Nextcloud 13 на Debian 9 (передаю привет с десятку моих подписчиков по теме Nextcloud, в особенности тем, для кого это был первый опыт в мире Linux). Тем, кто соберётся делать сервис с нуля я советую взять за основу первые четыре статьи этого цикла с поправкой на актуальные версии Debian 10 и Nextcloud 17. Для опытных пользователей Linux статья может занять какое-то место между «тривиальна и бесполезна» и «неплохо, шпаргалка всё-в-одном-месте».
Читать дальше →
AlexanderS

[Перевод] Файловые разрешения в Linux

1 месяц 1 неделя ago
Всем привет. Мы активно вливаемся в работу и уже в январе готовим много мощных запусков. Среди прочих, объявлен набор на новый поток полюбившегося всем курса «Администратор Linux». В преддверии запуска традиционно делимся переводом полезного материала.



Файловые разрешения предлагают безопасную альтернативу исполняемым файлам SUID, но могут показаться немного запутанными на первый взгляд. Читать дальше →
MaxRokatansky

Debian: простое превращение i386 в amd64

1 месяц 1 неделя ago
Это краткая статья о том, как без переустановки организовать 64-битную архитектуру на вашем 32-битном Debian/Deabian-based дистрибутиве (который вы могли по-невнимательности загрузить вместо 64bit).

* Ваше железо должно изначально поддерживать amd64, магию творить никто не собирается.
* Это может повредить систему, так что действуйте очень осторожно.
* Всё проверялось на Debian10-buster-i386.
* Не делайте этого, если хоть что-то здесь не понимаете.
Читать дальше →
Sid_Pic
Checked
10 часов 38 минут ago
habrahabr.ru/linux/
Настройка Linux – Вечный кайф
Подписаться на лента habrahabr.ru/linux/