linuxskill | Unsorted

Telegram-канал linuxskill - LinuxSkill - Сводки с прода и Шпаргалки

10723

Следим за новостями Linux, DevOps и ИБ, чтобы быть готовым к любым факапам. Бонусом — плотные шпаргалки и чеклисты для ежедневной работы в терминале. 📩 По всем вопросам: @chorapov Зеркало в MAX: https://max.ru/LinuxSkill РКН https://vk.cc/cMUwm4

Subscribe to a channel

LinuxSkill - Сводки с прода и Шпаргалки

❓ Собеседование системного администратора часть №2

🌐 Источник:
https://www.youtube.com/watch?v=dBme95EMMx0

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

❓ Собеседование системного администратора часть №1

🌐 Источник:
https://www.youtube.com/watch?v=r5dP3k9eP7E

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🧠 Запусти аудит зарубежных IP за 1 секунду на своем VPS

Привет, техноэнтузиаст!

Купил свежий VPS, но не уверен, куда с нее можно дотянуться? Это частая боль: если сервер уже под гео-ограничениями, он бесполезен для работы с зарубежным софтом, GitLab CI или просто для проверки YouTube/TikTok.

Показывать, куда есть доступ, а куда нет, нужно быстро, без установки лишних пакетов. Китайские умельцы давно создали скрипт, который делает это одной командой. Он проверяет доступность YouTube, TikTok, ChatGPT, Gmail и другие сервисы, а также выдает информацию о гео IP адресе виртуалки.

📌 Bash-ванлайнер для аудита VPS
Этот скрипт скачивает и запускает проверку, выводя результат прямо в консоль. Важно: Запускать его нужно на свежеарендованной VPS.

# Скачать и запустить проверку доступности зарубежных сервисов (YouTube, TikTok, ChatGPT и др.)
curl -sL https://check.foreign.services.sh | bash


Как это работает:
1. curl -sL скачивает скрипт (содержит набор пингов и DNS-запросов к актуальным зарубежным IP).
2. | bash передает его сразу на выполнение в Bash. Результат выводится мгновенно.

💡 Вывод
Теперь ты за секунду знаешь, можно ли использовать эту VPS для работы с гео-зависимыми сервисами. Если проверка пройдена, можешь смело приступать к настройке.

#Linux #Bash #DevOps #VPS #CLI #Security

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

Коллеги, вчера проводили учения по кибербезопасности. Сценарий провалился с треском. 95% сотрудников не открыли письмо «Вам повышают зарплату!», потому что сочли его нереалистичным. Горжусь вашим скептицизмом. Единственный, кто повёлся, — это гендир. Теперь он требует объяснить, почему это была учебная тревога, а не реальное предложение.
#linux_юмор #кибербезопасность

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🧠 Квиз: Проверь себя
❓ Какая команда позволяет быстро определить, какой именно юнит (служба) дольше всего замедляет запуск системы?

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

Не гугли — напиши в комментах 👇 #linux_вопрос

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🎥 Тестовое видео: Bash от команд до скриптов

Привет, хранитель команд!

Я тут нашел https://notebooklm.google.com. Короче в чем суть. Эта нейронка умеет работать только с теми источниками которые ты ей даешь и ссылается на них. Я закинул мануалы по bash и вот первое пробное видео. Что думаешь?

А завтра покажу аудио-подкаст.

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔥 Ускоряем MikroTik: Как Bridge + NAT дает 20% прироста скорости

Привет, техноэнтузиаст!
Хочешь выжать максимум из своего "железа" и получить быструю сеть для дома или малого офиса? Этот гайд покажет, как настроить ключевые службы MikroTik с нуля, чтобы получить скорость и безопасность без лишней головной боли
🌐 Источник: Территория электроники

#Linux_youtube #MikroTik #Настройка #Сети #Bridge #NAT #Оптимизация

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔧 20+ переменных Bash, которые ты точно не использовал

Привет, повелитель скриптов!

Видел скрипты, где пути и настройки вбиты намертво? А потом ломаешь голову, почему они не работают на другой машине. Bash уже всё придумал за тебя — используй зарезервированные переменные.

📂 Навигация и окружение
$DIRSTACK — Содержимое вершины стека каталогов
$OLDPWD — Прежний рабочий каталог
$PATH — Путь поиска программ
$HOME — Домашний каталог пользователя

👤 Информация о пользователе
$UID — Содержит реальный идентификатор, который устанавливается только при логине
$EUID — Эффективный UID. Если вы использовали программу su для выполнения команд от другого пользователя, то эта переменная содержит UID этого пользователя
$GROUPS — Массив групп к которым принадлежит текущий пользователь

🖥️ Информация о системе
$HOSTNAME — hostname машины
$HOSTTYPE — Архитектура машины
$OSTYPE — Тип ОС

⚙️ Работа со скриптами и функциями
$EDITOR — Текстовый редактор по-умолчанию
$FUNCNAME — Имя текущей функции в скрипте
$SECONDS — Время работы скрипта (в сек.)
$$ — PID самого скрипта
$PPID — Идентификатор родительского процесса
$! — PID последнего запущенного в фоне процесса
$? — Содержит код завершения последней команды

📝 Работа с параметрами
$# — Общее количество параметров переданных скрипту
$* — Все аргументы переданные скрипту (выводятся в строку)
$@ — Тоже самое, что и предыдущий, но параметры выводятся в столбик

🔍 Дополнительные переменные
$LC_CTYPE — Внутренняя переменная, которая определяет кодировку символов

🔖 Сохрани шпаргалку — пригодится в каждом скрипте!

#Linux_Mastery #bash #scripting #linux #automation #devops #sysadmin

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

❓ Что делает эта команда?

$ sudo adduser testuser
Adding user `testuser' ...
Adding new group `testuser' (1003) ...
Adding new user `testuser' (1003) with group `testuser' ...
Creating home directory `/home/testuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:


Не гугли — напиши в комментах 👇

#linux_вопрос #adduser

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

❓ Что делает эта команда?

for token in a b c; do
echo -n ${token};
done

Не гугли — напиши в комментах 👇

#linux #bash #вопрос

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

💥 SSH-туннель: доступ к закрытым портам за минуту

Привет, мастер удалённого доступа!

База данных спрятана за файрволом? Веб-приложение доступно только локально? Автор за 17 минут показывает полный цикл работы с SSH: от создания ключей до магии проброса портов!

🌐 Источник: https://youtu.be/

#Linux_youtube #ssh #security #tunnel #linux #networking

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

📉 Диагностика производительности в Linux: с чего начать?

Если top, iotop, perf, uptime и vmstat вызывают только лёгкую тревогу, а не понимание — это видео для тебя.

Разбираем, как анализировать ресурсы, собирать метрики, строить флеймграфы и не ловить фантомные баги при помощи методики Брендона Грега.

🌐 Источник: https://www.youtube.com/watch?v=bGqdRyXWPP0

#linux #performance #diagnostics #devops #monitoring

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔥 Fstab блокирует загрузку? Переходи на systemd

Привет, мастер монтирования!

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

👉 Показываю, как systemd заменяет fstab и почему это лучше

#Linux_Mastery #systemd #mount #linux #devops #storage

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

❓ Что делает эта команда?

adduser --disabled-login [OPTIONS] user


Не гугли — напиши в комментах 👇

#linux #bash #useradd #devops #вопрос

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

⚡ SS: находим атакующих за 30 секунд

Эй, ловец сетевых пакетов!

Netstat устарел, в новых дистрибутивах его нет. Пора привыкать к SS. Делюсь рабочими командами и трюком, как запомнить ключи через слово "тулуп".

Базовые команды SS

Все открытые порты (запомни как "тулуп"):

# ss -tulnp


Проверка unix-сокетов:
# ss -l | grep .sock


Все unix-сокеты (но вывод перегружен):
# ss -ax


Активные соединения

# ss -ntu


Поиск атакующих — практика

Подсчёт соединений с каждого IP:
# ss -ntuH | awk '{print $6}' | grep -vE 127.0.0.1 | \
cut -d: -f1 | sort | uniq -c | sort -n | sed 's/^[ \t]*//'


Только IP с более 30 соединениями:
# ss -ntuH | awk '{print $6}' | grep -vE 127.0.0.1 | \
cut -d: -f1 | sort | uniq -c | sort -n | sed 's/^[ \t]*//' | \
awk '{if ($1 > 30) print$2}'


Общее количество активных соединений:
# ss -ntuH | awk '{print $6}' | grep -vE 127.0.0.1 | wc -l


Все соединения (не только активные):
# ss -ntua


Применение на практике

Получил список подозрительных IP? Отправляй их в:
- fail2ban
- ipset
- nftables

И блокируй атакующих автоматически!

Минус SS: в узком терминале вывод расползается. Приходится разворачивать окно на весь экран, в отличие от компактного netstat.

Лайфхак: "tulnp" = "тулуп". Глупо звучит, но реально помогает запомнить ключи навсегда.

💡 Итог: SS неудобнее netstat визуально, но работает быстрее и есть везде по умолчанию. Пора переучиваться.
____________________

Дополнительный материал:
🧠 - От Knoppix до MX Linux: Путешествие Debian-базированных Дистрибутивов
🧠 - Управление файлами и каталогами как профи
🧠 - Ваш путеводитель по командам Adduser и Addgroup в Linux

#Linux_Mastery #linux #terminal #networking #security #ddos

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

Коллеги, вчера тестировали новую биометрическую защиту — датчик не узнаёт Никиту после обеда. До обеда — один человек, после плова — совсем другой.

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🧠 Секрет: как определить скрипт Linux?

Привет, повелитель терминала!

Все исполняемые сценарии (script) обычно начинаются с #! (Sha-bang). Проверь, является ли файл скриптом, используя head и этот фрагмент кода. Он основан на том, что команда head -c выводит заданное количество символов.


TESTCHARS=2
SHABANG='#!'
FILE="$1" # Берем имя файла из аргумента

# Проверяем первые 2 символа
if [[ $(head -c$TESTCHARS "$FILE") = "$SHABANG" ]]; then
echo "✅ Файл $FILE — сценарий."
fi

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

⚙️ Установка Ubuntu Server и CasaOS Пошаговое руководство

Привет, системный инженер!
Устал от сложной настройки базового Linux-сервера, когда тебе нужна простая и красивая панель управления? В этом гайде мы покажем, как быстро развернуть CasaOS на надежной базе Ubuntu Server для создания домашнего облака или мини-сервера с веб-интерфейсом.

🌐 Источник: https://www.youtube.com/watch?v=eTjIXKtSV94
#Linux #Ubuntu #Server #CasaOS #CLI #Sysadmin #Минигайд #DevOps

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔑 Уязвимость: Почему добавление в группу Docker равносильно sudo su -

Привет, цифровой архитектор!

Ты, вероятно, сталкивался с советом, как избавиться от постоянного ввода sudo при работе с Docker. Решение простое: добавить своего пользователя в группу docker. Удобно? Да. Но это одна из самых критических ошибок безопасности в Linux!

В этом посте разберем, почему добавлять пользователя в группу docker равносильно вручению ему полных прав root на хост-машине.

📌 Ошибка: Запуск Docker без sudo

Для удобства многие инженеры выполняют всего одну команду:

# Не делай так, если не понимаешь рисков!
sudo usermod -aG docker $(whoami)


С этого момента любой член группы docker может выполнять команды Docker. Но проблема в том, что Docker-демон по умолчанию работает от имени root.

🚨 Почему это критическая уязвимость?

Если пользователь может управлять Docker-демоном без ограничений, он может запустить контейнер, который способен:

1. Смонтировать корневую файловую систему хост-машины (например, /) в контейнер.
2. Получить полный доступ к /etc/shadow (теневой файл паролей) и другим критическим системным файлам.
3. Выполнить любую команду от имени root на хосте.

В результате, член группы docker может легко повысить свои привилегии до суперпользователя, полностью обходя систему sudo.

💡 Вывод: Практика, которая ломает всё

Использование группы docker ломает фундаментальный принцип изоляции привилегий в Linux. Удобство не стоит безопасности.

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

#Docker #Security #Linux #SysAdmin #DevOps

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔈 Аудио-подкаст: Bash от Азов до Грабель. Как писать надежные скрипты

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🧠 Квиз: Проверь себя
❓ Что является родоначальником всех процессов (PID 1) в современных дистрибутивах Linux (Debian, Fedora, Ubuntu)?

Не гугли — напиши в комментах 👇 #linux_вопрос

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

❓ Что делает эта команда?

$ apropos postfix


Не гугли — напиши в комментах 👇

#linux_вопрос #adduser

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔧 Забудь про Helper Scripts — настраиваем Proxmox вручную и понимаем каждый шаг

Привет, цифровой архитектор!
Устал от готовых скриптов, которые делают всё за тебя, но ты не понимаешь, что происходит? Этот свежий гайд Proxmox 8.3 — для тех, кто хочет разобраться в каждом шаге.

#Linux_youtube #proxmox #virtualization #homelab #linux #devops

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔥 Касперский ОС: будущее российской кибербезопасности или долгострой?

Эй, охотник за уязвимостями! Сегодня у нас необычный выпуск.

Немного разбавим поток пользы «таймкиллером». На повестке тема, которая уже вызывает споры: Касперский ОС. Для одних — филиал ФСБ и распил бюджета, для других — уникальная микроядерная архитектура и фундамент кибериммунитета.

🌐 Источник: https://www.youtube.com/watch?v=EaOc31KoFFI

#linux #os #kaspersky #security #architecture

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

💾 Потерял данные? Вот скрипт, который этого не допустит

Привет, хранитель данных!

Делаешь бэкапы вручную? Пора автоматизировать! Готовый bash-скрипт архивирует важные директории и отправляет на удалённый сервер. Настрой раз и спи спокойно.

Скрипт backup.sh

#!/bin/bash

backup_dirs=("/etc" "/home" "/boot")
dest_dir="/backup"
dest_server="server1"
backup_date=$(date +%b-%d-%y)

echo "Starting backup of: ${backup_dirs[@]}"

for i in "${backup_dirs[@]}"; do
sudo tar -Pczf /tmp/$i-$backup_date.tar.gz $i
if [ $? -eq 0 ]; then
echo "$i backup succeeded."
else
echo "$i backup failed."
fi
scp /tmp/$i-$backup_date.tar.gz $dest_server:$dest_dir
if [ $? -eq 0 ]; then
echo "$i transfer succeeded."
else
echo "$i transfer failed."
fi
done

sudo rm /tmp/*.gz
echo "Backup is done."


Как работает скрипт

Переменные:
- backup_dirs — массив директорий для бэкапа
- dest_dir — куда складывать на удалённом сервере
- dest_server — имя/IP целевого сервера
- backup_date — дата в имени архива

Процесс:
1. Архивирует каждую директорию в tar.gz
2. Отправляет по scp на удалённый сервер
3. Проверяет успешность каждого шага
4. Удаляет локальные временные архивы

Пример работы

kabary@handbook:~$ ./backup.sh
Starting backup of: /etc /home /boot
/etc backup succeeded.
etc-Aug-30-20.tar.gz 100% 1288KB 460.1KB/s 00:02
/etc transfer succeeded.
/home backup succeeded.
home-Aug-30-20.tar.gz 100% 2543KB 547.0KB/s 00:04
/home transfer succeeded.
/boot backup succeeded.
boot-Aug-30-20.tar.gz 100% 105MB 520.2KB/s 03:26
/boot transfer succeeded.
Backup is done.


Автоматизация через cron

Добавь в crontab для ежедневного запуска в 3 ночи:
0 3 * * * /home/user/backup.sh >> /var/log/backup.log 2>&1


💡 Совет: настрой SSH-ключи для scp без пароля, иначе скрипт не сработает в cron.

Результат: автоматические бэкапы критически важных данных каждую ночь. Никакой рутины, полная автоматизация.
____________________

Дополнительный материал:
🧠 - От первого контейнера до мощного Swarm: Путешествие Docker в мире DevOps
🧠 - Углубляемся в безопасность Linux: Специальные режимы и их мощь!
🧠 - Разгадываем тайны команды "Apropos": Ваш ключ к миру Linux Man Pages

#Linux_Mastery #bash #backup #automation #sysadmin #scripts

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

❓ Что делает эта команда?

$  cpulimit -l 30 dd if=/dev/zero of=/dev/null &


Не гугли — напиши в комментах 👇

#linux #cpulimit #вопрос

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

❓ Что делает эта команда?

ar [OPTIONS] archive_name member_files


Не гугли — напиши в комментах 👇

#linux #bash #useradd #devops #вопрос

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔧 Устанавливаем полноценный Linux на MacBook с M1

Можно ли жить на Linux, если у тебя MacBook с Apple Silicon?
Автор проверяет это вживую: Fedora AArch64, KDE, Steam, Docker, OBS — всё на голом железе без виртуалок.

👨‍💻 Что в видео:
— Установка Linux с нуля на Mac M1
— Автомонтирование, Steam, Docker, OBS
— Что работает, что нет (Thunderbolt, USB 4, Touch ID)
— Настройки для игр, DevOps и реального использования

🌐 Источник: https://www.youtube.com/live/riKVQjbO-nU?si=8bOjeM8RVXdX88A2

#linux #macbook #fedora #asahi #arm64 #devops

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔥 Как я ускорил поиск с 10 секунд до миллисекунд

Привет, цифровой архитектор!

Твой поиск по базе тормозит как трактор в болоте? Пользователи ждут результаты вечность, а ты не знаешь, как это починить? Сейчас покажу реальное решение.

📍 Таймкоды видео:
00:00 — Введение в Elasticsearch
02:05 — Почему обычный поиск тормозит
05:49 — Основные понятия: индексы, документы, запросы
07:09 — Установка через Docker
08:23 — Базовые команды GET, PUT, POST
10:51 — Добавление и обновление документов
14:19 — Настройка поиска и ранжирование
18:29 — Реальный пример: веб-приложение на Spring Boot
25:43 — Тестирование и результаты

🚀 Попробуй настроить у себя и сравни скорость!

🌐 Источник: https://youtu.be/vxE1aGTEnbE?si=1tTdg2QASMGfF6f_
____________________

Дополнительный материал:
🧠 - От простого до грандиозного: Путешествие Kubernetes в мире контейнеризации
🧠 - Linux Mastery: Управление разрешениями каталогов с помощью chmod
🧠 - Станьте мастером управления пользователями и группами в Linux с помощью команд adduser и addgroup

#Linux_youtube #Elasticsearch #DevOps #Search #Docker #Performance #Database

Читать полностью…

LinuxSkill - Сводки с прода и Шпаргалки

🔧 История команд исчезает? Вот решение

Привет, хранитель команд!

Бесит, когда нужная команда не сохранилась в history? На всех своих серверах первым делом настраиваю правильное хранение истории. Делюсь проверенными настройками для ~/.bashrc.

Мгновенное сохранение команд

PROMPT_COMMAND='history -a'

Команда сохраняется сразу после ввода, а не при выходе из сессии.

Метки времени для команд

export HISTTIMEFORMAT='%F %T '

Теперь видно когда выполнялась команда: 2024-09-25 16:39:30

Увеличение размера истории

export HISTSIZE=10000

Вместо дефолтных 500 команд — храним 10000. Хватает с запасом.

Исключение мусорных команд

export HISTIGNORE="ls:history:w:htop:pwd:top:iftop"

Эти команды не засоряют историю.

Пробел = команда не сохраняется

export HISTCONTROL=ignorespace

Поставил пробел перед командой — она не попадёт в историю.

Применение настроек

# source ~/.bashrc


Проверка параметров

# export | grep -i hist


Для всех пользователей

Создай файл /etc/profile.d/history.sh с этими настройками — применится для всех.

Поиск по истории

Быстрый поиск: Ctrl+R и начинай вводить команду. Повторное Ctrl+R — следующее совпадение.

Мой способ через grep:
# history | grep 'apt install'


⚠️ Опасный подвох HISTIGNORE

История из жизни: htop в исключениях → перезагрузил сервер командой reboot → зашёл обратно → запустил htop → закрыл → нажал стрелку вверх для повтора → там reboot (htop не сохранился!) → Enter на автомате → сервер ушёл в ребут 🤦

Мораль: осторожнее с исключениями и стрелкой вверх!

💡 Итог: правильная настройка history экономит часы при поиске той самой команды, которую вводил месяц назад.
____________________

Дополнительный материал:
🧠 - Btrfs: Революция Файловых Систем в Мире Linux
🧠 - Станьте мастером привилегий в Linux: Всё о sudo и su
🧠 - Docker Swarm & GitLab: Ускоряем Деплой Проектов с Шифрованием Секретов

#Linux_Mastery #linux #terminal #bash #productivity #sysadmin

Читать полностью…
Subscribe to a channel