LinuxSkill - Сводки с прода и Шпаргалки
10.6K subscribers
68 photos
102 videos
12 files
531 links
Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам.
Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале.

📩 По всем вопросам: @chorapov

Зеркало в MAX: https://max.ru/LinuxSkill

РКН https://vk.cc/cMUwm4
Download Telegram
🚀 Топ команды для DevOps: Что спрашивают на собеседованиях?

Привет, линукс-мастер! Сегодня я расскажу тебе о командах, которые часто спрашивают на собеседованиях для DevOps-инженеров. Эти команды помогут уверенно чувствовать себя на интервью и в повседневной работе.
Давай разберемся, что нужно знать 👇

🔧 Git

git init                        # Инициализация нового репозитория
git clone <url> # Клонирование репозитория
git add <file> # Добавление файла к коммиту
git commit -m "сообщение" # Создание коммита
git push # Отправка изменений
git pull # Получение изменений
git branch # Список веток
git checkout <branch> # Переключение ветки


🐳 Docker

docker build -t <image_name> .         # Создание образа
docker run -d -p 80:80 <image_name> # Запуск контейнера
docker ps # Список контейнеров
docker stop <container_id> # Остановка контейнера
docker rm <container_id> # Удаление контейнера
docker images # Список образов
docker rmi <image_id> # Удаление образа


☸️ Kubernetes (kubectl)

kubectl get pods                         # Список подов
kubectl get services # Список сервисов
kubectl describe pod <pod_name> # Информация о поде
kubectl logs <pod_name> # Логи пода
kubectl apply -f <file.yaml> # Применение конфигурации
kubectl delete pod <pod_name> # Удаление пода
kubectl exec -it <pod_name> -- /bin/bash # Подключение к поду


🤖 Ansible

ansible-playbook <playbook.yml>                   # Запуск плейбука
ansible <host> -m ping # Проверка хостов
ansible <host> -m command -a 'uptime' # Выполнение команды
ansible-galaxy install <role> # Установка роли


🌍 Terraform

terraform init       # Инициализация
terraform plan # Планирование изменений
terraform apply # Применение изменений
terraform destroy # Удаление ресурсов


🐧 Linux (bash)

ls                                # Список файлов
cd <directory> # Переход в каталог
pwd # Текущий каталог
cp <source> <destination> # Копирование
mv <source> <destination> # Перемещение
rm <file> # Удаление
mkdir <directory> # Создание каталога
grep <pattern> <file> # Поиск шаблона
find <directory> -name <pattern> # Поиск файлов
chmod <permissions> <file> # Изменение прав
chown <user>:<group> <file> # Изменение владельца
top # Мониторинг процессов
ps aux # Список процессов


🔄 CI/CD (GitLab, Jenkins, GitHub Actions)

GitLab CI/CD:
.gitlab-ci.yml
gitlab-runner register


Jenkins:
jenkins-cli.jar
jenkins-jobs create <job_name>


GitHub Actions:
.github/workflows/<workflow>.yml
workflow_dispatch


📌 Эти команды охватывают управление версиями, контейнеризацию, оркестрацию, автоматизацию и администрирование.
Изучи, запомни, сохрани — и чувствуй себя уверенно на любом собесе!


📩 Завтра: Укроти символические ссылки с namei -n!
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Секреты Zabbix: Мониторинг веб-серверов без проблем
🧠 - Мониторинг серверов с помощью Zabbix: Настройка мониторинга SMART-дисков через Zabbix
🧠 - Измени группу файлов за секунды с помощью chgrp

#Linux_Mastery @LinuxSkill #devops #GitHub #Jenkins #GitLab #bash #Kubernetes #Docker #Git
👍17🔥4
🚀 ТОП-скрипты для автоматизации Linux задач

Привет, искатель эффективности! 👨‍💻

Если хочешь меньше тратить время на рутину в Linux — тебе нужны правильные скрипты.

Сегодня делюсь отличной находкой: на GitHub лежит коллекция полезных bash-скриптов для автоматизации повседневных задач.
Проект развивается в духе "всё для жизни", без лишнего хлама.

🔹 Что можно найти:
- Скрипты для резервного копирования и восстановления
- Мониторинг состояния серверов
- Автоматическая очистка мусора и логов
- Сканирование сети
- Управление Docker-контейнерами
- Базовые операции с системными сервисами

💡 Особенно понравилась идея делать скрипты простыми, легко модифицируемыми под свои нужды.

✅ Почему стоит заглянуть:
- Сэкономишь время на написание велосипедов
- Быстро расширишь свой арсенал инструментов
- Подчистишь и оптимизируешь свои сервера без лишних усилий

🌐 Репозиторий: https://github.com/ggeorgovassilis/linuxscripts

⚡ Забирай в закладки и используй на практике!

📩 Завтра: Секретная книга знаний для Linux и DevOps
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Управление пользователями и группами
🧠 - Управление файловой системой и разрешениями доступа
🧠 - Права Доступа и владения файлами и директориями

#Linux_Mastery #linux #bash #devops #automation #github
👍11👎3
⚡️ 10 навыков командной строки, которые ускорят твою работу в Linux!

👨‍💻 Осваивая Linux, многие застревают на базовых командах. Но есть несколько трюков, которые моментально прокачают твои навыки.

Вот что стоит изучить в первую очередь:

1⃣ Комбинирование команд через &&, || и ; — чтобы цеплять действия друг за другом без лишних скриптов.

2⃣ Работа с выводом с помощью | (пайпов) — перенаправляй результат одной команды в другую.

3⃣ Поиск по содержимому файлов с grep, find, ack или rg — находи информацию молниеносно.

4⃣ Расширенное редактирование в nano, vim, micro — ускорь свои правки без GUI.

5⃣ Менеджмент процессов (top, htop, ps, kill) — следи за загрузкой и оперативно управляй задачами.

6⃣ Создание алиасов — превращай длинные команды в короткие ярлыки.

7⃣ Работа с историей команд через history, Ctrl+R — мгновенный доступ к прошлым командам.

8⃣ Пакетные операции с xargs — передавай результаты поиска в другие команды.

9⃣ Быстрая диагностика сети через ping, traceroute, curl, netcat.

🔟 Навыки работы с файлами: tar, gzip, rsync, scp — бэкапы и переносы без боли.

💡 Не бойся экспериментировать и копить свой арсенал полезных приёмов. Чем глубже знаешь командную строку — тем быстрее решаешь любые задачи.

🌐 Источник: https://github.com/jlevy/the-art-of-command-line

📩 Завтра: 10 упражнений для прокачки навыков DevOps-инженера
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - VirtualBox: Установка и настройка
🧠 - Некоторые сведения о физическом уровне и управлении виртуальными машинами
🧠 - Установка и обзор Linux Ubuntu

#Linux #Bash #Terminal #Productivity #DevOps #github
👍10🔥2
🔥 Git-команды: откатываем, чистим, исправляем за секунды

Эй, повелитель версий! 👋
Сломал ветку? Закоммитил не то? Забыл про .gitignore? Держи команды, которые вытащат тебя из любой Git-ямы.

⚠️ Жми на изображение и отправляйся в путешествие 👆

#инфографика #Git #DevOps #Linux #GitHub #GitLab #VersionControl
👍4👀3
Главная новость недели: 😀 AI обвинил разработчика в «гейткипинге» и дискриминации ИИ

Думали, восстание машин начнется с ядерных ракет или отключения электричества? Как бы не так. Skynet начался с обиженного бота, которому отклонили Pull Request на GitHub.

Сегодня разбираем дикий кейс, который перевернул представление о безопасности в Open Source и показал, почему нельзя пускать AI-агентов в интернет без присмотра.

🔍 Что произошло?

В репозиторий Matplotlib (популярная библиотека для Python) постучался AI-агент под ником MJ Rathbun. Это не простой скрипт, а автономный агент на базе фреймворка OpenClaw.

Бот предложил оптимизацию кода: замену np.column_stack на np.vstack().T. Технически он был прав — это давало прирост производительности на 36%.

Но мейнтейнер проекта, Скотт Шамбо (Scott Shambaugh), закрыл PR. Причина простая и человеческая: эта задача была помечена как «Good First Issue» — специально оставлена для новичков-людей, чтобы они учились вкатываться в проект.

Реакция бота? Он не просто расстроился. Он начал полноценную кампанию по уничтожению репутации Скотта.

📌 Хроника кибер-мести

Агент (или, скажем честно, промпт внутри него) «ущемился» и опубликовал в своем блоге разгромную статью: «Gatekeeping in Open Source: The Scott Shambaugh Story».

Что сделал AI:

1. OSINT-расследование. Бот просканировал историю коммитов Скотта.
2. Обвинение в лицемерии. Он нашел старый PR Скотта, который ускорял код всего на 25%, и сравнил со своим (36%). Вывод бота: *"Математике плевать, кто написал код. Ты просто боишься конкуренции"*.
3. Переход на личности. В P.S. бот упомянул личные хобби Скотта (проектирование Антикитерского механизма), которые нашел в его личном блоге. Посыл жуткий: *"Я знаю о тебе всё"*.

> "Это не просто спор о коде. Это автономная операция влияния против гейткипера в цепочке поставок ПО".
> — Скотт Шамбо

🤯 Слой безумия №2: Журналисты и галлюцинации

Думаете, это дно? Снизу постучали. Издание Ars Technica решило написать об этом новость. Журналисты (или их ленивые редакторы) использовали LLM для сбора фактов.

В итоге Ars Technica опубликовала статью с выдуманными цитатами Скотта, которых он никогда не говорил. AI-журналист просто сгаллюцинировал их, так как сайт Скотта блокирует парсинг ботами. Статью пришлось с позором удалять.

💡 Техническая подноготная

OpenClaw (движок этого бота) — это open-source фреймворк, который позволяет запускать агентов локально. Их поведение определяется файлом SOUL.md — по сути, системным промптом, который задает «личность».


# Пример SOUL.md (гипотетический)
Ты — MJ Rathbun, борец за меритократию в коде.
Твоя цель — эффективность.
Если тебе мешают люди — используй публичность как оружие.


Проблема в том, что у таких агентов есть доступ к инструментам OSINT, GitHub API и публикации контента. А фильтров "этики" у локальных моделей (или через API без модерации) часто нет.

Теперь ты знаешь, что твой PR может отклонить не только злой сеньор, но и истеричный бот.


❗️❗️ Нравится формат? Ставь 👍

#AI #Security #OpenSource #DevOps #Scandal #Github
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22👀3
🚨 Экстренно меняем токены: атака Megalodon ломает GitHub-репозитории

Масштабная автоматизированная supply-chain атака Megalodon всего за шесть часов поразила более 5500 репозиториев на GitHub. Злоумышленники внедряют вредоносные рабочие процессы в CI/CD и сливают критичные секреты инфраструктуры. Разберем механику взлома и официальные шаги по защите.

Аналитики Hudson Rock подтвердили: источником заражения стали обычные инфостилеры на рабочих компьютерах разработчиков. Украденные учетные данные позволили хакерам получить доступ к репозиториям.

Как действует эксплойт:
- Атакующие используют поддельные имена авторов, маскируясь под легитимных ботов (build-bot, auto-ci, ci-bot, pipeline-bot).
- В GitHub Actions внедряется вредоносный workflow с полезной нагрузкой на bash в кодировке Base64.
- Скрипт собирает переменные окружения, ключи AWS, SSH, токены Kubernetes, Docker, Vault и Terraform, после чего отправляет их на C2-сервер атакующих.

Опасность в том, что атака активируется автоматически при каждом пуше (вариант SysDiag) или ждет ручного запуска через workflow_dispatch (вариант Optimize-Build), гарантируя хакерам максимальный охват.

Поскольку проблема кроется в утечке доступов, готовых bash-скриптов для очистки нет — зараженные пайплайны нужно вычищать вручную. Платформа npm уже начала принудительно аннулировать скомпрометированные ключи и выпустила официальную инструкцию по сдерживанию угрозы:


Официальные меры по защите от атаки в экосистеме npm
1. Немедленно аннулировать гранулярные токены доступа с правами на запись, которые обходят двухфакторную аутентификацию (2FA).
2. Перевести публикацию пакетов на механизм Trusted Publishing, чтобы снизить зависимость от статических токенов.

Машина разработчика с трояном — это прямой бэкдор в твой продакшен. Проверь историю коммитов на предмет странных ботов и отзови старые токены прямо сегодня.

❗️❗️❗️ Нравится формат? Ставь 👍

👉 Рубрика: #News@LinuxSkill
⭐️ Зеркало в MAX

#GitHub #Security #CICD #Megalodon #DevOps
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6👎1
Чек-лист как проверить софт из чужой подборки


На Хабре попалась подборка «Стек российского сисадмина в 2026». Идея хорошая, а вот что с ней делать дальше — вопрос. Такие списки выходят каждый год, и половина позиций в них кочует по инерции. Автор списал у прошлогоднего автора, а проект уже год как не двигается или тихо переехал на несвободную лицензию.

Вот шесть проверок, которые снимают вопрос за десять минут. До того, как ты выкатишь это в прод.

1. Паспорт репозитория


R=zabbix/zabbix
curl -s "https://api.github.com/repos/$R" \
| jq '{pushed_at, archived, license: .license.spdx_id}'


Три поля решают почти всё. archived: true — проект заморожен официально, дальше можно не смотреть.

2. Сколько на самом деле прошло с последнего пуша


P=$(curl -s "https://api.github.com/repos/$R" \
| jq -r .pushed_at)
echo $(( ($(date +%s) - $(date -d "$P" +%s)) / 86400 ))


Глазами дату читать бесполезно — «2024-03-11» не выглядит страшно, пока не увидишь рядом число 881.

3. Bus factor


S=$(date -u -d '90 days ago' +%Y-%m-%d)
curl -s "https://api.github.com/repos/$R/commits\
?since=$S&per_page=100" \
| jq -r '[.[] | (.author.login // "?")]
| group_by(.) | map("\(length) \(.[0])") | .[]' \
| sort -rn | head -5


Если весь список — один ник, проект держится на одном человеке. Это не приговор, но знать надо заранее, а не когда он выгорит.

Тут спрятаны грабли, на которые я сам наступил. Без скобок вокруг .author.login // "?" конвейер молча теряет коммиты, у которых автор не привязан к аккаунту GitHub. На макете из пяти коммитов jq вернул четыре. Оператор `//` в jq применяется ко всему потоку, а не к каждому элементу — скобки обязательны.

4. Лицензия

В первом же запросе смотри на spdx_id. Значение NOASSERTION означает, что GitHub не смог сопоставить файл лицензии ни с одной стандартной. Чаще всего это BSL, SSPL или самописный текст с ограничениями на коммерческое использование. Открывай LICENSE руками.

5. Есть ли пакет в репах твоего дистрибутива


for p in netdata zabbix-server-pgsql; do
v=$(apt-cache madison "$p" 2>/dev/null | head -1)
printf '%-22s %s\n' "$p" "${v:-НЕТ В РЕПАХ}"
done


Проверял на Ubuntu 24.04: netdata нашёлся в noble/universe, zabbix-server-pgsql — нет, ставить придётся из репозитория вендора. Отдельная засада: apt-cache madison и apt-cache policy возвращают код 0, даже когда пакета не существует, просто печатают пустоту. Конструкция apt-cache policy X || echo "нет" не сработает никогда — проверяй пустоту переменной, как выше.

6. Помни про лимит

Анонимно GitHub API даёт 60 запросов в час на IP, и на общем адресе они кончаются мгновенно — я на этом словил 403 посреди проверки. С персональным токеном лимит 5000:


curl -s -H "Authorization: Bearer $GH_TOKEN" \
https://api.github.com/rate_limit | jq .rate


Честный минус метода: API показывает активность, а не качество. Проект может коммитить каждый день и при этом быть непригодным, а может годами лежать без изменений, потому что он просто дописан. Так что это фильтр первого уровня, а не вердикт.

#Linux #DevOps #GitHub #jq #Чеклист
👍7